hreflang이란? 작성법, 규칙, 흔한 실수까지 쉽게 정리
hreflang 태그가 무엇인지, 다국어 사이트에 왜 필요한지, 정확한 작성법, x-default, canonical과의 관계, 그리고 Google이 무시하게 만드는 실수를 설명합니다.
업데이트 2026년 9월 24일 · 4분 분량
사이트는 번역되어 있고 모든 언어가 잘 열립니다. 그런데 Google은 영어권 방문자를 한국어 페이지로 보내거나, 한 가지 언어만 색인합니다. 대부분의 원인은 hreflang이 없거나 잘못된 것입니다.
이 가이드에서는 hreflang의 역할과 규칙, 그리고 Google이 무시하게 만드는 실수를 다룹니다. 읽으면서 내 사이트를 확인해 보려면 무료 다국어 SEO 검사기를 사용하세요.
hreflang이란
hreflang은 <link> 태그의 속성으로, 검색 엔진에 "이 페이지는 다른 언어로도 있고, 주소는 이것입니다"라고 알려 줍니다. 그러면 Google은 검색하는 사람에게 그 사람의 언어 버전을 보여 주고, 버전들을 서로 경쟁하는 페이지가 아니라 하나의 묶음으로 취급합니다.
각 언어 버전의 <head>에 넣는 전형적인 블록은 다음과 같습니다.
<link rel="alternate" hreflang="ko" href="https://example.com/pricing/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="ja" href="https://example.com/ja/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing/" />
hreflang은 강한 신호이지 명령이 아닙니다. 규칙 하나만 틀려도 무시됩니다.
왜 중요한가
hreflang이 없으면 보통 세 가지 일이 생깁니다.
- 검색 결과에 엉뚱한 언어가 나옵니다. 미국 방문자가 한국어 페이지에 들어왔다가 이해하지 못하고 떠납니다.
- 버전들이 하나로 묶입니다. Google이 거의 같은 페이지를 묶어 하나만 보여 주면서 다른 언어는 노출이 줄어듭니다.
- 새 시장에서 보이지 않습니다. 설정을 제대로 한 경쟁사가 여러분이 번역으로 노린 순위를 가져갑니다.
규칙
상호 참조
영어 페이지가 한국어 페이지를 가리키면 한국어 페이지도 영어 페이지를 다시 가리켜야 합니다. 그렇지 않으면 Google은 그 쌍을 버립니다. 가장 쉬운 방법은 모든 버전에 같은 블록을 출력하는 것입니다.
전체 URL
항상 프로토콜과 호스트를 포함한 전체 URL을 쓰세요. /en/이 아니라 https://example.com/en/입니다. https와 www를 포함해 실제 URL과 정확히 같아야 합니다.
자기 참조
각 페이지는 블록에 자기 자신도 포함합니다. 한국어 페이지는 자신의 URL을 가리키는 hreflang="ko"를 적습니다.
올바른 ISO 코드
언어는 ISO 639-1 코드(ko, en, ja)이고, 필요하면 하이픈과 ISO 3166-1 지역(en-US, zh-TW)을 붙입니다. 지역만 쓰는 것은 유효하지 않습니다. 가장 흔한 실수는 다음과 같습니다.
| 틀림 | 맞음 |
|---|---|
kr | ko (kr은 국가 코드) |
en-UK | en-GB |
jp | ja |
cn | zh 또는 zh-CN |
ko_KR | ko-KR (밑줄이 아니라 하이픈) |
코드가 틀리면 그 태그는 무시됩니다. 국내 사이트에서는 kr 실수가 특히 많습니다.
x-default
x-default는 검색하는 사람의 언어가 어느 언어와도 맞지 않을 때 보여 줄 페이지를 Google에 알려 줍니다. 꼭 필요하진 않지만, 없으면 Google이 추측합니다. 다른 항목처럼 모든 언어 버전의 블록에 추가하세요.
hreflang을 넣는 세 가지 방법
- HTML
<head>안. 가장 흔하고 확인하기 쉬운 방법입니다. - XML 사이트맵 안. 각
<url>에xhtml:link요소로 대체 페이지를 나열합니다. 모든 것이 한 파일에 있어 대규모 사이트에 유용합니다. - HTTP
Link헤더.<head>가 없는 PDF 같은 비 HTML 파일용입니다.
한 가지 방법을 고르세요. 섞어 써도 되지만 내용이 다르면 신호가 충돌합니다.
hreflang과 canonical
대부분의 다국어 사이트가 여기서 문제가 생깁니다. canonical은 "이 페이지의 대표 URL은 이것"이라고 말하고, hreflang은 "이 다른 URL들이 다른 언어로 된 같은 페이지"라고 말합니다. 서로 다른 질문에 답하는 것입니다.
규칙: 각 언어 버전의 canonical은 자기 자신을 가리킨다.
<!-- https://example.com/en/pricing/ 에서 -->
<link rel="canonical" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="ko" href="https://example.com/pricing/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing/" />
영어 페이지의 canonical이 한국어 페이지를 가리키면, Google은 영어 페이지를 중복으로 보고 canonical을 따르며 hreflang을 무시합니다. 번역은 중복 콘텐츠가 아니므로 언어를 넘나드는 canonical은 아무것도 지켜 주지 않습니다.
html lang도 잊지 마세요
<html lang="ko"> 속성은 페이지 자체의 언어를 선언합니다. hreflang을 대신하지는 않지만, 블록에서 그 페이지에 쓰는 코드와 일치해야 합니다. 영어 페이지인데 lang="ko"라고 되어 있으면 엇갈린 신호를 보냅니다.
흔한 실수
- 일부 언어 쌍에서 되돌아오는 링크가 없습니다.
- 상대 URL, 또는 리디렉션되거나 404를 반환하는 URL을 씁니다.
- 모든 번역 페이지의 canonical이 원본 언어를 가리킵니다.
- 모든 언어가 하나의 URL을 쓰는 사이트(JavaScript나
?lang=으로 전환)에 hreflang을 붙입니다. 가리킬 실제 페이지가 없습니다.
hreflang 확인 방법
번역된 페이지를 열고 소스 보기(Ctrl+U 또는 Cmd+Option+U)에서 hreflang과 canonical을 검색하세요. 그다음 목록의 URL 하나를 열어 다시 링크하는지 확인합니다.
몇 페이지만 넘어도 느려집니다. 더 빠른 방법은 무료 다국어 SEO 검사기에 페이지를 넣는 것입니다. head, HTTP 헤더, 사이트맵의 hreflang(코드, 전체 URL, 자기 참조, x-default, 중복)을 검증하고, html lang과 비교하고, canonical을 확인하며, 최대 6개의 번역 버전을 열어 잘 열리는지, 다시 링크하는지, 언어를 선언하는지 확인합니다. hreflang 외의 항목은 다국어 SEO 점검 체크리스트를 보세요.
Lantis가 hreflang을 처리하는 방식
4개 언어, 50페이지 사이트에 hreflang을 직접 쓰면 수백 개의 태그를 계속 맞춰야 합니다. Lantis는 각 언어를 전용 URL(/en/ 같은 하위 폴더)로 제공하고, 모든 언어의 hreflang과 x-default, 올바른 html lang, 자기 참조 canonical을 자동으로 추가합니다. Framer, Webflow, WordPress, Shopify 등 코드 한 줄로 어떤 사이트에서든 작동합니다. 번역은 AI가 하며 비주얼 에디터와 용어집이 있습니다.
요금은 언어당 월 €3부터(2개 언어부터 €2.50, 10개부터 €2)이며, 처음 100건의 번역은 카드 없이 무료입니다. Framer에서는 Lantis 플러그인을 설치하세요. 단계별 가이드는 Framer와 Webflow에 있습니다.
자주 묻는 질문
hreflang은 순위 요소인가요?
직접적인 요소는 아닙니다. 검색하는 사람에게 어떤 언어 버전을 보여 줄지 결정해, 각 시장에서 클릭을 늘리고 버전이 하나로 묶이는 것을 막아 줍니다.
x-default가 꼭 필요한가요?
강력히 권장됩니다. 없으면 Google이 지원하지 않는 언어의 사람에게 무엇을 보여 줄지 추측해야 합니다. 주 언어나 언어 선택 페이지를 가리키게 하세요.
ko-KR과 ko 중 무엇을 써야 하나요?
한국어 버전이 하나뿐이라면 ko면 충분합니다. ko-KR 같은 지역 코드는 국가별로 다른 버전(가격이나 표기가 다름)이 있을 때만 쓰세요.
다른 언어로 보기 English · Français · Deutsch · Italiano · Português · हिन्दी · Русский · 日本語 · Türkçe · Bahasa Indonesia · العربية