국제 SEO 완전 가이드: hreflang 설정으로 다국어 사이트 검색 최적화하기

hreflang 태그를 올바르게 구현해 한국어·영어·일본어 사용자에게 맞는 페이지를 노출하고 다국어 사이트의 검색 트래픽을 극대화하는 방법을 안내합니다.

공식 참고 자료

다음 실행

실행 기준 요약

먼저 볼 것hreflang 태그를 올바르게 구현해 한국어·영어·일본어 사용자에게 맞는 페이지를 노출하고 다국어 사이트의 검색 트래픽을 극대화하는 방법을 안내합니다.
발행 전 점검국제 SEO, hreflang 설정, 다국어 SEO
다음 학습SEO 콘텐츠 최적화 허브

발행 전 체크리스트

발행일: 2026-05-08 · 분야: guide · 읽는 시간: 11분

핵심 개요

한국 시장만으로는 성장에 한계가 있다고 느끼셨나요? 글로벌 진출을 준비하는 기업이라면 국제 SEO, 그 중에서도 hreflang 태그 설정이 핵심입니다. hreflang은 구글에게 '이 페이지는 한국어 사용자용이고, 저 페이지는 영어 사용자용이다'라고 명확히 알려주는 HTML 속성입니다. 이 설정 없이 다국어 콘텐츠를 발행하면 구글이 어떤 언어 버전을 어느 국가 사용자에게 보여줘야 할지 혼란스러워하고, 결국 잘못된 버전이 노출되거나 중복 콘텐츠 패널티를 받을 수 있습니다. 실제로 다국어 사이트를 운영하는 기업의 40% 이상이 hreflang 오류를 안고 있다는 Ahrefs 조사 결과가 있습니다. 이 가이드는 hreflang의 기본 개념부터 복잡한 다국가·다언어 조합 설정, 흔한 실수와 검증 방법까지 체계적으로 다룹니다. 개발 리소스 없이도 구현할 수 있는 방법도 포함하고 있으니, 단계별로 따라 하면서 여러분의 사이트에 적용해 보세요. 실전에 바로 쓸 수 있는 글자수 세기과 해시태그 믹서을 활용하면 이 가이드의 내용을 더욱 빠르게 적용할 수 있습니다.

hreflang이란 무엇이고 언제 필요한가

hreflang은 HTML <head 섹션에 추가하는 link 태그로, 동일한 콘텐츠의 다른 언어 또는 지역 버전이 존재함을 검색엔진에 알립니다. 형식은 <link rel='alternate' hreflang='ko' href='https://example.com/ko/page/' 입니다. 언어 코드는 ISO 6391 표준(en, ko, ja, zh 등)을 사용하고, 국가 코드는 ISO 31661 알파2(KR, US, JP, CN 등)를 씁니다. hreflang이 필요한 상황은 세 가지입니다. 첫째, 같은 언어지만 지역이 다른 경우(영국 영어 vs 미국 영어: enGB vs enUS). 둘째, 완전히 다른 언어 버전이 있는 경우(한국어 vs 영어). 셋째, 특정 국가만 타겟하는 경우(한국어이지만 한국 거주자만 보여주고 싶을 때: koKR). 단순히 한국어 사이트만 운영한다면 hreflang이 불필요합니다. 그러나 영어, 일본어, 중국어 등 다국어 콘텐츠를 발행한다면 반드시 설정해야 합니다. 또한 xdefault라는 특수 값을 사용하면 언어 설정이 맞지 않는 사용자에게 보여줄 기본 페이지를 지정할 수 있습니다. 예를 들어 한국어와 영어만 있는 사이트에서 일본어 사용자가 방문했을 때 기본적으로 영어 버전을 보여주고 싶다면, 영어 페이지에 hreflang='xdefault'를 추가합니다.

hreflang 구현 방법 세 가지: HTML, HTTP 헤더, 사이트맵

