Hreflang: connect language versions without targeting guarantees

At a glance

Hreflang maps equivalent language or regional versions of a page. It neither translates content nor replaces canonical URLs or accessible language navigation.

Empty intelligence archive with dossiers and maps Illustration · fictional scene
In this article

Choose a language, optionally a region

The table illustrates language-only, language-region and fallback values. A country code alone is insufficient; the United Kingdom region code is GB, not UK. x-default is a fallback value, not a language.

ValueMeaningLimitation
enEnglish without a specified region.Does not mean United States only.
en-GBEnglish for the United Kingdom.GB is the region code.
fr-CAFrench for Canada.Language and region differ.
x-defaultFallback page.Does not describe a new language.

Check the full mapping

  • Connect genuinely equivalent pages using absolute URLs. Each version should reference itself and the others; check return links.
  • Keep destinations available and canonical choices consistent, generally within the same language. Non-indexable pages or unexpected redirects can defeat the intent.
  • Use a controlled implementation in HTML, HTTP headers or the sitemap. Avoid contradictory sets if multiple methods coexist.

Test the human experience too

Check translations, prices, service regions and keyboard access to the language selector. Do not force redirects that prevent access to a chosen version. Correct annotations help interpretation without guaranteeing local appearance or ranking gains.

Primary references

Test hreflang groups in both directions

An isolated annotation does not establish language-group consistency. Check codes, absolute URLs, reciprocal references and the version’s own inclusion. Each destination should contain the declared edition and agree with its canonical; investigate errors at group level.

  • Check reciprocity and self-reference.
  • Verify actual language, HTTP status and canonical for each target.
  • Retest the group after slug changes or removal.

Does x-default replace a missing translation?

No. It identifies an appropriate fallback or selector destination. It does not turn content in one language into translations of other editions.

Primary reference: Google Search Central — Localised versions. Related method: read the practical guide.