hreflang checker

Catch the hreflang mistakes that fail quietly, with no symptom you would ever notice.

Free, instant, and nothing to sign up for.

Nothing you paste is stored.

What this checks

  • Every alternate declared, with its language and region code
  • Malformed or invalid language and region codes
  • Whether the page references itself, which a valid set requires
  • Whether an x-default is declared

Why it matters

hreflang tells Google which version of a page to show which audience. It is unusually easy to get wrong and unusually hard to notice when you have, because Google's response to a broken set is not an error but silence: it ignores the annotation and serves whatever it would have served anyway. Sites run broken hreflang for years and conclude the tag does not work.

How to read the result

A set with no problems is a set that parses and is internally consistent. It cannot tell you whether the pages you named are the right pages, or whether they are actually translations of one another, and Google checks both. If you serve Australia and New Zealand from near-identical pages, hreflang is the right tool. If the content is genuinely the same, consider whether you need two pages at all.

Common questions

Do I need hreflang for one country?

No. If you have one language and one market, hreflang does nothing for you. It is for sites serving the same content to different languages or regions.

What is x-default for?

It names the page to serve when no other version matches the visitor. Usually your global or English page. It is optional, and worth having when you serve markets you have not explicitly named.

Why do return links matter?

hreflang is a mutual declaration. If page A names page B as its alternate and B does not name A back, Google treats the annotation as untrustworthy and drops it. Missing return links are the single most common reason a set fails.