Google SEO Advanced

Hreflang for Multilingual Sites: How to Write the Tags, Regional Pages, and Common Mistakes

Hreflang is the tag multilingual sites get wrong most often, and a single unclosed tag stops every language page from matching correctly. This guide covers how to choose between subdirectories, subdomains, and separate domains, how to use x-default, the principle of reciprocal references, five common mistakes (missing self-reference, wrong region codes, unclosed tags, 404 pages, conflicting declarations), and how to verify everything with the International Targeting report in Google Search Console.

Hreflang 多语言落地:标记矩阵与五类常见错误Hreflang Implementation: the annotation matrix and five common errors 双向引用必须闭合 —— A 指了 B,B 必须指回 A,否则整组失效Annotations must be reciprocal — A to B must be matched by B to A, or the cluster breaks 错误类型Error type 典型表现Symptom 修复方法Fix 1 单向引用1. One-way only 英文页指了德文,德文页没指回EN points to DE, DE does not point back 整组双向补齐Close the reciprocal loop 2 缺 x-default2. Missing x-default 所有语言都列了,没有兜底页Every language listed, no fallback 加 x-default 指向英文Add x-default to EN page 3 语言代码错3. Wrong lang code cn 应为 zh-CN,用了 zh 太宽cn instead of zh-CN; bare zh too broad 遵循 ISO 639-1 + 3166-1Use ISO 639-1 + 3166-1 4 自引用漏4. Missing self-ref 每页没列自己的 hreflangPage does not annotate itself 每页必含自身Every page self-annotates 5 URL 不一致5. URL mismatch http/https、尾斜杠、参数不一致http/https, trailing slash, query diffs 规范化后再写Use canonical URLs only 实现方式优先级:HTML link 标签首选 · sitemaps 批量 · HTTP 头兜底Implementation order: HTML link tags first · sitemaps at scale · HTTP headers as fallback URL 结构推荐:子目录 example.com/de/ 优于子域名 de.example.com 优于独立站URL structure: subfolder example.com/de/ beats subdomain beats separate domains 反直觉:hreflang 不阻止 Google 选另一个语种版本,只给它正确版本的建议Counter-intuitive: hreflang does not force Google’s choice, it only recommends the right version
Hreflang Tags for Multilingual Sites: Five Common Mistakes, How to Fix Them, and Choosing a URL Structure

Hreflang for Multilingual Sites: How to Write the Tags, Regional Pages, and Common Mistakes

Bottom line first: hreflang tells Google which language and regional versions of a page exist. Get it wrong and your multilingual site’s SERP listings fall apart. The correct setup: every language page references the others, references itself, and includes an x-default fallback, using ISO 639-1 language codes plus ISO 3166-1 country codes. For URL structure, subdirectories come first (example.com/de/), then subdomains, then separate domains as a last resort. The five common mistakes are one-way references, a missing x-default, wrong language codes, a missing self-reference, and inconsistent URLs. Any one of them breaks the whole hreflang group. Within 7 days of launch, confirm zero errors in the International Targeting report in Search Console.

1. What hreflang actually does: a hint, not a command

Let’s clear up the most common misunderstanding first: hreflang does not force Google to show a given version to users in a given region. It only tells Google “these URLs are the same content in different languages, so pick the one that best matches the user’s language.” Google may still choose what it considers a better fit based on other signals (search terms, links, local authority). hreflang just improves the odds of getting it right.

For B2B companies going global with multilingual sites, hreflang solves two specific problems: when a German user searches in German, don’t show them the English page; when a French-speaking Belgian user searches in French, don’t show them the France French or Canadian French page. The classic failure looks like this: a German user sees an English title in the SERP, clicks, and gets 301-redirected to the German page. That redirect costs you half your click-through rate.

Common Misconceptions Actual behavior Consequence
hreflang forces regional display It’s only a hint; Google has discretion Mistakes don’t affect indexing, only matching
Once you have hreflang, you don’t need translations Content must be genuinely translated; machine translation doesn’t count Google detects automatically translated content
You can just put hreflang in the footer It must go in the head, an HTTP header, or the sitemap The footer isn’t crawlable
One domain per language One domain can host multiple language versions Split languages by subdirectory or subdomain

Quality gates for multilingual sites are stricter than for single-language ones. If your translation quality isn’t up to standard, it’s better not to launch at all. See Quality Gates for Launching Multilingual Content. Multilingual strategy in the GEO era goes beyond English. See Multilingual GEO Goes Beyond English.

