//Guide · SEO

Hreflang audit for multilingual B2B sites: 7 checks.

The tag that decides which language version Google shows. When it is wrong, nothing breaks, but the wrong page ranks.

If your company sells in Germany, the US and the UK, you probably have the same page in two or three languages. Hreflang is the small tag that tells Google which version to show to which searcher. When it is wrong, a German buyer can land on the English page, or the German page never shows at all.

Hreflang errors are quiet. Nothing breaks on the page, and no visitor reports it. You only see it later, as wrong-language traffic or translated pages that never rank. So I check it the way I checked equipment on a gas plant: a fixed list, every time, in the same order.

The seven checks

All rules below come from Google’s guide Tell Google about localized versions of your page.

  1. Every version lists itself and all the others. If the English page names the German page, the German page must name the English page too. Google says: “If two pages don’t both point to each other, the tags will be ignored.” These are called return links, and they are the first thing to check.
  2. The codes are real codes. The language comes first, in ISO 639-1 (de, en, ru). A region is optional and comes second, in ISO 3166-1 Alpha 2 (de-AT, en-GB). A country code alone is not valid. A common mistake is en-UK: the code for the United Kingdom is GB, and Google says reserved codes like UK and EU have no effect.
  3. The URLs are full URLs. Google requires the full address with https, for example https://example.com/de/, not /de/.
  4. Every URL in the set works. Each alternate must return 200, with no redirect and no noindex. A tag that points to a redirect or a 404 is a broken promise to Google.
  5. The canonical points to the same page. The German page’s canonical tag should name the German page, not the English one. If a translation says “the English page is the real one”, you are asking Google to drop the translation.
  6. There is a fallback. x-default tells Google which page to show when no language matches the searcher. For many B2B sites this is the English page.
  7. One method, used the same way everywhere. You can put hreflang in the HTML head, in HTTP headers or in the XML sitemap. Google treats the three as equal. Pick one, or make sure two methods say exactly the same thing.

What hreflang does not do

Hreflang does not translate anything, and it does not tell Google what language a page is in. Google says it uses its own algorithms for that, not hreflang and not the HTML lang attribute. So a “German” page that is half English is still half English to Google. Hreflang only works when the pages really are translated.

Google also says localized pages are only treated as duplicates when the main content stays untranslated. Translating the menu and leaving the body in English is the usual way to fall into that.

What I found on my own sites

On 10 November 2026 I ran these checks on two sites I work on. This site has 77 URLs in its sitemap in four languages (English, German, Russian, Armenian). 76 of them carry a full set of hreflang tags: every version lists itself, the other three and x-default, every return link exists, and every canonical points to its own page. The one URL without tags is an English-only article, which is correct: a page with no translation needs no hreflang.

On Layerly, my agency’s site, 18 of 27 sitemap URLs have English and Armenian pairs with x-default, all with return links. The other 9 are English-only pages (eight articles and the guides index), so again no tags are needed.

No errors this time. But both sites changed many pages in the last two weeks, and hreflang is exactly the kind of thing that breaks quietly when one template changes. That is why the check is on a list, not left to memory.

How to run the check yourself

  • Open your XML sitemap and list every URL that has a translation.
  • For each one, open the page source and copy the hreflang lines and the canonical.
  • Check the seven points above. A spreadsheet with one row per URL and one column per language makes missing return links easy to see.
  • In Search Console, look at which pages get impressions in which country. A German page with impressions only from the US is a sign that something is off.

On a site with a few hundred URLs this takes an afternoon by hand. On a bigger site a crawler can do the comparison, but someone still has to read the result.

Work with me

I run SEO and AI search projects through my agency, Layerly. If your site has several languages and the wrong pages show up in the wrong countries, a free website check is a good first step.

Related reading:

Get in touch

Not sure what’s holding your site back? Let me check.

Send me your website address. I’ll reply with a short, honest check of what is stopping it from showing on Google.

BASED INGyumri, Armenia · UTC+4 · --:--
REPLIESBy email, in English or Armenian
EMAILContact@farshidghaffari.net