NEW CASE
Antana

We create digital solutions that work for businesses


Give us a call +38 (066) 35-14-529

Let's take the first step towards your website — write to us

Close
Tools

Hreflang Checker

Language versions of a page: codes, return links and x-default.

What this tool checks

Hreflang tags connect the language versions of one page. Get them wrong and Google serves the English version to a Ukrainian visitor — or decides the pages are duplicates.

Valid language codes Languages follow ISO 639-1 and regions ISO 3166-1. The classic slip is writing ua instead of uk, since ua is a country code rather than a language.
Self-reference Every page must appear in its own set. Without it Google treats the set as incomplete and may ignore it entirely.
Reciprocity If the Ukrainian page points to the English one, the English page must point back. One-way links do not count.
Targets actually respond We check the status of every listed URL. A link to a 404 or a redirect devalues the whole set.
x-default The fallback for visitors whose language matches none of yours. Optional, but without it Google decides for you.
Conflicts with canonical If the canonical points at a different language version, the hreflang tags are cancelled out. A common reason everything looks configured yet nothing works.

Reading the result

Code and URL A language-to-page pair. The URL must be absolute, with protocol and domain.
Source Tags can live in the page markup or come as a Link header. Both are valid and we check both.
Status code A target should return 200. A redirect means the set points at something other than the final URL.
Return link Whether the target mentions the source page. Without it the link is one-way and does not count.

Common mistakes

ua instead of uk The most common error on Ukrainian sites. UA is a country code; the language is uk. Google simply ignores the tag.
Relative URLs href="/en/page/" instead of a full URL with the domain. The specification requires absolute links.
Tags only on the homepage Each page needs its own set. The homepage does not pass these links deeper into the site.
Canonical to another language The page says “my main version is English” while also carrying hreflang. Google follows the canonical and the tags are cancelled.
The target redirects Common after an https migration or URL change. Point at the final page, not an intermediate one.
No self-reference The Ukrainian page lists English and Russian but not itself. The set is incomplete and Google may discard it.

How to fix it

1 List every version Every language variant of that page, including the page itself. That is the set, identical on all of them.
2 Put the same set on every page Not “each pointing at the others” but the very same block everywhere. Reciprocity then follows automatically.
3 Add x-default Usually the English version or a language-selection page. A hint for the cases you did not plan for.
4 Check against canonicals Each page should name itself as canonical. Otherwise hreflang will not work no matter how much you edit it.
5 Re-check, then wait Google does not recrawl instantly. Changes to language links usually show within one to two weeks.

FAQ

Is hreflang required for a multilingual site?
Not formally, but without it Google decides which version to show. In practice some visitors land on the wrong language, and similar pages risk being treated as duplicates.
Why uk and not ua?
The first part of hreflang is the language from ISO 639-1, where Ukrainian is uk. UA is a country code from a different standard, and Google ignores a tag using it.
How long after a fix before it works?
Google has to recrawl every page in the set, not just one. That usually takes one to two weeks. Submitting the pages in Search Console speeds it up.
Is x-default mandatory?
No, it is a recommendation. But without it Google picks the version for visitors whose language you do not cover — and not always the one you would choose.
What if there are dozens of language versions?
On large sites it is easier to declare the set in the sitemap rather than the page markup, so the HTML stays lean. The rules are unchanged: reciprocity and self-reference are still required.
Why could the tool not check my site?
Usually the server blocks automated requests or responds too slowly. The check also refuses password-protected pages and internal addresses — that limit is deliberate, for security reasons.
Telegram Viber Call us