2. URL Structure: Subdirectories Beat Subdomains Beat Standalone Sites

Pick your URL structure before you touch hreflang. Get this wrong and you’ll spend the rest of the project patching holes.

Structure Example SEO Authority Flow Maintenance cost Use cases
Subdirectory example.com/de/, example.com/fr/ Concentrated on the main domain, strongest Minimum The default choice for most B2B websites
Subdomains de.example.com, fr.example.com Split, each needs its own authority Medium When you already run a separate brand per country
Independent Site example.de, example.fr Fully independent, each needs its own backlinks Highest Heavy localization needs, dispersed teams
Parameter-based example.com?lang=de Not recommended, high duplicate content risk Low but risky Don’t use

90% of B2B teams going global should use subdirectories. Why: authority concentrates on the main domain, hreflang is simpler to maintain, and you only configure one set of CDN and HTTPS certificates. Subdomains are only worth it if you’ve already built a separate brand and backlink profile for a specific country market. Standalone sites only make sense if you have a real local entity, local team, and local content production in Germany or France. For where country landing pages end and doorway pages begin, see Country Landing Pages vs. Doorway Pages: The Red Line.

3. Markup: Three Ways to Implement It

There are three ways to implement hreflang. Pick based on your situation.

Method Where It Goes Best for Priority
HTML link tag In the head of every page Dozens to hundreds of pages First choice
XML sitemap Add xhtml:link in the sitemap Thousands of pages or more Best for large scale
HTTP response header Server returns a Link header Non-HTML documents like PDFs Supplementary

The standard HTML link tag setup: in the head of every language version, list all versions (including itself) and x-default. Take English, German, and French versions as an example. The English page’s head must contain:

link rel=”alternate” hreflang=”en” href=”https://example.com/”, link rel=”alternate” hreflang=”de” href=”https://example.com/de/”, link rel=”alternate” hreflang=”fr” href=”https://example.com/fr/”, link rel=”alternate” hreflang=”x-default” href=”https://example.com/”. The German and French pages must carry the same complete list, with URLs matching exactly.

Use ISO 639-1 two-letter language codes, plus an ISO 3166-1 country code when needed: en for generic English, en-GB for British English, de-AT for Austrian German, zh-CN for Simplified Chinese, zh-TW for Traditional Chinese. Don’t use incomplete codes like cn or zh.

4. Checklist of Five Common Mistakes

90% of hreflang failures come down to these five mistakes. Check them one by one.

Mistake How to check Consequence Fix Timeline
One-way reference The English page points to German, but the German page doesn’t point back The whole group stops working Fix the same day
Missing x-default No fallback page found Users with unknown languages may see the English version Add it the same day
Wrong language code cn should be zh-CN; zh is too broad Matching errors Correct it the same day
Missing self-reference A page doesn’t list its own hreflang That version drops out of group selection Add it the same day
Inconsistent URLs http/https, trailing slashes, inconsistent capitalization treated as different URLs, breaking the group Rewrite after normalization
Circular reference error A points to B, B points to C, C points to A, but A doesn’t point to C Google can’t form the group Rewrite the whole group

One tool helps you check this fast: Search Console’s International Targeting report lists every error within 7 days of launch, including “no return tag” and “return tag not found.” Export the error list and fix page by page until the report shows zero. On multilingual sites, number and table localization has to stay in sync with hreflang, see Multilingual number, table, and unit localization. Consistent glossary management is a prerequisite for translation quality, see MTPE glossary workflow.

5. The line between regional pages and multilingual versions

B2B companies going global often confuse two things: multilingual versions (the same content in different languages) and regional landing pages (content written specifically for a region).

Dimension Multilingual versions Regional landing pages
Content Translated from the same source Written specifically for the local market
URL Language subdirectories like /de/, /fr/ Regional subdirectories like /us/, /mena/
hreflang Required Can use x-default or a region code
Risk Poor translation quality Doorway page penalty
Example English product page translated into German “Buying Guide for Middle East Buyers”

Key red line: regional landing pages must have genuinely localized content (local certifications, local case studies, local payment methods) — not just an English page with a swapped headline. For how doorway pages are judged and where the red line sits, see Country Landing Pages vs. Doorway Pages: The Red Line. For market priorities, start with English, the EU, the Middle East, and Latin America, see Go-to-market priorities English EU Middle East North Africa Latin America.