hreflang을 구현하는 방법은 세 가지입니다. 가장 일반적인 방법은 HTML <head에 직접 태그를 삽입하는 것입니다. 이 방법은 모든 사이트 유형에서 작동하지만 페이지마다 모든 언어 버전의 링크를 포함해야 합니다. 즉, 한국어 페이지에도 영어 페이지 링크를, 영어 페이지에도 한국어 페이지 링크를 포함해야 합니다. 이를 '쌍방향 연결(bidirectional linking)'이라고 하며, 한쪽만 설정하면 구글이 신뢰하지 않습니다. 두 번째 방법은 HTTP 응답 헤더에 Link 헤더를 추가하는 것으로, PDF나 이미지처럼 HTML <head가 없는 파일에 유용합니다. 세 번째 방법은 XML 사이트맵에 hreflang을 포함하는 것으로, 대규모 사이트에서 선호됩니다. 사이트맵 방식은 HTML을 수정하지 않아도 되어 구현이 편리하지만, 사이트맵이 최신 상태를 유지해야 합니다. WordPress에서는 Yoast SEO Premium이나 WPML 플러그인이 자동으로 hreflang을 처리합니다. Next.js 같은 현대적인 프레임워크를 쓴다면 nexti18next 라이브러리와 함께 Head 컴포넌트에서 동적으로 생성할 수 있습니다.

국가와 언어 코드 조합: 올바른 사용법

hreflang 값을 설정할 때 언어 코드만 쓸지, 언어+국가 코드를 쓸지 결정해야 합니다. 언어 코드만 쓰면(예: hreflang='ko') 전 세계 한국어 사용자에게 노출됩니다. 언어+국가 코드를 쓰면(예: hreflang='koKR') 한국에 있는 한국어 사용자에게만 노출됩니다. 일반적인 권장 사항은 지역별로 가격, 통화, 프로모션이 다르다면 언어+국가 조합을 쓰고, 언어만 다르고 내용은 동일하다면 언어 코드만 사용하는 것입니다. 자주 혼동하는 사례를 정리합니다. 중국어는 zhCN(간체, 중국 대륙), zhTW(번체, 대만), zhHK(번체, 홍콩)으로 나뉩니다. 스페인어는 es(일반), esES(스페인), esMX(멕시코), esAR(아르헨티나) 등 국가별로 다를 수 있습니다. 영어는 enUS(미국), enGB(영국), enAU(호주)로 구분하면 각 국가 사용자에게 적합한 버전을 보여줄 수 있습니다. 언어 코드는 소문자, 국가 코드는 대문자로 쓰는 것이 관례이지만, 구글은 대소문자를 구분하지 않습니다. 잘못된 언어/국가 코드를 사용하면 구글이 해당 hreflang을 무시하므로, ISO 표준 코드를 반드시 확인하세요.

hreflang 설정의 흔한 실수와 해결법

