OneWebDesk

hreflang 태그 생성기

다국어 페이지용 hreflang link 태그를 생성합니다.

여러 언어·지역으로 같은 콘텐츠를 제공한다면, 검색엔진에 “이 페이지의 다른 언어 버전은 여기”라고 알려주는 hreflang 태그가 필요합니다. 이 생성기는 언어 코드와 해당 URL을 행으로 입력하면, 페이지 <head>에 그대로 붙여넣을 수 있는 <link rel="alternate"> 묶음을 만들어 줍니다.

모든 입력은 브라우저 안에서만 처리되며 어떤 서버로도 전송되지 않습니다. x-default 행을 더해 언어가 매칭되지 않는 방문자에게 보여줄 기본 페이지도 지정할 수 있고, 같은 코드를 두 번 넣으면 경고로 알려 줍니다.

코드와 URL을 한 행 이상 입력하면 hreflang 태그가 생성됩니다.

hreflang은 무엇이고 언제 쓰나

hreflang은 같은 콘텐츠의 언어·지역별 대체 버전을 검색엔진에 안내하는 속성입니다. 한국어 사용자에게는 한국어 페이지를, 미국 영어 사용자에게는 en-US 페이지를 노출하도록 도와 중복 콘텐츠 문제를 줄이고 현지화된 결과를 제공합니다. 값은 ISO 639-1 언어 코드 단독(ko, en, ja) 또는 언어-지역 형식(en-US, pt-BR, zh-Hant)을 씁니다.

상호 참조(reciprocal)는 필수

hreflang의 가장 중요한 규칙은 상호 참조입니다. A 페이지가 B를 대체 버전으로 가리킨다면 B 페이지도 반드시 A(그리고 자기 자신 포함 전체 묶음)를 가리켜야 합니다. 한쪽만 선언하면 검색엔진은 그 hreflang 묶음 전체를 신뢰하지 않고 무시합니다. 실무에서는 모든 언어 버전이 동일한 hreflang 묶음을 공유하도록 하는 것이 가장 안전합니다. 즉 각 페이지의 <head>에 다음을 모두 넣습니다.

  • 자기 자신을 포함한 모든 언어 버전의 hreflang 링크
  • (선택) x-default 링크 하나

x-default와 절대 URL 권장

x-default는 어떤 언어·지역에도 명시적으로 매칭되지 않는 방문자에게 보여줄 기본 페이지를 뜻합니다. 보통 언어 선택 화면이나 글로벌 영문 페이지를 지정합니다. 필수는 아니지만 매칭되지 않는 사용자 경험을 통제할 수 있어 권장됩니다.

href에는 항상 절대 URL(https://로 시작하는 정규 주소)을 쓰세요. 상대 경로는 hreflang에서 정상 동작하지 않으며, 각 URL은 해당 페이지의 canonical(정규) URL과 일치해야 합니다. 프로토콜·도메인·끝 슬래시까지 정확히 맞추는 것이 좋습니다.

  1. 각 언어·지역마다 코드와 절대 URL을 한 행씩 입력합니다.
  2. 필요하면 x-default 행을 추가해 기본 페이지를 지정합니다.
  3. 생성된 <link> 묶음을 복사해 모든 언어 버전의 <head>에 동일하게 넣습니다.

삽입 후에는 SEO 메타 태그 점검으로 각 페이지의 canonical과 hreflang이 실제 HTML에 의도대로 들어갔는지 확인하세요.

자주 헷갈리는 코드 — 올바른 값 vs 흔한 오류

hreflang 값은 언어는 ISO 639-1, 지역은 ISO 3166-1 alpha-2를 따릅니다. 가장 많이 틀리는 부분은 “나라 이름”을 코드로 착각하는 경우입니다. 영국 영어는 en-UK가 아니라 en-GB이고, 중국어는 단순 지역이 아니라 표기 체계(간체/번체) 기준이 더 정확합니다.

목적올바른 값흔한 오류
한국어ko 또는 ko-KRkr (kr은 언어가 아닌 국가)
영국 영어en-GBen-UK (UK는 ISO 코드 아님)
미국 영어en-US 또는 enus, en_US (밑줄 금지)
중국어(간체)zh-Hans 또는 zh-CNcn, zh-Hans-CN 혼용
중국어(번체)zh-Hant 또는 zh-TWtw, zh-Traditional
브라질 포르투갈어pt-BRbr, pt-BZ
언어 무관 기본x-defaultdefault, xdefault

실제 예시 — 3개 언어 사이트

한국어·미국 영어·일본어 3개 버전과 언어 선택 페이지가 있다고 하면, 다음 4개 행을 입력합니다:kohttps://example.com/ko/, en-US https://example.com/en/, jahttps://example.com/ja/, x-defaulthttps://example.com/. 그러면 아래와 같은 묶음이 생성됩니다.

<link rel="alternate" hreflang="ko" href="https://example.com/ko/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/en/" />
<link rel="alternate" hreflang="ja" href="https://example.com/ja/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />

핵심은 이 똑같은 4줄/ko/, /en/, /ja/ 세 페이지의 <head>에 모두 그대로 넣는다는 점입니다. 페이지마다 자기 행만 넣으면 상호 참조가 깨집니다.

흔한 실수 / 함정

  • 국가 코드를 언어 코드로 착각: 한국어는 ko이지 kr이 아니고, 영국 영어는en-GB이지 en-UK가 아닙니다. 잘못된 코드는 통째로 무시됩니다.
  • 구분자에 밑줄 사용: 언어-지역은 하이픈(en-US)으로만 연결합니다. en_US처럼 밑줄을 쓰면 유효하지 않습니다.
  • 리디렉트·noindex 페이지를 href로 지정: hreflang가 가리키는 URL은 200을 반환하는 색인 가능한 canonical이어야 합니다. 301로 빠지거나 noindex인 URL을 넣으면 그 행은 신뢰받지 못합니다.

자주 묻는 질문

hreflang 코드는 어떻게 적나요?
언어만 지정하려면 ISO 639-1 코드(ko, en, ja)를, 지역까지 구분하려면 언어-지역 형식(en-US, pt-BR)을 씁니다. 대소문자는 무시되지만 관례상 언어는 소문자, 지역은 대문자로 적습니다.
x-default는 꼭 넣어야 하나요?
필수는 아닙니다. 다만 사용자의 언어·지역이 어떤 행과도 매칭되지 않을 때 보여줄 기본 페이지를 지정할 수 있어 권장됩니다. 보통 언어 선택 페이지나 글로벌 영문 페이지를 사용합니다.
왜 모든 페이지가 같은 묶음을 공유해야 하나요?
hreflang은 상호 참조가 원칙입니다. 각 페이지가 자기 자신을 포함한 전체 대체 버전을 똑같이 선언해야 검색엔진이 묶음을 신뢰합니다. 한쪽만 선언하면 무시될 수 있습니다.
상대 경로를 써도 되나요?
권장하지 않습니다. href에는 항상 https로 시작하는 절대 URL을 쓰고, 각 페이지의 canonical URL과 정확히 일치시키세요.
입력한 URL이 서버로 전송되나요?
아니요. 태그 생성은 전부 브라우저에서만 처리되며 어떤 데이터도 외부로 전송되지 않습니다.

관련 가이드

관련 도구

SEO / 색인