hreflang Check for Multilingual Sites
The list of declared languages is pulled out and each code is checked for validity. Then up to eight destinations are fetched for real, to establish whether a return link to this page exists in them. The presence of x-default, and of the page's link to itself, is confirmed separately.
- No sign-up needed
- A real both-ways check
- Language code validation
Run the tool right here on the page
For a multilingual page, checks whether the references among the language versions really run both ways.
- What it costs Free
- Data source Our own server
- Access No sign-up
The short answer
The job of hreflang is to make Google understand that one piece of content exists in several languages and which reader each language suits, so a visitor from Turkey lands on the Turkish version, not the Persian. The pillar of the whole thing is symmetric linking: each version is required to link to all the others, and to itself as well.
The whole reason this tool was built comes down to symmetry. Suppose the Persian page links to the English version while the English version carries no return link; Google then declares that entire set void and drops it. The result is not a single broken link but the collapse of the whole language family for that page. A tool that merely lists the tags on one page will never catch this, because detecting it means fetching the destination itself.
The second mistake that shows up a lot is a badly formed language code. What hreflang accepts is a language code paired with a country code, not a country name and not an invented string. The accepted form is fa-IR and fa-Iran is rejected; for English speakers in general you write en, and en-UK is invalid, since the official country code for the United Kingdom is GB. An invalid code causes Google to drop that line, and if that line was the sole path to a version, that version stays outside the set.
x-default is the part usually left out. It tells Google which version to show when the visitor's language matches none of them. Without it Google chooses for itself, and its choice is not necessarily the one you want. For a site whose primary language is Persian, the Persian version is usually the right x-default.
The data source and method
Whether the reference runs both ways is tested by opening the other page for real, not by guessing. We say this from our own experience on this very site: a one-way hreflang makes Google set the whole cluster aside, and Search Console shows no error, only the wrong version surfacing in results. Up to eight versions are opened so that a single run does not send dozens of requests to your site.
The situations where it helps
When you run a multilingual site and Google serves users the wrong version, or after bringing up a new language version. If your site is single-language, this tool has no use for you and there is nothing to add.
Where it falls short
On a single-language site this tool serves no purpose and nothing needs to be added; putting hreflang on such a site is only extra complexity. One technical boundary: each run fetches at most eight destinations for real, so that a single run does not turn into dozens of requests on your site; if the number of languages exceeds eight, the rest are listed but their link symmetry is not measured. Most important of all: hreflang steers each reader to the right version, it does not raise the ranking of a version. If you think adding hreflang will lift the ranking of the English version, it will not.
A lesson from working with it
We say this on the basis of what we have seen on this very site: a one-way hreflang leaves no trace in Search Console. No report shows up and no warning is logged; Google just gradually settles on the wrong version in results, and you spend months believing the text is the problem. The only way to catch it is a real fetch of the other side, and that is why this check lives inside the tool itself.
What it costs
This tool executes on our own infrastructure with no purchased data behind it, so it costs nothing and stays that way. Its only limit is a daily cap that stops one bot from taking the whole capacity.
The daily cap is measured per visitor. If you need more, a free account lifts your limit.
Common questions about this tool
Should hreflang go in the head or in the sitemap?
Both spots are valid and Google reads both. The point is to choose only one; putting it in both places with values that disagree is the most common route to a conflict. On a high-volume site, keeping the sitemap consistent is usually the easier path.
Does a page need an hreflang pointing at itself?
Yes. A page linking to itself is in the standard, and its absence leaves the set unfinished. It is one of the things the tool checks apart from the rest.
What if the translations are not complete?
hreflang is meant for versions that truly are the same content in another language. Declaring a half-built English version to Google does no good and may push a reader onto an incomplete page. Finish the translation first, then declare it.