NoindexWatch

Hreflang checker

Enter a URL to list the hreflang annotations it declares in the HTML and in the Link header. We check each language and region code, then fetch up to 10 alternates to see whether they return 200 and link back.

What Google needs from hreflang

  • Each code is a 2-letter ISO 639-1 language (de), optionally a hyphen and an ISO 3166-1 country (de-AT), or x-default. A country on its own is not valid.
  • Every version lists every version, itself included, with fully qualified URLs.
  • Annotations go both ways. If page A lists page B, page B must list page A, or Google ignores the pair.
  • Alternates return 200, are indexable and are their own canonical. A canonical to another language version cancels the hreflang.

Common mistakes

  • en-UK instead of en-GB, en_US with an underscore, es-LA or en-EU (not countries).
  • Return links missing because only one locale's template was updated.
  • Alternates that redirect, often to add a trailing slash or a locale folder, or that point to a staging host.

To check whether an alternate is indexable at all, run it through the noindex checker; for its canonical, the canonical checker.

We fetch the page and up to 10 alternates as NoindexWatchBot. JavaScript is not run, and hreflang in XML sitemaps is not read. Bing uses the content-language meta tag rather than hreflang. Results are not stored.