Hreflang
Hreflang은 동일한 콘텐츠의 다국어 또는 다지역 버전이 존재할 때, 검색엔진에 각 페이지의 대상 언어와 지역을 알려주는 HTML 속성입니다.
Hreflang은 동일한 콘텐츠의 다국어 또는 다지역 버전이 존재할 때, 검색엔진에 각 페이지의 대상 언어와 지역을 알려주는 HTML 속성입니다.
왜 중요한가
다국어 웹사이트를 운영할 때 hreflang 태그가 없으면 검색엔진은 어떤 언어 버전을 어떤 사용자에게 보여줘야 할지 판단하기 어렵습니다. 그 결과 다음과 같은 문제가 발생합니다.
- 잘못된 언어 버전 노출: 한국어 사용자에게 영어 페이지가 검색 결과에 표시되거나, 그 반대 상황이 발생합니다.
- 중복 콘텐츠 판정: 내용이 유사한 다국어 페이지를 검색엔진이 중복 콘텐츠로 인식하여 일부 페이지가 색인에서 제외될 수 있습니다.
- 순위 불안정: 검색엔진이 언어 버전을 예측 불가능하게 교체하며 노출하면 순위 추적이 사실상 불가능해집니다.
2026년 현재 Google은 hreflang 신호를 "힌트"로 처리한다고 명시하고 있습니다. 즉 캐노니컬 태그, 사이트 구조, 콘텐츠 유사도 등 다른 신호와 종합적으로 판단하기 때문에 hreflang 태그만으로는 충분하지 않으며, 전체 국제 SEO 설정이 일관성 있게 구성되어야 합니다.
구현 방법
hreflang 태그는 세 가지 방식으로 구현할 수 있습니다.
- HTML
<link>태그 (가장 일반적)
각 페이지의 <head> 영역에 모든 언어 버전의 링크를 삽입합니다.
<head>
<link rel="alternate" hreflang="ko" href="https://example.com/ko/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />
</head>
- XML 사이트맵
페이지 수가 많을 때 적합합니다. 사이트맵 내에서 <xhtml:link> 요소를 사용합니다.
<url>
<loc>https://example.com/ko/page</loc>
<xhtml:link rel="alternate" hreflang="ko" href="https://example.com/ko/page" />
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />
</url>
- HTTP 헤더
PDF 등 HTML이 아닌 파일에 hreflang을 지정할 때 사용합니다.
Link: <https://example.com/ko/page>; rel="alternate"; hreflang="ko",
<https://example.com/en/page>; rel="alternate"; hreflang="en"
작성 규칙
- 언어 코드는 ISO 639-1 형식을 사용합니다:
ko,en,ja등 2자리 소문자 코드를 사용합니다. - 지역 코드는 ISO 3166-1 Alpha-2 형식을 사용합니다: 언어와 지역을 함께 지정할 때
en-US,en-GB,pt-BR처럼 하이픈으로 연결합니다. - 자기 참조 태그를 반드시 포함합니다: 한국어 페이지에는 자기 자신을 가리키는
hreflang="ko"태그도 포함해야 합니다. - x-default를 지정합니다: 사용자의 언어에 맞는 버전이 없을 때 보여줄 기본 페이지를
hreflang="x-default"로 설정합니다. 필수는 아니지만 Google에서 권장하는 사항입니다. - 양방향 참조가 필요합니다: A 페이지가 B 페이지를 참조하면, B 페이지도 반드시 A 페이지를 참조해야 합니다. 단방향 참조는 검색엔진이 무시합니다.
- 캐노니컬 URL과 일치시킵니다: hreflang 태그의
href값은 해당 페이지의 캐노니컬 URL과 동일해야 합니다.
자주 하는 실수
- 자기 참조 태그 누락: 국제 SEO 사이트의 약 16%가 자기 참조 hreflang 태그를 빠뜨리고 있으며, 이는 검색엔진이 해당 페이지의 언어를 정확히 파악하지 못하게 합니다.
- 잘못된 언어·지역 코드 사용:
kr(국가 코드)을 언어 코드로 사용하거나,en-UK대신en-GB를 써야 하는 곳에서 잘못 기재하는 경우가 빈번합니다. - 단방향 참조: 한쪽 페이지에서만 hreflang을 선언하고 반대쪽 페이지에서는 누락하면 검색엔진이 해당 신호를 무시합니다.
- 캐노니컬과 hreflang 불일치: hreflang이 가리키는 URL과 캐노니컬 태그가 가리키는 URL이 다르면 검색엔진에 상충하는 신호를 보내게 됩니다.
- 구현 방법 혼용: HTML 태그와 사이트맵 방식을 동시에 사용해도 기술적으로는 문제가 없지만, 유지보수가 어려워져 불일치가 발생할 확률이 높아집니다. 하나의 방식을 선택하여 일관되게 적용하는 것이 안전합니다.