Hreflang Validation
The Hreflang tab inspects <link rel="alternate" hreflang="...">
tags across every crawled page and validates them as a set. Hreflang declarations tell
search engines which version of a page to serve to users in a given language or region.
A single broken declaration — a missing return link, an invalid language code, a forgotten
self-reference — can prevent Google from associating the variants at all.
Stats
The top of the tab presents a summary of the hreflang state across the crawl:
Below the stats, a row of language badges lists every language and region code encountered. This gives a quick visual inventory of which locales the site declares support for.
Validation checks
The analysis runs five checks against the hreflang data collected during the crawl. Each check produces findings with a severity level and the affected URL.
Bidirectional validation
If page A declares page B as an alternate-language version, page B must declare page A back. This is the most common source of hreflang failures. A one-way declaration is ignored by Google entirely — neither page benefits. The check walks every declared pair and flags any link that is not reciprocated.
Self-reference present
Every page in an hreflang set must include an entry pointing to itself with its own language code. Without the self-reference, search engines cannot confirm which language the declaring page represents, and the full set of alternates may be disregarded.
x-default present
The x-default value designates a fallback URL for users
whose language or region does not match any explicitly declared variant. While not
strictly required, its absence means there is no defined fallback — a gap that can
send unmatched users to an arbitrary variant. Pages that declare hreflang without
including an x-default entry are flagged.
Valid language and region codes
Hreflang values must use ISO 639-1 language codes, optionally followed by an
ISO 3166-1 Alpha-2 region code (for example en,
en-GB, pt-BR). Values
that do not conform — a three-letter language code, a region without a language,
or a typo like uk instead of
uk-UA — are flagged as invalid.
Coverage
Coverage checks whether the set of declared languages is consistent across pages.
If most pages in the crawl declare en,
fr, and de, but a subset
only declares en and fr,
the missing de variant is flagged. Incomplete coverage
usually means a page was added to one locale and not the others.
Reading the results
Below the stats and validation summary, the issues list shows every finding from the checks above. Each row includes:
The issues list can be sorted by severity or filtered to a single check type. For bidirectional failures, the description names both the declaring page and the target that does not link back, so the fix is unambiguous.
One limitation worth noting: the analysis checks what the markup declares. It verifies that return links exist within the crawled page set and that language codes are well-formed, but it cannot verify that a target page actually serves content in the declared language. That verification requires reading the page content itself, which is outside the scope of a markup-level audit.