hreflang 오류는 매우 흔합니다. Ahrefs가 분석한 사이트 중 다국어 사이트의 절반 이상이 적어도 하나의 hreflang 오류를 가지고 있었습니다. 가장 흔한 실수를 살펴보겠습니다. 첫째, 쌍방향 연결 누락입니다. A 페이지에서 B를 가리키지만 B 페이지에서 A를 가리키지 않으면 구글이 이 관계를 신뢰하지 않습니다. 모든 페이지가 서로를 참조해야 합니다. 둘째, 자기 자신을 포함하지 않는 오류입니다. 한국어 페이지에서는 한국어 페이지 자신도 hreflang 목록에 포함해야 합니다. 셋째, 리디렉션 URL 사용입니다. hreflang에는 최종 도착 URL을 써야 하며, 리디렉션을 통하는 URL은 사용하면 안 됩니다. 넷째, 잘못된 URL 형식입니다. 상대 경로(/ko/page/)가 아닌 절대 URL(https://example.com/ko/page/)을 사용해야 합니다. 다섯째, canonical과 충돌입니다. hreflang으로 지정한 URL이 canonical 태그와 일치해야 합니다. 만약 hreflang이 /ko/page/를 가리키는데 canonical이 /page/?lang=ko를 가리킨다면 구글이 혼란스러워합니다. 이런 오류들은 Screaming Frog의 hreflang 탭이나 Ahrefs의 사이트 감사 기능으로 쉽게 찾을 수 있습니다.

다국어 URL 구조 전략: 서브도메인 vs 서브디렉토리 vs ccTLD

hreflang 설정 전에 다국어 URL 구조를 먼저 결정해야 합니다. 세 가지 옵션이 있습니다. 첫째, 국가 코드 최상위 도메인(ccTLD)으로 kr.example.com 대신 example.kr을 사용하는 방식입니다. 가장 명확한 지역화 신호를 보내지만, 각 도메인마다 별도의 링크 권위를 쌓아야 해서 비용과 노력이 배가됩니다. 둘째, 서브도메인 방식(ko.example.com, en.example.com)입니다. 구현이 비교적 쉽지만, 구글이 서브도메인을 별개 사이트로 인식해 링크 권위가 분산됩니다. 셋째, 서브디렉토리 방식(example.com/ko/, example.com/en/)입니다. 구글이 공식 권장하는 방식으로, 메인 도메인의 링크 권위를 공유할 수 있어 SEO 관점에서 가장 유리합니다. 스타트업이나 중소기업이라면 서브디렉토리 방식을 선택하는 것이 현실적입니다. 이미 ccTLD나 서브도메인을 사용 중이라면 마이그레이션 비용이 크므로 현재 구조에서 hreflang을 최적화하는 것이 현명합니다. URL 구조를 결정했다면 모든 다국어 페이지에서 일관성을 유지하세요. 일부는 서브디렉토리, 일부는 파라미터를 사용하면 hreflang 관리가 매우 복잡해집니다.

hreflang 검증 도구와 성과 측정 방법

hreflang 설정을 완료했다면 반드시 검증해야 합니다. Google Search Console에서 '국제 타겟팅' 보고서를 확인하면 hreflang 오류 목록을 볼 수 있습니다. '언어 코드 값이 잘못됨', '반환 태그가 없음' 같은 오류 유형별로 영향받는 페이지를 확인하고 수정하세요. 무료 도구로는 hreflang.org의 검사 도구가 편리합니다. URL을 입력하면 hreflang 태그가 올바르게 구성되었는지, 쌍방향 연결이 되어 있는지 즉시 확인해줍니다. Screaming Frog를 사용하면 사이트 전체를 크롤링해서 모든 hreflang 오류를 일괄 확인할 수 있습니다. 성과를 측정하려면 Google Analytics 4에서 국가별 세션 데이터를 모니터링하세요. 목표는 각 국가 사용자가 자신의 언어 버전 페이지에서 더 낮은 이탈률과 더 높은 전환율을 보이는 것입니다. hreflang을 올바르게 설정하면 보통 23개월 후부터 타겟 국가의 유기 검색 트래픽이 증가하기 시작합니다. 또한 서치 콘솔에서 각 국가별 노출 수와 클릭 수를 국가 필터로 분리해서 추적하면 다국어 SEO 성과를 정확하게 측정할 수 있습니다.

마무리

hreflang 설정은 복잡해 보이지만 원칙만 이해하면 체계적으로 구현할 수 있습니다. 올바른 언어·국가 코드 사용, 쌍방향 연결, canonical과의 일관성 유지가 핵심입니다. 글로벌 시장 진출을 계획하고 있다면 URL 구조 결정부터 시작하고, 이미 다국어 사이트를 운영 중이라면 Google Search Console의 국제 타겟팅 보고서에서 기존 오류부터 확인하세요. hreflang 하나만 제대로 설정해도 타겟 국가에서의 검색 가시성이 눈에 띄게 향상됩니다. 지금 당장 서치 콘솔 국제 타겟팅 탭을 열어보는 것부터 시작하세요.

자주 묻는 질문

hreflang이 없으면 어떤 문제가 생기나요?

hreflang 없이 다국어 콘텐츠를 운영하면 구글이 잘못된 언어 버전을 잘못된 국가 사용자에게 보여줄 수 있습니다. 예를 들어 한국어 페이지가 영어권 사용자 검색 결과에 나타나거나, 영어 페이지와 한국어 페이지가 서로 중복 콘텐츠로 인식되어 검색 순위가 하락할 수 있습니다. 다국어 사이트라면 반드시 설정해야 합니다.

hreflang 설정 후 효과가 나타나는 데 얼마나 걸리나요?

구글이 hreflang 태그를 처리하는 데 보통 2주~1개월이 걸립니다. 그 이후 실제 검색 순위 변화가 나타나기까지는 2~3개월을 더 기다려야 할 수 있습니다. Search Console의 국제 타겟팅 보고서에서 오류가 없어지는 것을 확인하면 구글이 설정을 인식했다는 신호입니다. 효과를 빠르게 확인하려면 Analytics에서 국가별 유기 트래픽 변화를 추적하세요.

언어만 다르고 내용이 거의 같으면 중복 콘텐츠 패널티를 받나요?

같은 언어로 된 거의 동일한 내용이면 중복 콘텐츠 문제가 생길 수 있지만, 서로 다른 언어로 된 번역 콘텐츠는 중복 콘텐츠로 취급하지 않습니다. 구글은 번역 콘텐츠를 별개의 것으로 인식합니다. 단, hreflang으로 각 언어 버전을 명확히 연결해야 구글이 이를 제대로 파악할 수 있습니다. 기계 번역(Google Translate 등)만으로 만든 저품질 번역은 피하는 것이 좋습니다.

네이버에서도 hreflang이 적용되나요?

네이버는 hreflang을 공식적으로 지원하지 않습니다. 네이버는 주로 .kr 도메인과 한국어 콘텐츠를 기준으로 국내 사용자에게 결과를 보여줍니다. 한국 시장만 타겟한다면 hreflang보다 네이버 서치어드바이저 등록, 한국어 콘텐츠 품질 개선, 한국 로컬 링크 빌딩에 집중하는 것이 더 효과적입니다. hreflang은 구글과 빙(Bing) 중심의 글로벌 SEO 전략에 해당합니다.

Next.js나 React 앱에서 hreflang을 쉽게 구현할 수 있나요?

네, Next.js에서는 next/head 컴포넌트나 nextseo 라이브러리를 사용해 hreflang을 동적으로 삽입할 수 있습니다. nexti18next를 함께 사용하면 현재 언어에 맞는 hreflang 태그가 자동으로 생성됩니다. React 앱이라면 reacthelmet 라이브러리로 <head에 태그를 동적 추가할 수 있습니다. 각 페이지의 모든 언어 버전 URL을 getStaticProps 등에서 미리 가져와 전달하면 완전한 구현이 가능합니다.

다음 단계

상단의 관련 크레피카 도구를 활용해 초안을 점검한 뒤, 이 가이드로 돌아와 최종 발행 전 구조와 표현을 다시 확인하세요.

사이트 검토 정보

크레피카는 크리에이터와 마케터를 위한 무료 유틸리티 사이트입니다. 실무 도구, 편집 가이드, 문의 정보, 개인정보처리방침, 이용약관, RSS, robots.txt, ads.txt, 사이트맵을 제공해 사용자와 검색엔진이 자바스크립트 렌더링에만 의존하지 않고 사이트 구조를 이해할 수 있게 합니다.

광고는 Google AdSense 자동 광고로 노출될 수 있습니다. 이 정적 크롤러 페이지에는 수동 광고 슬롯을 삽입하지 않으며, 광고는 도구 결과나 편집 추천 내용에 영향을 주지 않습니다.

정책 페이지: 개인정보처리방침, 이용약관, 크레피카 소개, 문의하기.