Hreflang: serving the right language and region
Use hreflang to tell search engines which language and region a page targets. Avoid common mistakes that break multilingual SEO.
Hreflang
Hreflang is an HTML attribute that tells search engines which language and region a page targets. It is the foundation of multilingual SEO.
How hreflang works
You place a hreflang annotation on every version of a page, listing all the other versions. Search engines use the annotation to serve the right URL to the right user.
The x-default value is the fallback Google uses when no other language matches.
Hreflang requirements
For hreflang to work, every page in the cluster must:
- Reference every other page in the cluster (full mesh, not one-way)
- Use correct language codes (ISO 639-1 for language, ISO 3166-1 Alpha-2 for region, e.g. en-US)
- Be reachable (no noindex on referenced pages)
- Be self-consistent (a page’s returned language matches its hreflang annotation)
Common hreflang mistakes
- One-way annotations — Page A references page B, but B doesn’t reference A
- Wrong language codes — cn instead of zh-CN
- Conflicting canonicals — A canonical pointing to a URL with a different hreflang
- Using hreflang across unrelated pages — Hreflang is a translation/region signal, not a grouping mechanism
- Missing self-referencing hreflang — Each page should reference itself in the cluster
Alternatives to hreflang
- Subdirectories with x-default — Most common setup, easiest to maintain
- Subdomains — Acceptable but more complex
- ccTLDs — Strongest signal of regional targeting, expensive to maintain
- URL parameters — Not recommended; weak signal, easily misconfigured
Verifying your hreflang
Use these tools to validate your hreflang cluster:
- Google Search Console → International Targeting report
- hreflang Tags Testing Tool by Aleyda Solis
- Screaming Frog’s hreflang validation