Hreflang Checker
Enter one page of a multilingual site. Every language version it lists is fetched, so you see which codes are invalid, which versions don't link back, and which redirect, are noindex or point their canonical elsewhere.
What the checker tests
| Check | Why it matters |
|---|---|
| Language and country codes | Codes must be an ISO 639-1 language, such as de, optionally followed by an ISO 3166-1 country, such as de-AT. Google ignores anything else, including en-UK, en_US and es-419. |
| Return links | If page A lists page B, page B must list page A with the exact same URL. Google ignores a pair that is only declared from one side. |
| Self-reference | Each version lists itself as well as every other version. |
| Status, redirects and noindex | Every URL in the cluster must return 200 and be indexable. A redirect or a noindex breaks the pair. |
| Canonical tags | Each version's canonical must point to itself. A canonical pointing to another language tells Google to ignore the hreflang. |
| One URL per code | Two URLs with the same code leave Google unable to choose, so it may ignore both. |
| x-default | The page to show visitors who match no version. Optional, but recommended. |
| Placement | Tags must be in the <head> and use full URLs. Hreflang in the HTTP Link header is read too. |
A correct hreflang setup
Every version carries the same block of tags, including a tag for itself:
<link rel="alternate" hreflang="en" href="https://example.com/">
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/">
<link rel="alternate" hreflang="de" href="https://example.com/de/">
<link rel="alternate" hreflang="x-default" href="https://example.com/">
The country is optional. Use de when one German page serves every German speaker, and add de-AT or de-CH only when those countries get a different page. A country code can't be used alone: hreflang="gb" is not valid.
Questions
Does hreflang help rankings?
No. It doesn't make a page rank higher. It tells Google which version of a page to show to which searchers, so a German speaker in Austria gets the Austrian page instead of the American one, and translated pages aren't treated as competing duplicates.
What is a hreflang return link?
The tag on the other page that points back. Google only trusts a pair of versions when both pages list each other, which stops other sites from claiming to be your translations. The matrix in the results shows which page lists which.
Should I put hreflang in HTML, headers or the sitemap?
Any one of them works, and Google treats them the same. HTML tags are easiest to check. The HTTP Link header is for files such as PDFs, and the sitemap suits large sites. This checker reads the HTML and the header; the Sitemap URL Extractor counts hreflang entries in a sitemap.
Why do the checks start from one page?
A hreflang cluster is defined page by page, so the page you enter decides which versions are fetched. To check a whole site, run its main templates: the homepage, a category page and a product or article page.