In short
How to check hreflang tags on any page, the seven errors that break them most often, and how to fix each one so the right language version ranks in the right country.
Summarize with AI
Opens the assistant in a new tab with a link to this post.
How to Check Hreflang Tags (and Fix the 7 Most Common Errors)
If your website has versions for different languages or countries, hreflang tags are how you tell search engines which version to show to whom. Get them right and a visitor in Germany sees your German page, a visitor in the UK sees your UK English page with prices in pounds. Get them wrong and the wrong version ranks in the wrong country, or Google quietly ignores the tags altogether.
Hreflang is famous for being easy to get wrong and hard to notice. Nothing breaks visibly. The page loads fine. The mistakes only show up as the wrong country seeing the wrong page.
This guide shows how to check hreflang tags on any page, the errors that come up again and again, and how to fix each one.
What hreflang does#
An hreflang tag is a line in the page's <head> that says "an alternate version of this page exists for this language (and optionally this country), and here's its address":
<link rel="alternate" hreflang="en-us" href="https://example.com/us/" />
<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/" />
Each value is a language code (ISO 639-1, such as en, de, fr), optionally followed by a region code (ISO 3166-1 alpha-2, such as us, gb, de). x-default is the fallback for visitors who don't match any listed version, often a language picker or your main site.
Hreflang is a signal, not a command. It helps Google pick which version of a page to show in search results. It doesn't redirect visitors, and it doesn't make a page rank on its own.
You can add hreflang in three ways, and it's best to pick one:
- In the HTML
<head>, as above. The most common method. - In HTTP headers, useful for non-HTML files like PDFs.
- In your XML sitemap, which keeps the page code clean on large sites.
How to check hreflang tags#
1. Check a page with a free hreflang checker#
The fastest check for a single page. MyKavo's free Hreflang Checker reads every hreflang tag on a page, validates the language and region codes, and checks that each alternate page links back. Missing return links are the most common hreflang error, so this catches most problems in one go.
Run it on one page from each language or country version, especially your homepage and your top landing pages.
2. Look at the page source#
To see exactly what's there, open the page, view the source (or right-click and choose Inspect), and search for hreflang. Check:
- Every version is listed, including the page itself.
- The codes are valid (
en-gb, noten-uk). - Every URL is complete (
https://...) and is the final, working URL.
If your site adds tags with JavaScript, look in the browser's inspector (the rendered page), not the raw source, and confirm the tags are actually inside the <head>.
3. Crawl the whole site#
Checking pages one by one won't find the product page in your French store that's missing its return link. A crawler will. Most SEO crawlers have an hreflang report. In Screaming Frog, for example, crawl the site with hreflang extraction enabled and open the Hreflang tab to see missing return links, invalid codes, non-canonical URLs, links to redirected or broken pages, and pages missing hreflang entirely.
MyKavo's Site Audit also flags invalid hreflang values and pages missing a self-referencing hreflang, as part of its technical checks.
4. Check what Google chose#
The final check is what Google actually does. In Search Console, use URL Inspection on a page and compare the user-declared canonical with the Google-selected canonical. If Google has picked a different language version as canonical, your hreflang and canonical tags are fighting each other. Then check the Performance report filtered by country: if your UK page earns most of its impressions in the US, something is off.
Try it on your site · free
Check your own page's meta tags
Title, description, canonical and robots - including an accidental noindex - in a few seconds.
The 7 most common hreflang errors (and how to fix them)#
1. Missing return links#
Hreflang has to be confirmed from both sides. If your English page says "the German version is /de/", the German page must say "the English version is /en/". If it doesn't, Google can ignore the pair. This is the single most common hreflang error.
Fix: make every page in a set list every version, including itself. The easiest way is to generate the full list from one place (your CMS, plugin or sitemap) rather than editing pages by hand.
2. Missing self-reference#
Each page should include an hreflang tag pointing to itself. A page that lists only the other versions is missing part of the set.
Fix: include the current page's own URL and code in its list.
3. Invalid language or region codes#
Common mistakes: en-uk (the region code is gb), jp for Japanese (the language code is ja), en_US with an underscore (use a hyphen), or a region on its own (us is not a language).
Fix: use an ISO 639-1 language code, optionally a hyphen and an ISO 3166-1 alpha-2 region code. Region codes are only needed when versions differ by country, such as US and UK English.
4. Hreflang pointing to redirects, broken pages or noindex pages#
Every URL in an hreflang set should return 200, be indexable and be the final URL. A tag pointing at a redirect, a 404 or a noindexed page weakens or breaks the set.
Fix: update tags to the final URLs. After a migration, bulk-check every hreflang URL with a bulk URL status checker to catch redirects and 404s.
5. Canonical tags that contradict hreflang#
Each language version should have a self-referencing canonical. If your German page's canonical points to the English page, you're telling Google the German page is a duplicate of the English one, and hreflang can't override that.
Fix: make every version canonical to itself, and check your canonicals with a canonical tag checker.
6. Hreflang on pages that aren't really translations#
Pointing every page to the other site's homepage, or linking an English blog post to an unrelated German one, confuses the signal. Hreflang should connect equivalent pages: the same content for a different language or region.
Fix: only connect true equivalents. If a page has no equivalent in another language, leave that language out of its set.
7. Missing or misused x-default#
Without x-default, visitors outside every listed market may land on a version that doesn't suit them. Using x-default on a page that's really one of your language versions, instead of a neutral fallback, is less harmful but worth a look.
Fix: point x-default at the page you want everyone else to see, often a language selector or your main international version.
Keep hreflang from breaking again#
Hreflang breaks during exactly the changes that touch many URLs at once: migrations, new languages, URL restructures, plugin or app switches.
- Re-check hreflang after every launch, migration or language rollout, starting with your homepage and top pages in each market.
- Watch country performance in Search Console. A version suddenly ranking in the wrong country is often the first sign.
- Run a regular site audit to catch invalid codes and missing self-references before Google does.
- Monitor your key pages in each market. MyKavo watches the pages you choose and alerts you when their status, redirects, canonical or indexability change, the problems that most often take an hreflang set down with them.
Frequently asked questions
How do I check if hreflang tags are working?
Check a page with a free hreflang checker to validate the codes and return links, crawl the site with an SEO crawler to find errors across every page, and use Search Console's URL Inspection and country performance data to confirm Google is showing the right version in each country.
What is the most common hreflang error?
Missing return links. If page A lists page B as an alternate, page B must list page A too. Without that confirmation from both sides, Google may ignore the annotations.
Is it en-uk or en-gb in hreflang?
en-gb. Hreflang uses ISO 3166-1 alpha-2 region codes, and the code for the United Kingdom is GB. en-uk is invalid and will be ignored.
Do I need x-default?
It's recommended. x-default tells search engines which page to show visitors who don't match any of your listed languages or regions, such as a language selector or your main international page.
Does hreflang help my site rank?
Hreflang doesn't raise rankings on its own. It helps Google show the right version of a page to the right audience, which reduces the wrong version ranking in the wrong country and improves the experience for visitors.
Should hreflang go in the HTML, the HTTP header or the sitemap?
Any of the three works. HTML tags are the most common, sitemaps are easier to manage on large sites, and HTTP headers suit non-HTML files like PDFs. Pick one method and use it consistently.
The bottom line#
Hreflang tags tell search engines which version of a page belongs to which language and country. Check them with an hreflang checker, crawl the whole site for errors, and confirm the result in Search Console. Most problems come down to missing return links, wrong codes, broken target URLs and canonicals that contradict hreflang, and all of them are fixable.
Check your homepage now with the free Hreflang Checker, then start free with MyKavo to audit every page and watch the ones that matter in each market.
Get alerted when your site breaks. Free, no card.
Start free