Hreflang checker with reciprocity
Paste a URL. We fetch every alternate language URL and verify it links back to this page in its own hreflang set — the check that breaks international SEO when it's missing, and the one most validators skip.
Free. No signup. We probe up to 10 alternates per check, rate-limited to 30 checks per IP per hour. Every fetch is server-side and SSRF-guarded.
We probe up to 10 alternate URLs to verify reciprocity (alternates linking back to this page in their own hreflang sets) — that's the check most validators skip.
Five ways hreflang silently breaks
Missing self-reference. The page declares en and fralternates but doesn't include itself in the set. Google requires every page in a language cluster to declare ALL pages including itself — without the self-reference the whole cluster gets ignored.
Non-reciprocal alternates.Page A links to page B, but page B doesn't link back to A. Google silently drops the annotation. This is the #1 reason “we set up hreflang and nothing happened” — and it's only catchable by actually fetching the alternate pages and inspecting their hreflang sets. Most validators don't do that step. We do.
Invalid BCP 47 codes. Underscore instead of hyphen (en_US), wrong case (EN-us), full language name (english). Google ignores invalid codes entirely with no error message.
Broken alternates. One of the declared URLs returns 404 or 5xx. Google drops broken alternates from the cluster, effectively shrinking your language coverage without telling you.
Canonical / hreflang mismatch.Page has a canonical tag pointing to a different URL than itself. Google follows the canonical and ignores this page's hreflang set entirely. The hreflang declarations should live on the canonical URL.
Common hreflang questions
What is hreflang and why does it matter?
Hreflang tells Google which language and region each version of a page is for. A site with /en/, /fr/, /de/ pages uses hreflang to say "show the French version to French speakers, English to English speakers". Without it, Google may serve the wrong language variant to the wrong audience — or worse, treat translated pages as duplicate content and pick one to index while ignoring the others.
What does "reciprocity" mean for hreflang?
If page A declares an alternate at URL B, then page B must declare an alternate back to URL A. Google requires every page in a language cluster to declare ALL pages in the cluster (including itself). Missing reciprocity is the #1 cause of "we set up hreflang and nothing happened" — Google silently ignores the annotation when the back-link is missing.
What is x-default?
x-default is the fallback hreflang value Google serves to users whose language doesn't match any of your declared variants. If you only declare en, fr, de, a Spanish-speaking user gets x-default. Without x-default, Google picks one of your declared variants arbitrarily — and the pick may not match what you'd choose. Always add x-default when you have 2+ language variants.
Can hreflang be declared in HTTP headers instead of <link> tags?
Yes — and Google reads both. The Link response header format is: Link: <url1>; rel="alternate"; hreflang="fr", <url2>; rel="alternate"; hreflang="de". Useful for non-HTML resources (PDFs, etc.) or when you can't easily edit the page <head>. This tool checks both sources.
Why does Google sometimes ignore my hreflang?
The most common causes: (1) missing self-reference — every page in the cluster must include itself; (2) missing reciprocity — alternates don't link back; (3) the page's canonical tag points elsewhere, telling Google to follow the canonical and ignore this page entirely; (4) the alternate URLs return 404 or 5xx; (5) invalid BCP 47 codes (e.g. "en_US" instead of "en-US", or "english" instead of "en"). This tool checks all five.
How does this differ from Google Search Console's International Targeting report?
Search Console reports cluster-level errors but doesn't tell you which specific page is missing reciprocity or self-reference. This tool drills into a single URL, fetches every alternate, and confirms each one declares the back-link with the right hreflang code. It catches the specific failure within minutes instead of waiting weeks for Search Console to surface it.
Want the full audit, not just hreflang?
A Seoxpert scan checks hreflang plus 230+ other signals across SEO, security, performance, AI search readiness, and EU privacy compliance. Free first scan.
Schema validator · Open Graph preview · Sitemap checker · Full coverage