Hreflang Reciprocity Checker
Hreflang only works when every page in the cluster points back. This validates your tags, then actually fetches the alternates to verify the return links exist.
The reciprocity rule
Hreflang is an agreement between pages: the English page names the German alternate, and the German page must name the English one back. If the return tag is missing, Google ignores the annotation from both sides — silently. This is the single most common reason hreflang “doesn’t work,” and it’s invisible unless you actually fetch the other pages. This tool fetches the other pages.
What it validates
- Syntax: absolute URLs (relative hrefs are invalid here), well-formed
language-REGIONcodes, the underscore-instead-of-hyphen classic, and made-up regions (en-UKshould been-GB; there is noen-EU) - Cluster shape: a self-reference (recommended), an
x-defaultfor language-picker pages, duplicate hreflang values claiming different URLs - Reciprocity, live: each sampled alternate is fetched and its hreflang set parsed — does it link back to the page you checked? Is it even a live 200, or a redirect/404 breaking the cluster from inside?
The tool reads hreflang from link tags and HTTP Link headers, validates codes against ISO 639-1 / ISO 3166-1, then fetches up to 8 alternate URLs to verify return tags and liveness. Very large clusters are sampled. Nothing is stored.