6. Launch checks and monitoring cadence

Steps Tools Timeframe Pass criteria
Local code review Check the head template by template Before submitting All three language versions reference each other completely
URL normalization canonical and hreflang match Before submitting No http/https conflicts
Verify after deployment Rich Results Test or an hreflang tool Launch day All 4 tags complete in each group
Search Console International Targeting report Days 7 and 14 Zero errors
Quarterly spot check Check in sync when new pages go live Every release New templates inherit the hreflang logic

During a site migration or redesign, hreflang is the part new templates most often drop, so regression-test it together with Migration 301s and SEO preservation. When new pages go live, build hreflang output logic into the dev template — don’t rely on ops to add it by hand.

FAQ

English is the primary language. Do the German and French pages need to reference each other with hreflang?
Yes, and they must reference each other completely. The English page lists four tags: en, de, fr, x-default. The German page also lists four: en, de, fr, x-default. Same for the French page. All three pages must have identical tag lists, with URLs matching exactly. Miss one cross-reference and the whole hreflang group fails, and Google assigns language versions by its own logic.
Is it better to use subdirectories or subdomains for hreflang?
Choose a subdirectory in 90% of cases. example.com/de/ keeps authority concentrated on the main domain, and Google treats it as the same site in a different language, so you maintain one certificate and one CDN. Google treats the subdomain de.example.com as a relatively separate site, so it has to build backlinks and authority on its own. Unless you already have a standalone brand and a local team in Germany, don’t split off a subdomain.
Can machine-translated pages use hreflang?
No. Google can tell when machine translation is low quality, and even with hreflang it won’t index the page as a separate language version. Instead it dilutes your main site’s quality signals. The right approach is machine translation plus human review (MTPE) before you publish. For the translation quality bar, see Quality Gates for Launching Multilingual Content. If a version doesn’t pass the quality bar, it’s better to show English only than to force a minor language live.
Which page should x-default point to?
Point it to your primary language page, usually the English homepage. When a user’s browser language doesn’t match any language you offer, Google uses the x-default page as the fallback. Don’t build a separate “choose your language” interstitial for x-default. That kind of page converts terribly and Google doesn’t like it either. Just point it straight at your English site.
Is it better to put hreflang in the sitemap or in the head?
It depends on scale. Under a few hundred pages, the head is the most direct option: your developer edits the template once and it applies site-wide. Above a few thousand pages, the sitemap is easier to maintain, because sitemaps are machine-generated and less prone to human error. Don’t mix the two. Pick one. In the sitemap, you add an xhtml:link child element to each URL listing all language versions.
What if a country has multiple languages, like French and Dutch in Belgium?
Separate them with region codes. Belgian French is fr-BE, Belgian Dutch is nl-BE, French in France is fr-FR, and Dutch in the Netherlands is nl-NL. Don’t use just fr or nl, because that mixes them up with French in France and Dutch in the Netherlands. This fine-grained distinction is exactly where hreflang earns its keep: a French-speaking user in Brussels and one in Paris should land on different pages.

Final thoughts

hreflang for a multilingual site is classic “the details make or break it” work: one wrong character or one missing reciprocal link and the whole set fails, and by the time you see it in Search Console it may be two weeks after launch. Make it a templated process. Have your developer build the hreflang output logic into the template, so when ops adds a language they just fill in the URL list instead of relying on memory.

Three steps to get there: this week, audit your existing multilingual templates against the checklist of five error types; next week, confirm zero errors in the International Targeting report in Search Console; the third week, add an hreflang check to your new page launch process. Once those three steps are done, your multilingual site will finally start serving buyers in every country.

One line worth remembering: hreflang is a translation index for Google. List every version, point them at each other, and add a fallback, and only then will it send German buyers to the German page.

Cui Lishu
Cui Lishu Crater experts

Delivery · Operations Lead · Crater Delivery & Operations Team

Delivery & Operations Lead at Crater. Responsible for SEO execution, social media channel operations, and content distribution, with a knack for breaking down growth actions with data. Has overseen the delivery of multiple go-global projects, with a focus on the coordinated playbook across Facebook, Twitter, TikTok, YouTube, and SEO/GEO.

SEO executionContent operationsCase breakdowns
1106articles shared
84knowledge base articles