hreflang Tag
Definition
hreflang is an attribute used in HTML <link> tags that tells Google about alternate URLs for the current page in different languages and regions.
<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="ja" href="https://example.com/ja/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page/" />
Google reads hreflang and shows the version matching user language and location in search results. Korean users see the /ko/ version; English users see the /en/ version.
Summary
hreflang core rules: ①Use accurate language+region codes (ko, en-US, zh-TW) ②Every version references all other versions (bidirectional) ③Set x-default as fallback ④Use consistently in HTML head, HTTP header, or sitemap. Missing even one reference causes Google to ignore it.
When hreflang Is Needed
Multilingual Content
When the same site provides the same content in Korean, English, Japanese, etc. Without hreflang, Google cannot decide which version to show which users.
Multi-Regional Content
Same language but different regional content. Example: Korean English site (en-KR) vs US English site (en-US) with different prices, laws, or products.
Similar Languages Across Countries
Portuguese (Portugal pt-PT vs Brazil pt-BR), Chinese (Simplified zh-CN vs Traditional zh-TW), Spanish (es-ES vs es-MX), etc.
3 hreflang Implementation Methods
Method 1: HTML head (Most Common)
Add <link rel="alternate" hreflang=""> tags in the <head> section.
<head>
<!-- When current page is Korean version -->
<link
rel="alternate"
hreflang="ko"
href="https://example.com/ko/seo-guide/"
/>
<link
rel="alternate"
hreflang="en"
href="https://example.com/en/seo-guide/"
/>
<link
rel="alternate"
hreflang="ja"
href="https://example.com/ja/seo-guide/"
/>
<link
rel="alternate"
hreflang="x-default"
href="https://example.com/seo-guide/"
/>
</head>
The same tag set must appear in HTML of all language versions.
Method 2: HTTP Header (Non-HTML Files)
Used for non-HTML files such as PDFs and images.
HTTP/1.1 200 OK
Link: <https://example.com/ko/guide.pdf>; rel="alternate"; hreflang="ko",
<https://example.com/en/guide.pdf>; rel="alternate"; hreflang="en"
Method 3: XML Sitemap (Recommended for Large Sites)
Declare all language versions in the sitemap. No need to modify individual page HTML.
<url>
<loc>https://example.com/ko/seo-guide/</loc>
<xhtml:link rel="alternate" hreflang="ko" href="https://example.com/ko/seo-guide/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/seo-guide/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/seo-guide/"/>
</url>
Language and Region Code Rules
ISO 639-1 Language Codes
| Language | Code |
|---|---|
| Korean | ko |
| English | en |
| Japanese | ja |
| Chinese (Simplified) | zh-CN or zh-Hans |
| Chinese (Traditional) | zh-TW or zh-Hant |
| Spanish | es |
| French | fr |
Language-Region Combinations
When adding region, use ISO 3166-1 alpha-2 country codes.
en-US → US English
en-GB → UK English
en-AU → Australian English
pt-BR → Brazilian Portuguese
pt-PT → European Portuguese
x-default: Default Fallback
Specifies the default URL for users matching no language. Set to language selection page or English default page.
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
Bidirectional hreflang Setup
Most Common Mistake: One-Way Setup
❌ Wrong example:
Korean page references English version only (→ English page does not reference Korean)
Google verifies bidirectionally. A must reference B and B must reference A for valid hreflang.
✅ Correct example:
Korean page: includes hreflang="ko" + hreflang="en"
English page: includes hreflang="ko" + hreflang="en"
hreflang by URL Structure
Subdirectory Structure (Recommended)
example.com/ko/ → Korean
example.com/en/ → English
example.com/ → x-default
Subdomain Structure
ko.example.com → Korean
en.example.com → English
example.com → x-default
Separate Domains (ccTLD)
example.co.kr → Korean
example.com → English (x-default)
example.co.jp → Japanese
ccTLDs send strong country targeting signals but split domain authority. See Subdomain vs Subdirectory for details.
hreflang Validation Methods
GSC International Targeting Report
GSC → Settings → International targeting shows hreflang errors. Common errors:
- "Return tag not found": One URL is 404 or redirects
- "Missing x-default": x-default tag missing
- "No return tags": Bidirectional setup incomplete
hreflang Testing Tool
Google Rich Results Test or Ahrefs Site Audit can check hreflang errors.
Korea Market Application
hreflang Need for Korean-Only Sites
Pure Korean sites do not need hreflang. Without English or Japanese versions, implementation has no effect.
Korean-English Bilingual Sites
When Korean startups operate Korean + English versions for global expansion, hreflang setup is important. It prevents Korean versions appearing in English search or vice versa.
<!-- Korean main page -->
<link rel="alternate" hreflang="ko" href="https://example.com/ko/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />
Naver and hreflang
Naver does not officially support hreflang. Multilingual handling in Naver search is auto-detected by content language, not separate Naver Search Advisor settings. See Naver vs Google Korean SEO for details.
Frequently Asked Questions
Q. What happens if I operate a multilingual site without hreflang?
A. Google decides which version to show which country users on its own. Wrong language versions may appear, or multiple language versions may be treated as duplicate content. Small multilingual sites are sometimes handled well by Google, but there is no guarantee — hreflang implementation is recommended.
Q. Can hreflang and canonical tags be used together?
A. Yes. hreflang and canonical are used together. Each language page canonicalizes itself and references other language versions with hreflang. Do not set one language version as canonical for another language version. See Canonical Tag for details.
Q. Is publishing English content translated into Korean duplicate content?
A. Different language translations are not duplicate content. Google treats pages in different languages as different content. Declaring translation relationships with hreflang indexes both sides without duplicate signals.
Q. I set hreflang but the wrong version still appears.
A. Most common causes: ①Missing bidirectional setup ②Redirect or 404 on referenced URL ③Conflict between sitemap and HTML settings ④Google has not processed hreflang yet (up to weeks). Check errors in GSC International targeting report and fix.
Q. Should hreflang be used on machine-translated pages?
A. Machine-translated pages indexed as-is can cause thin content and duplicate content problems. Review machine translation quality before hreflang; if quality is low, noindex or index only professionally reviewed translations. See Thin Content for details.
Related Sources
- Google Search Central (2024). Tell Google about localized versions of your page. https://developers.google.com/search/docs/specialty/international/localized-versions
- Google Search Central (2024). hreflang attribute. https://developers.google.com/search/docs/specialty/international/understanding-hreflang
- Ahrefs (2024). Hreflang: The Easy Guide for Beginners. Ahrefs Blog.
이 페이지를 참조하는 항목
- 📘ConceptGoogle Search Console
- 📙How-toIndexing Coverage Diagnosis
- 📘ConceptGEO Master Guide: 5-Area Checklist
- 📘ConceptDuplicate Content
- 📘ConceptKorean LLM Optimization
- 📓ComparisonNaver vs Google: Korean Search Market Share and Strategy
- 📘ConceptCanonical Tag
- 📘ConceptJSON-LD Basics
- 📘ConceptSubdomain vs Subdirectory