It solves two problems at once. It stops your English, German and French versions of the same page competing with each other as near-duplicates, and it directs each audience to the version written for them — including regional variants of one language, where a US and UK page may differ only in currency, spelling and shipping terms.
The rule that breaks most implementations is reciprocity. If page A declares page B as an alternate, page B must declare page A in return. Missing return tags cause search engines to disregard the entire cluster, which is why a site can have thousands of hreflang annotations and receive no benefit from any of them.
Values must be a valid language code, optionally paired with a region code — language first, region second. The most frequent syntax error is inventing a region code or reversing the order, and an invalid value is ignored silently rather than reported as an error you would notice.
Formula
<link rel="alternate" hreflang="en-gb" href="https://example.com/uk/page" />
Include a self-referencing tag in every cluster, and add hreflang="x-default" pointing at the version served to audiences none of your variants target. Use absolute URLs throughout.
Why Hreflang matters
Without it, international sites cannibalise themselves — the wrong regional page ranks in the wrong market, showing the wrong currency and the wrong delivery promise to people who might otherwise have bought. It is one of the few technical fixes where the commercial consequence of getting it wrong is visible directly in conversion rate rather than only in rankings.
Why a correct-looking implementation does nothing
A retailer runs UK, US and Australian versions and annotates each with hreflang. The UK page lists the US and Australian alternates; the US and Australian pages, generated by a different template, list nothing. Because the references are not reciprocal, the whole cluster is disregarded and the US page continues outranking the UK page in Britain — showing dollar prices to British shoppers. The tags were present and syntactically valid the entire time, which is why the problem survived several audits.
Common mistakes
Missing return tags
The single most common failure. Every page in a cluster must reference every other page, including itself, or search engines ignore the set entirely.
Pointing at non-canonical URLs
Hreflang and canonical tags have to agree. If an hreflang annotation names a URL that canonicalises elsewhere, the signals conflict and both get devalued.
Using region codes as language codes
A code like uk is not a language; the language is en and the region is GB. Inventing values produces annotations that are silently discarded.
Forgetting x-default
Without it, visitors from markets you have not built a variant for get whichever version the search engine guesses at. An explicit default is usually your primary market and takes one line.
Annotating pages that are not equivalent
Hreflang is for the same content in different languages or regions. Pointing it at a loosely related page in another market is not a translation relationship and will not be honoured.
Where we work on this