Home/SEO Guide/Localization
SEO guide · category 08 · international

One page, many languages. Show each reader theirs.

Hreflang tells search engines which language or regional version of a page to show to whom. It only works when every version names every other: one missing link and the cluster can be ignored.

Last reviewed · 1 Oct 2026Reference article · 15 sources →
/pricing/ · hreflang cluster of 4
en-GBEnglish · UKshop.com/en-gb/pricing/✓ links to all 4
de-DEGerman · Germanyshop.com/de-de/preise/✓ links to all 4
fr-FRFrench · Franceshop.com/fr-fr/tarifs/✕ no return link to de-DE
x-defaultFallbackshop.com/pricing/✓ links to all 4
illustrative
the rule that breaks most clusters

Every version must point to every other, and back.

Read each row as “this page’s hreflang tags”. One missing return link (red) is enough for Google to distrust the pair.

page ↓ · links to →en-GBde-DEfr-FRx-defaulten-GBself✓✓✓de-DE✓self✓✓fr-FR✓✕self✓x-default✓✓✓self
fr-FR doesn’t list de-DE, so the de-DE ↔ fr-FR pair fails even though de-DE points to fr-FR. · illustrative
how a locale code is built

Language first, region optional.

The language part comes from ISO 639-1, the optional region from ISO 3166-1 alpha-2. Most invalid codes break one of those two rules.

enlanguage · ISO 639-1-GBregion · ISO 3166-1
en-GB✓English, United Kingdom
en✓English, any region
es-419✓Spanish, Latin America
en-UK✕UK isn’t the ISO code: use GB
GB✕Region alone isn’t valid
en_GB✕Underscore instead of hyphen
where each version lives

Domain, subdomain, folder or parameter?

Google’s guidance compares them. Whichever you choose, each version needs its own URL, not one URL that changes by visitor.

Country domainshop.de+Clearest geotargeting signal−Expensive; separate site per country
Subdomainde.shop.com+Easy to host separately−Weaker signal than a ccTLD
Subdirectoryshop.com/de/+One site, one domain to maintain−Single server location
URL parametershop.com?lang=de+Quick to add−Not recommended: hard to target
three equivalent ways to declare it

Pick one method and use it everywhere.

HTML tags, HTTP headers and sitemaps all work. Mixing them makes errors harder to find.

HTML · in <head>
<link rel="alternate" hreflang="en-GB" href="https://shop.com/en-gb/" /><link rel="alternate" hreflang="de-DE" href="https://shop.com/de-de/" /><link rel="alternate" hreflang="x-default" href="https://shop.com/" />
HTTP header · for PDFs
Link: <https://shop.com/en-gb/a.pdf>; rel="alternate"; hreflang="en-GB", <https://shop.com/de-de/a.pdf>; rel="alternate"; hreflang="de-DE"
XML sitemap · at scale
<url> <loc>https://shop.com/en-gb/</loc> <xhtml:link rel="alternate" hreflang="de-DE" href="https://shop.com/de-de/"/></url>
international questions, answered

Short answers to the questions we get most.

No

Do I need hreflang for one language?

Hreflang is for alternate versions. A single-language site with one URL per page doesn’t need it.

Avoid

Can I redirect visitors by IP instead?

Googlebot mostly crawls from the US, so automatic redirects can hide other versions. Offer a language switcher instead.

No

Does hreflang help a page rank?

It helps Google show the right version to the right user; it doesn’t add ranking strength.

Reference article · 15 sources

Hreflang, from the 2011 announcement to today’s rules.

Hreflang is an annotation that tells search engines a page has alternate versions for other languages or regions, so that each user is shown the most appropriate one. It is expressed as rel="alternate" links with an hreflang value made of a language code and an optional region code. International SEO more broadly covers how multilingual and multi-regional sites are structured, signalled and crawled.

KALENUX REFERENCEHreflang and international SEO
  1. 1Overview
  2. 2History
  3. 3Language and region codes
  4. 4Three ways to declare
  5. 5Rules that make it work
  6. 6Site structure
  7. 7How Google detects language
  8. 8Locale-adaptive pages and redirects
  9. 9Common misconceptions
15 references · cite-readyRead the article →
beyond languages

Validate every hreflang cluster on your site.

Free to start. Missing return links are listed per page pair.

Start my free audit →