Why Google ignores hreflang
Google treats hreflang as a set of hints, and drops any pair the cluster does not confirm. Most ignored annotations come from a short list of causes, and every one of them shows up in a cluster check.
Missing return links
Page A naming page B counts only when page B names page A. A pair without the return link is dropped. Content systems often add hreflang on the main language and forget the translations, or the reverse.
Targets Google does not index
Every URL in the set has to return 200, be indexable and be its own canonical. A URL redirecting elsewhere, a page with noindex, or a page canonicalising to another URL is not a valid member. Annotations pointing at those URLs are ignored.
Invalid codes
Values such as en-UK, es-419 and
en_US have no effect. The check validates every value
against ISO 639-1, ISO 15924 and ISO 3166-1.
Conflicting methods
A cluster declared in the HTML head and in the sitemap with different URLs gives Google two answers. Pick one method and remove the others. The conflicts tab in every report lists the differences.
hreflang outside the head
Link elements in the body, or a head closed early by an invalid element, are not read. Google stops reading head elements at the first element not allowed in the head.
Check a cluster against every rule in this guide.