What it does
You list the URLs for each market and the language and country each one serves. It produces the complete tag set for every page, including the self-references people forget and an x-default, in whichever format you need: head tags, HTTP headers or sitemap entries.
Then it checks the set for the mistakes that quietly break it.
The mistakes it catches
Missing return links. If page A lists page B as an alternate and B doesn’t list A back, the set is incomplete and search engines discard it. This is the most common failure by a distance, and it produces exactly the same symptom as having no hreflang at all.
Missing self-references. Every page has to include itself in its own set. Leaving it out breaks the set just as effectively.
The wrong codes. The language comes first and the region is a country, not a language. en-uk is wrong, because the country code for the United Kingdom is GB, so it should be en-gb. Putting a language code where a country code belongs is the most common error of this type.
A region on its own. Hreflang needs a language, with the country optional, so gb by itself does nothing.
Canonical conflicts. If your US page canonicalises to the UK version, the canonical wins and the hreflang set does nothing. The two have to agree, and they’re checked together.
What it will not do
It won’t fetch your live pages to confirm what’s actually deployed. A generated set is correct by construction. Whether it made it onto the site intact is a separate check, and where the markup is injected by a plugin or a tag manager, it frequently doesn’t.
It also won’t tell you whether you should have separate markets at all. Hreflang explains a relationship between pages. It doesn’t create a reason for two pages to exist, and where two markets have genuinely nothing different to say, the honest question is whether both should.
Related
The service this supports is international SEO and hreflang, and the full audit runs through the hreflang toolkit. Other tools are on the tools page.
FAQ
Is en-uk a valid hreflang value?
No. The region part is a country code, and the country code for the United Kingdom is GB, so the correct value is en-gb. This is probably the single most common hreflang mistake on small business sites, and it silently invalidates the tag.
Why is my hreflang being ignored?
Almost always because the set isn’t reciprocal. Every page listed as an alternate has to list the others back, and every page has to include itself. Missing self-references, or alternates that redirect or return errors, all produce the same outcome.
Do I need hreflang for a UK and US store?
If the content is similar and you want the right version shown in each country, yes. Without it the two sets of pages compete, and search engines may show the wrong one. It won’t merge their authority, and each store still has to earn its own visibility.
Where should the tags go?
In the head, in HTTP headers, or in the XML sitemap. Pick one and be consistent, because a set declared partly in two places is where contradictions creep in. The head is simplest for most sites and the sitemap suits very large ones.
Two markets competing with each other?
That’s the usual reason people arrive here, and hreflang is only part of the fix. Get in touch, or start with a free assessment.