🌐 hreflang 태그 생성기
베이스 URL과 대상 언어 선택만으로 <link rel="alternate" hreflang="..."> 태그 일괄 생성. x-default 자동, ISO 639 검증, CSV 다중 경로 처리.
🔒 개인정보 보호
- ・URL 서버 전송 없음
- ・브라우저 내 처리
- ・가입 · 로그인 · 결제 불필요
쉼표 구분. ISO 639-1 또는 + ISO 3166-1.
각 URL에 위 로케일 설정 적용.
📄 생성된 태그
📖 자주 걸리는 지점
베이스 URL 과 대응 로케일에서 <link rel="alternate" hreflang="…"> 를 생성합니다. 경로 앞 · 서브도메인 · 쿼리의 세 가지 URL 패턴과 x-default 의 자동 부여, CSV 에 의한 일괄 생성에 대응하며 처리는 브라우저 안에서 끝납니다. hreflang 은 검색 순위를 올리기 위한 요소가 아닙니다 — 같은 내용의 다른 언어판이 여기 있다고 신고하고 검색 엔진에 어느 판을 내게 할지를 도울 뿐인 것입니다.
| 사례 | 무슨 일이 일어나는가 | 어떻게 하면 되는가 |
|---|---|---|
| 상호 참조가 되지 않아 무시된다 | hreflang 은 그룹 전체가 서로를 가리키지 않으면 성립하지 않습니다 — 일본어판이 영어판을 가리켜도 영어판이 일본어판을 가리키지 않으면 Google 은 그 세트째 무시합니다. 나아가 놓치기 쉬운 것이 자기 자신에 대한 hreflang 도 필요하다는 점으로 일본어판 페이지에는 hreflang="ja" 로 자신을 가리키는 태그도 넣습니다. 실제로 가장 많은 실패는 한 페이지만 갱신하고 다른 언어판을 잊는 것입니다 — 새로운 언어를 추가했을 때 기존 전 페이지의 태그를 갱신해야 한다는 운용 부하가 이 구조의 본질적인 어려움입니다. |
생성한 태그의 세트를 전 언어판의 <head> 에 똑같은 내용으로 넣으세요 — 각 페이지에서 내용을 바꿀 필요는 없습니다. 구현으로는 페이지의 템플릿에서 언어 목록을 루프해 출력하는 것이 유일하게 제대로 된 방법입니다 — 손으로 쓰면 반드시 어딘가가 어긋납니다. 대규모 사이트에서는 HTML 이 아니라 sitemap.xml 에 쓰는 방식을 검토하세요 — <xhtml:link> 로 같은 정보를 표현할 수 있고 하나의 파일로 전 페이지분을 관리할 수 있으므로 갱신 누락이 구조적으로 일어나지 않습니다. 확인은 Search Console 의 국제 타기팅 리포트에서 실제로 인식되고 있는지를 보세요 — 리턴 태그가 없습니다 라고 나오면 그것이 상호 참조의 결락입니다. |
| 언어 코드의 서식이 틀렸다 | hreflang 의 값은 언어 또는 언어 + 지역이며 지역만 쓸 수는 없습니다 — hreflang="US" 는 무효입니다. 흔한 오류로는 en-UK(올바르게는 en-GB), zh 만으로 간체와 번체를 구별하려 하는 것, 밑줄 구분의 ja_JP(하이픈이 올바름) 등이 있습니다. 중국어는 특히 주의가 필요해서 간체와 번체는 zh-Hans / zh-Hant 라는 문자 체계의 코드로 구분해 씁니다 — zh-CN / zh-TW 도 쓸 수 있지만 이는 지역이므로 싱가포르나 말레이시아의 간체 이용자에게는 일치하지 않습니다. |
언어 코드는 ISO 639-1, 지역 코드는 ISO 3166-1 alpha-2, 구분은 하이픈입니다. 그리고 중요한 것은 지역을 붙일 필요가 있는지를 생각하는 것입니다 — hreflang="en" 은 영어 화자 전부에 일치하지만 hreflang="en-US" 는 미국에 있는 영어 화자만에 일치합니다. 나라마다 내용이나 가격이 다르지 않다면 지역은 붙이지 않는 편이 도달 범위가 넓어집니다. 지역을 붙이는 것은 통화 · 배송비 · 법 규제가 나라마다 다른 페이지로 한정하세요. 검증은 무료 hreflang 체커를 쓰는 것이 확실하지만 먼저 스스로 2 개 언어분의 HTML 을 나란히 놓고 서로를 가리키는지를 눈으로 확인하세요 — 대부분의 오류는 이 단계에서 발견됩니다. |
| canonical 과 모순되어 영어판이 인덱스되지 않는다 | hreflang 과 canonical 은 역할이 다른데도 혼동되기 쉽습니다. 각 언어판의 canonical 은 자기 자신을 가리켜야 합니다 — /en/about/ 의 canonical 을 /ja/about/ 로 하면 영어판은 일본어판의 복제이니 일본어판만 인덱스하라고 선언한 것이 되어 영어판은 검색 결과에서 사라집니다. 그 위에 hreflang 도 무시됩니다(canonical 이 다른 페이지를 가리키는 세트는 신뢰되지 않기 때문입니다). 다국어니까 정규화가 필요하겠지 라는 선의의 설정이 정반대의 결과를 낳는 전형적인 예입니다. |
각 언어판의 canonical 은 반드시 자기 자신으로 하세요. hreflang 이 다른 언어판의 존재를 전하고 canonical 이 이 페이지 자신이 정규판이라고 전합니다 — 이 둘은 병존해야 비로소 올바르게 기능합니다. canonical 을 써야 하는 것은 같은 언어 안에서 URL 이 중복되는 경우(끝 슬래시의 유무, 트래킹 파라미터가 붙은 URL, 인쇄용 페이지 등)뿐입니다. 구현했다면 Search Console 의 URL 검사에서 Google 이 선택한 표준 URL 을 확인하세요 — 여기가 자신의 의도와 다르다면 설정이 전달되지 않고 있다는 명확한 증거입니다. |
hreflang 을 넣으면 전 언어판이 인덱스된다는 것은 아닙니다. 번역이 얕거나 기계 번역을 그대로 내놓는 페이지는 hreflang 이 있어도 품질 평가에서 떨어집니다 — 이 사이트 자신도 2026 년 7 월에 포르투갈어와 독일어판을 폐지했습니다. 실태는 영어 페이지의 복제로 독자적인 가치가 없었기 때문이며 576 URL 을 301 리다이렉트로 정리했습니다. 언어판을 늘리기 전에 그 언어로 읽을 가치가 있는 내용이 되어 있는지를 확인하세요 — 얕은 번역을 대량으로 더하는 것은 사이트 전체의 평가에 있어서는 오히려 부채입니다. 구현 장소는 HTML 의 <link>, HTTP 응답 헤더, sitemap.xml 의 세 가지가 있고 어느 하나면 되며 병용해도 상관없지만 내용이 어긋나면 무시됩니다. PDF 처럼 <head> 를 갖지 않는 파일에는 HTTP 헤더의 Link: 를 쓰세요.
📖 사용법
-
1
베이스 URL 입력다국어화할 URL 입력.
-
2
로케일 지정대상 언어 코드 쉼표 구분.
-
3
태그 획득생성된 태그를 <head>에 붙여넣기.
❓ 자주 묻는 질문
x-default 필수?
hreflang 위치?
양방향 링크 필요?
🔗 관련 도구
🐛 이 도구에서 문제가 발생했나요?
무료 · 가입 불필요. 재현 절차만이라도 도움이 됩니다. 보고는 운영자에게 직접 전달되어 개선에 사용됩니다.
보고 감사합니다!
운영자에게 전달되었습니다. 개선에 사용됩니다.