Definition: What is hreflang?
The hreflang attribute is a signal for search engines that links a page to its language and country variants. It was introduced by Google in 2011 and has since been adopted by Bing and Yandex. The syntax is <link rel="alternate" hreflang="de-DE" href="https://www.example.com/de/">. The value in the hreflang attribute follows the BCP-47 standard: language code (ISO 639-1) optionally combined with region code (ISO 3166-1). Pure language values (en) and language-region combinations (en-US, en-GB, de-CH) are both valid.
hreflang is not a ranking signal in the strict sense. It is a routing signal: Google uses it to decide which version of a page is shown to a given user in the result list. Without hreflang, a single language variant ranks internationally - usually the English one - and displaces its regional counterparts. The phenomenon is called self-cannibalization and is the most common trigger for traffic drops on international domains in agency audits.
hreflang routes users - canonical consolidates signals
The two mechanisms are orthogonal. hreflang decides which version gets served. The canonical decides which URL ranking signals concentrate on. Every page in an hreflang cluster needs a self-referencing canonical.
The MVG rule: Mutual Validation Group
Every target in an hreflang cluster must reference every other target - and itself. This symmetry is called the Mutual Validation Group (MVG). If even a single return reference is missing, Google discards the entire cluster. The consequence: language and region routing collapses, and all variants compete with each other again. Search Console surfaces the corresponding warnings under the "International Targeting" report.
A complete cluster for three variants looks like this:
<link rel="alternate" hreflang="de-DE" href="https://www.example.com/de/"> <link rel="alternate" hreflang="en-US" href="https://www.example.com/us/"> <link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/"> <link rel="alternate" hreflang="x-default" href="https://www.example.com/">
These four lines must appear identically on all four target URLs - including the self-reference. That is the hard part: template-based CMS systems often render hreflang blocks dynamically, and minor deviations (trailing slash, protocol, parameters) break MVG symmetry.
Three implementation methods
1. HTML head tags
The obvious variant: <link rel="alternate" hreflang="..."> tags in the <head>. Advantage: directly visible in the markup. Disadvantage: payload overhead with many languages. A page with 40 language variants renders 41 link tags per page - across 10,000 URLs this is a measurable page-size factor.
2. HTTP header
For PDFs, documents or header-based rendering strategies, the HTTP Link: header is the right tool. The web server delivers hreflang signals in the response header. Format: Link: <https://...>; rel="alternate"; hreflang="de-DE", comma-separated for multiple variants.
3. XML sitemap
The most robust variant for enterprise structures. The sitemap lists all hreflang alternatives per URL as sub-elements. Advantage: changes made in one place, no template divergence. Operationally the standard from 50+ countries upward. Screaming Frog and Sitebulb can validate hreflang sitemaps and flag MVG violations.
x-default and fallback routing
The special tag hreflang="x-default" marks the fallback URL for users whose language or region is not declared in the cluster. Without x-default, Google decides heuristically - usually in favor of the English variant. x-default is mandatory once more than one language version exists. The target is typically the root domain with a language selector, or the main English page.
Important: x-default is not a "default language" but an explicit fallback. For actual English users, hreflang="en" or hreflang="en-US" must also be set. At the same time, the same URL can carry both en-US and x-default - that is allowed and common.
Typical mistakes in practice
- Broken MVG symmetry. The German variant references the French, but the French does not reference back. Cause usually CMS deployment order or editorial error. Monthly audit via Screaming Frog or Ahrefs is mandatory.
- Invalid region codes.
de-ATis valid,de-DE_ATis not. Equally,en-UKis wrong - the correct code isen-GB. Invalid codes are silently ignored. - hreflang pointing to noindex or 404. Cluster targets must be indexable and return HTTP 200. Redirects (3xx) inside the cluster trigger Google warnings.
- Contradiction with the canonical. The canonical of the German page points to the English one - Google discards both signals. The rule: in hreflang clusters, always use self-referencing canonicals.
- Missing x-default. For international audiences outside the declared regions Google decides heuristically - usually incorrectly. x-default is not optional.
Related terms
hreflang is the core tool of international SEO. It works together with canonical tags, MVG validation and the indexing strategy. For GEO and LLM routing, clean hreflang clusters gain additional importance because entity representations must stay consistent across languages. See also ccTLD strategy and geotargeting.
FAQ on hreflang
Is hreflang a ranking factor? ▾
hreflang is not a ranking factor in the strict sense. It is a routing signal. It decides which language or country version of a page is served to a user - it does not improve a position itself. Clean hreflang clusters prevent self-cannibalization, however, and stabilize the rankings of the individual variants.
Where is hreflang implemented? ▾
Three methods are allowed: as a link tag in the HTML head, as an HTTP header (for non-HTML resources), or in the XML sitemap. The sitemap variant is operationally the most robust on large international setups (50+ countries, 10,000+ URLs).
Does every page need an x-default? ▾
Yes, as soon as more than one language or country version exists. x-default marks the fallback URL for users outside the declared regions. Without x-default, Google falls back to heuristic decisions - often in favor of the English variant.
What is the MVG rule? ▾
Mutual Validation Group - every target in an hreflang cluster must reference every other target. If a return reference is missing, Google discards the entire cluster. MVG symmetry is the most common source of errors in multilingual setups.
Does hreflang contradict the canonical tag? ▾
No, both work orthogonally. Every page in an hreflang cluster carries a self-referencing canonical. If the canonical points to another language version, Google discards both the hreflang cluster and the canonicalization.