Hreflang
O que é hreflang, as três formas de implementá-lo, as regras recíprocas e autorreferenciais, códigos válidos de idioma/região e como auditar clusters em escala.
1 sinal de evidência nesta página
- Ferramenta relacionada ativahreflang Generator + Linter
Hreflang informa aos mecanismos de busca qual versão de idioma/região de uma página mostrar para qual usuário. Você o declara de uma de três maneiras — tags no head do HTML, cabeçalhos HTTP ou sitemap XML — usando códigos de idioma ISO 639-1 + códigos de região ISO 3166-1 alpha-2. Ele só funciona como um cluster recíproco: cada página deve linkar para si mesma e para todas as suas alternativas, e se algum link de retorno estiver faltando, o Google ignora o par. É uma dica, não uma diretriz — hreflang incorreto é ignorado, não penalizado. Também é frágil: no meu estudo de 374 756 domínios que usam hreflang, mais de 67% tinham pelo menos um problema. O Bing quase não o usa (content-language é o sinal mais forte lá). Este hub explica tudo e aponta para os mergulhos profundos.
« » (Tradução) (Síntese localizada do trecho três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«> TL;DR — Hreflang tells search engines which version of a page is meant for
which language or region — so a Spanish speaker gets your Spanish page and a French speaker gets the French one. You add a small annotation to each page listing all the language versions. The catch: every page has to point back at every other one, or Google may ignore the affected annotations. » (Tradução) (Síntese localizada do trecho quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## What hreflang is » (Tradução) (Síntese localizada do trecho cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«If you publish the same page in more than one language — or in the same language for different countries — hreflang is how you tell Google which is which. It’s an annotation that lists all the alternate versions of a page and the language (and optionally the region) each one targets. When someone searches, Google can use it to swap in the version that matches their language and location — it’s a signal that helps Google choose the right localized URL, not a guarantee of indexing, ranking, traffic, which URL gets shown, or citation in AI answers.
Evidência desta afirmação Google accepts hreflang in HTML, HTTP headers, or XML sitemaps and says the methods are equivalent from its perspective. Escopo: Google Search hreflang implementation methods. Confiança: alta · Verificado: Google: Localized versions» (Tradução) (Síntese localizada do trecho seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«It looks like this in the page’s HTML <head>:
» (Tradução) (Síntese localizada do trecho sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />«Each line says: “there’s an alternate version of this page, it’s for this language/region, and it lives at this URL.” » (Tradução) (Síntese localizada do trecho nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## The three ways to add it » (Tradução) (Síntese localizada do trecho dez, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Generate valid tags with the hreflang Generator + Linter: » (Tradução) (Síntese localizada do trecho onze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«1. In the locale/URL matrix, add one row per language version of your page (locale code + URL) — the output updates live as you type. 2. Pick the format you need from the output tabs — Head tags, Sitemap XML, Link headers, or framework Snippets. 3. Check the linter panel for invalid-code or missing-return-link warnings, then Copy or Download the result. » (Tradução) (Síntese localizada do trecho doze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«You only need to pick one of these: » (Tradução) (Síntese localizada do trecho treze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«1. HTML <head> tags — the most common method, shown above. Good for smaller
sites.
2. HTTP Link headers — the same information sent in the server response
instead of the HTML. This is the only option for non-HTML files like PDFs.
3. XML sitemap — you list the alternates inside your sitemap instead of on
each page. Best for big sites, because you don’t have to touch every page’s
HTML.
» (Tradução) (Síntese localizada do trecho catorze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## The codes have to be valid » (Tradução) (Síntese localizada do trecho quinze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The value is a language code, optionally followed by a dash and a region code: » (Tradução) (Síntese localizada do trecho dezesseis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Language uses ISO 639-1
— en for English, es for Spanish, de for German, ja for Japanese.
- Region (optional) uses ISO 3166-1 alpha-2
—
en-us,en-gb,es-mx. » (Tradução) (Síntese localizada do trecho dezessete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Two things people get wrong constantly: the United Kingdom is gb, so UK English
is en-GB, not en-UK (uk is reserved and actually means Ukrainian). And
you can target a language on its own (es = all Spanish speakers everywhere), but
you can’t target a region on its own — there’s always a language first.
» (Tradução) (Síntese localizada do trecho dezoito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google’s documented hreflang contract is narrower than the code space the web
platform allows generally: Google recognizes language + optional region and says
reserved codes like EU, UN, and UK simply have no effect as region targets.
The broader HTML/BCP 47 language-tag standard that hreflang is built on also
supports script subtags (zh-Hant for Traditional Chinese, sr-Latn for
Latin-script Serbian) — worth knowing for lang attributes generally, but stick to
Google’s documented language-plus-region pattern for hreflang specifically.
» (Tradução) (Síntese localizada do trecho dezenove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## The two rules that make it work » (Tradução) (Síntese localizada do trecho vinte, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Every page must point back. If your English page links to your Spanish page, the Spanish page has to link back to the English one. If that return link is missing, Google may ignore or misinterpret the affected annotations.
- Every page should point to itself. Each version lists itself in its own set of hreflang tags (the “self-referential” tag). Google calls this optional but good practice, and it’s the safest default.
» (Tradução) (Síntese localizada do trecho vinte e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## When do you actually need hreflang? » (Tradução) (Síntese localizada do trecho vinte e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«You need it when you have genuinely different versions of a page for different languages or regions: » (Tradução) (Síntese localizada do trecho vinte e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Real translations (an English page and a Spanish page).
- The same language for meaningfully different markets (a US English page and a UK English page with different prices, spelling, or shipping info). » (Tradução) (Síntese localizada do trecho vinte e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«You don’t need it for a single-language site, and you shouldn’t bolt it onto thin or auto-translated pages just to have it. Hreflang doesn’t make you rank higher — it just helps the right version show up for the right person. » (Tradução) (Síntese localizada do trecho vinte e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Want the implementation-at-scale version, the canonicalization edge cases, what Bing does instead, and how to audit a broken cluster? Switch to the Avançado tab. » (Tradução) (Síntese localizada do trecho vinte e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Hreflang mistakes that break clusters » (Tradução) (Síntese localizada do trecho vinte e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Publishing one-way annotations » (Tradução) (Síntese localizada do trecho trinta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Why it fails: an alternate that does not link back creates a missing return tag, so the pair may be ignored. Do instead: generate the complete reciprocal set on every member, including its self-reference. » (Tradução) (Síntese localizada do trecho trinta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Pointing hreflang at redirected or non-canonical URLs » (Tradução) (Síntese localizada do trecho trinta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Why it fails: the annotation names a URL that is not the final indexable version, creating conflicting signals. Do instead: target direct 200 canonical URLs and keep each page self-canonical unless consolidation is intentional.
» (Tradução) (Síntese localizada do trecho trinta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Using a country code without a language » (Tradução) (Síntese localizada do trecho trinta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Why it fails: region is optional, but language is required. Do instead: use a valid language code such as en, optionally followed by a valid region such as en-GB.
» (Tradução) (Síntese localizada do trecho trinta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Mixing implementation methods without one source of truth » (Tradução) (Síntese localizada do trecho trinta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Why it fails: HTML, headers, and sitemaps can drift into contradictory clusters. Do instead: choose the method your stack can generate reliably or derive all methods from the same locale map. » (Tradução) (Síntese localizada do trecho trinta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Test yourself: Hreflang » (Tradução) (Síntese localizada do trecho quarenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«> TL;DR — Hreflang is a reciprocal cluster signal: every page lists itself and
all alternates, and a missing return tag voids the pair. Declare it one way only — HTML head, HTTP
Linkheaders (PDFs), or XML sitemap (best at scale). Codes are ISO 639-1 language + ISO 3166-1 alpha-2 region;en-UKis wrong, it’sen-GB. It’s a hint, not a directive (Mueller) — wrong hreflang is ignored, not penalized, and Google can override it for same-language consolidation or indexing reasons. It breaks constantly: in my Ahrefs study of 374,756 domains, over 67% had at least one issue. Bing treats it as a far weaker signal thancontent-language. Audit clusters visually rather than in spreadsheets. » (Tradução) (Síntese localizada do trecho quarenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Hreflang is a cluster, not a tag » (Tradução) (Síntese localizada do trecho quarenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
© Patrick Stox LLC · CC BY 4.0 ·
© Patrick Stox LLC · CC BY 4.0 ·
«The mental model that fixes most hreflang confusion: it isn’t a per-page tag, it’s a bidirectional graph. Google’s own requirement is blunt — “Each language version must list itself as well as all other language versions,” and “if two pages don’t both point to each other, the tags will be ignored.” So if page X points to Y but Y doesn’t point back to X, that edge is silently dropped. One missing return tag can cause the affected annotations to be ignored or interpreted incorrectly — but Google says it can still process the pairs that are correctly reciprocal, so one broken relationship doesn’t necessarily take down every annotation in a larger cluster.
Evidência desta afirmação Each hreflang set should include the page itself, use fully qualified URLs, and include return links; without reciprocity, the affected annotations may be ignored or misinterpreted. Escopo: Google Search hreflang guidelines; the documentation does not say one missing return link invalidates every annotation in a cluster. Confiança: alta · Verificado: Google: Localized versions guidelines» (Tradução) (Síntese localizada do trecho quarenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Two non-negotiables flow from that: » (Tradução) (Síntese localizada do trecho quarenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Reciprocity. Every reference must be returned. This is where implementations break at scale — the moment one template, one CMS field, or one region’s pages fall out of sync, return links go missing.
- Self-reference. Each page lists itself. Mueller calls it “optional—but good practice”; in practice, a self-referential set is the cleanest way to keep clusters consistent and is flagged as an issue when missing. » (Tradução) (Síntese localizada do trecho cinquenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Absolute, fully-qualified URLs are required too — https://example.com/foo, never
//example.com/foo or /foo.
» (Tradução) (Síntese localizada do trecho cinquenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Three methods — and the trade-offs » (Tradução) (Síntese localizada do trecho cinquenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google treats HTML tags, HTTP headers, and XML sitemaps as equivalent — there’s no Search benefit to implementing more than one. Pick one method per site based on what your stack can maintain reliably; mixing them invites conflicts. » (Tradução) (Síntese localizada do trecho cinquenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- HTML <head> tags. Simplest, most visible. Downside: on a site with dozens
of locales, every page carries a large block of <link> tags, adding markup
weight, and any page in the <body> (from malformed HTML or JS injection) is
invalid — hreflang only counts in the <head> of the page as Google
renders/parses it.
- HTTP
Linkheaders. The only option for non-HTML resources like PDFs. Sent in the response, so they don’t bloat the document. - XML sitemaps. The right call at scale. The annotations live centrally
(
xhtml:linkchildren under each<url>, with thexmlns:xhtml="http://www.w3.org/1999/xhtml"namespace), so you can regenerate the whole cluster from a database without redeploying pages. There’s no “faster” method — both HTML and sitemaps are resolved at crawl time — but sitemaps are far easier to QA because you can validate the entire graph in one file instead of crawling every page.
» (Tradução) (Síntese localizada do trecho cinquenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Reciprocal linking at scale — where it breaks » (Tradução) (Síntese localizada do trecho cinquenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«In a 5-locale site, that’s a 5×5 matrix of references per page set, regenerated every time you add or remove a locale, fix a slug, or migrate a URL. The failure modes are predictable: » (Tradução) (Síntese localizada do trecho cinquenta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Inconsistent URL formats. Trailing-slash vs. not, http vs. https, www
vs. apex, or uppercase vs. lowercase paths — any mismatch between the URL in the
hreflang and the URL Google actually indexes breaks the return-link match.
- Pointing at redirected or broken URLs. A locale URL changes, the redirect
goes in, but the hreflang still points at the old URL. The cluster now references
a
301or a404. - Code drift.
jpinstead ofjafor Japanese, three-letter codes where two-letter is required,en-UKinstead ofen-GB. Invalid codes are ignored. » (Tradução) (Síntese localizada do trecho cinquenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«### Worked deployment example: the return tag points to yesterday’s URL » (Tradução) (Síntese localizada do trecho cinquenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Suppose the UK product page moved from /gb/shoes/ to /uk/shoes/. The US page was
not regenerated, so it still publishes:
» (Tradução) (Síntese localizada do trecho cinquenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
<link rel="alternate" hreflang="en-US" href="https://shop.example/us/shoes/" />
<link rel="alternate" hreflang="en-GB" href="https://shop.example/gb/shoes/" />«The old UK URL redirects to /uk/shoes/, while the new UK page links back to the US
page from its final canonical URL. That leaves two distinct problems: the US
annotation targets a redirect, and the final UK URL is not the same URL the US page
declared. Fix the generator so both pages publish the complete set using final,
indexable URLs:
» (Tradução) (Síntese localizada do trecho sessenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
<link rel="alternate" hreflang="en-US" href="https://shop.example/us/shoes/" />
<link rel="alternate" hreflang="en-GB" href="https://shop.example/uk/shoes/" />«Validate both directions after deployment; checking only the US source tag would
miss the return-tag failure. This is an illustrative .example cluster.
» (Tradução) (Síntese localizada do trecho sessenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The lesson from my conference talks holds: automate hreflang generation from a single source of truth. Hand-maintained hreflang at scale is a guarantee of return-tag rot. » (Tradução) (Síntese localizada do trecho sessenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Canonicalization conflicts » (Tradução) (Síntese localizada do trecho sessenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Hreflang depends on what’s indexed, not on what’s canonicalized — but the two interact, and getting it wrong breaks clusters: » (Tradução) (Síntese localizada do trecho sessenta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Self-referencing canonicals are the safe default. Each language version should canonicalize to itself. If your Spanish page canonicalizes to the English page, you’re telling Google the Spanish URL isn’t the one to index — and hreflang pointing at a non-canonical URL is one of the more common errors.
- The same-language, multi-country edge case. When you have, say,
en-usanden-gbpages that are near-identical, Google may consolidate them and index one — but it can still swap the displayed URL in the SERP to the correct country version via the hreflang links. So a “canonicalized-away” URL can still surface for the right user. That’s a feature, not a bug, but it surprises people auditing index coverage. - noindex and robots.txt. A page blocked from indexing can’t participate in a cluster — its hreflang can’t be acted on, and pointing to a noindexed/blocked URL breaks the return link. Don’t block or noindex language variants you want served. » (Tradução) (Síntese localizada do trecho sessenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## It’s a hint, not a directive » (Tradução) (Síntese localizada do trecho sessenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«This is the framing to internalize. In May 2025 on Bluesky, John Mueller responded
to a case of fr-be pages showing up in fr results despite correct hreflang:
“hreflang doesn’t guarantee indexing, so it can also just be that not all
variations are indexed,” and “I suspect this is a ‘same language’ case where our
systems just try to simplify things for sites.” Google reserves the right to
override hreflang for same-language consolidation, indexing gaps, or its own
canonical choices.
» (Tradução) (Síntese localizada do trecho sessenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google’s canonicalization guidance is the flip side of that: it recommends choosing a canonical in the same language as the page (or the best available substitute), and it says it prefers URLs that are part of a complete reciprocal hreflang cluster over otherwise-similar URLs sitting outside it. That’s a preference, not a promise — being in a correctly-built cluster improves your odds of the right URL getting selected, but it doesn’t guarantee indexing or which URL shows. » (Tradução) (Síntese localizada do trecho setenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The practical consequence: wrong hreflang is ignored, not penalized. If your cluster is broken, Google falls back to its own language/region detection. The cost is opportunity (the wrong URL shows for some users), not a ranking hit. So “my hreflang is wrong” is rarely an emergency — but it’s also rarely doing anything useful. » (Tradução) (Síntese localizada do trecho setenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Bing and the other engines use a different stack » (Tradução) (Síntese localizada do trecho setenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Hreflang is a Google (and Yandex) signal. Bing’s signal stack is completely
different. Fabrice Canel, Principal Program Manager on Microsoft Bing, has said
plainly that “hreflang is indeed a far weaker signal than content-language at
Bing.” Bing leans on the content-language HTTP header / meta tag, the
<html lang=""> attribute, inbound links, visitor geography, and server/ccTLD
location, and Canel has advised against “duplicating URLs just to have them tagged
with these language-markets” in most cases. Baidu doesn’t support hreflang at
all (it keys off hosting location, Chinese domain registration, ICP licensing, and
content-language). So a robust international setup pairs hreflang for Google with a
correct content-language / html lang for everyone else.
» (Tradução) (Síntese localizada do trecho setenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## The error rate is the story » (Tradução) (Síntese localizada do trecho setenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«When I ran the largest hreflang study to date at Ahrefs — 374,756 domains, nearly 10× larger than any prior study — over 67% of domains using hreflang had at least one issue. The distribution: » (Tradução) (Síntese localizada do trecho setenta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«| Issue | % of domains | | --- | --- | | Missing x-default | 56.3% | | Missing self-referencing tags | 18.0% | | Referencing broken/redirected pages | 16.9% | | Missing reciprocal tags | 15.3% | | Pointing to non-canonical URLs | 8.0% | | Incorrect language/country codes | 4.6% | | Inconsistent language attributes | 3.2% | | Multiple pages for same language | 2.5% | | Same page for multiple languages | 2.5% | » (Tradução) (Síntese localizada do trecho setenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«My study’s summary still stands: hreflang is complex and hard to get right, and it can break in a lot of different ways. » (Tradução) (Síntese localizada do trecho setenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Auditing at scale — visualize the cluster, don’t read a spreadsheet » (Tradução) (Síntese localizada do trecho setenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«See your own cluster with returntag: » (Tradução) (Síntese localizada do trecho oitenta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«1. Paste one page URL, a sitemap URL, or a list of page URLs into the tool. 2. Click Validate cluster. 3. Read the GRAPH view — broken or missing return links stand out by severity color — or switch to MATRIX for a row-by-row view, and export a fix-list CSV if you need to hand it to someone else. » (Tradução) (Síntese localizada do trecho oitenta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The reason hreflang errors hide is that a return-tag problem is a relationship
between pages, and relationships are nearly impossible to read across rows of a
spreadsheet. Ahrefs Site Audit was the first tool to render the hreflang cluster
as a graph — open any page’s URL details and the Hreflangs tab draws the
whole cluster as a network, with the broken pages and missing/incorrect links
highlighted in red. You can see at a glance which return tag is missing or
which link was added by mistake — and it’s far easier to show a stakeholder than a
CSV. Site Audit also runs the underlying checks (invalid annotation, missing
self-reference, more than one page per language, hreflang/html lang mismatch,
missing reciprocal tag, non-canonical target, broken target) that map directly to
the study’s error list.
» (Tradução) (Síntese localizada do trecho oitenta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Beyond that: » (Tradução) (Síntese localizada do trecho oitenta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- GSC URL Inspection confirms how a single URL was crawled and indexed. Note the old International Targeting report was deprecated on September 22, 2022 — Google said it “had little value for the ecosystem.” Hreflang tags themselves still work; only the report is gone.
- Manual SERP testing with the
&hl=(host language) and&gl=(geolocation) parameters on a Google search URL lets you preview what a given locale’s results look like. » (Tradução) (Síntese localizada do trecho oitenta e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Hreflang is also a technical-SEO audit concern » (Tradução) (Síntese localizada do trecho oitenta e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Although hreflang’s home is international SEO, it shows up in nearly every technical SEO audit of a multi-language or multi-region site — it sits right alongside canonicalization, indexing, and crawl-accessibility checks, and it’s one of the items most likely to be silently broken. If you’re running a technical audit and the site has more than one locale, the hreflang cluster belongs on the checklist. » (Tradução) (Síntese localizada do trecho oitenta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Where to go next » (Tradução) (Síntese localizada do trecho oitenta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«This hub is the map for the hreflang sub-cluster. The first deep dive: » (Tradução) (Síntese localizada do trecho oitenta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- x-default — the fallback value for users whose locale matches none of your explicit tags (a country selector or a global homepage). It’s not required, but it was the single most common omission in my study (56.3% of sites). The dedicated subtopic covers when to use it, when to skip it, and how it interacts with the rest of the cluster. » (Tradução) (Síntese localizada do trecho oitenta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«For the broader strategy this implements, see the International SEO pillar — hreflang is the technical layer of an international strategy; it doesn’t replace genuine localization (local intent, local content, local authority). » (Tradução) (Síntese localizada do trecho noventa, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## AI summary » (Tradução) (Síntese localizada do trecho noventa e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«A condensed take on the Advanced version: » (Tradução) (Síntese localizada do trecho noventa e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Hreflang is a reciprocal cluster signal, not a per-page tag — and only a signal Google can use to pick a localized URL, not a guarantee of indexing, ranking, traffic, which URL displays, or AI citation. Every page lists itself and all alternates; a missing return tag voids that pair, though Google can still process the pairs elsewhere in the cluster that are correctly reciprocal.
- Three methods, pick one: HTML
<head>tags, HTTPLinkheaders (the only option for PDFs), or XML sitemap (best at scale, easiest to QA). Google treats all three as equivalent — no Search benefit to using more than one, and neither is “faster” (both resolve at crawl time). - Codes: ISO 639-1 language + optional ISO 3166-1 alpha-2 region.
en-GB, noten-UK; reserved codes likeEU/UN/UKhave no effect as regions. You can target a language alone but never a region alone. Absolute URLs required. (The broader BCP 47 standard hreflang is built on also allows script subtags likezh-Hant— Google’s documented hreflang contract doesn’t extend that far.) - Hint, not directive (Mueller, May 2025): wrong hreflang is ignored, not penalized; Google can override it for same-language consolidation or indexing reasons.
- Canonicalization: self-referencing canonicals are the safe default; Google prefers URLs inside a complete reciprocal cluster over similar URLs outside it, but that’s a preference, not a promise. Pointing hreflang at a non-canonical, » (Tradução) (Síntese localizada do trecho noventa e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.) « redirected, broken, or noindexed URL breaks the cluster.
- Bing is different: hreflang is “a far weaker signal than content-language at
Bing” (Canel). Pair hreflang (Google/Yandex) with
content-language+html langfor the rest. Baidu doesn’t support it at all. - It breaks constantly: in my Ahrefs study of 374,756 hreflang-using domains, 67%+ had an issue; the top miss was x-default (56.3%).
- Audit it visually: Ahrefs Site Audit’s Hreflangs tab was the first to draw the cluster as a graph with errors in red — far better than a spreadsheet. GSC’s International Targeting report was deprecated Sept 22, 2022. » (Tradução) (Síntese localizada do trecho noventa e cinco, parte dois: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Official documentation » (Tradução) (Síntese localizada do trecho noventa e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Primary-source documentation from the search engines. » (Tradução) (Síntese localizada do trecho noventa e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
- Localized versions of your pages — the primary hreflang doc: the three methods, the reciprocity requirement, valid codes, and absolute-URL rule.
- Managing multi-regional and multilingual sites — geotargeting signals Google does and doesn’t use, URL-structure options, and the auto-redirect warning.
- Tell Google about localized versions (x-default blog, 2013) — the original introduction of
x-default. - International Targeting report deprecation (Sept 2022) — why the report was removed and what to use instead. » (Tradução) (Síntese localizada do trecho cem, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Bing / Microsoft
- Bingbot Series: Maximizing Crawl Efficiency — context on how Bing thinks about international/multilingual sites; Bing prioritizes
content-languageover hreflang. - Bing Webmaster Tools — Help & How-To — Bing’s webmaster guidance, including its preference for
content-languageandhtml langsignals. » (Tradução) (Síntese localizada do trecho cento e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Quotes from the source » (Tradução) (Síntese localizada do trecho cento e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«On-the-record statements from Google and Bing. » (Tradução) (Síntese localizada do trecho cento e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Google — reciprocity is the core rule » (Tradução) (Síntese localizada do trecho cento e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “Each language version must list itself as well as all other language versions.” — Google Search Central docs. Jump to quote
- “If two pages don’t both point to each other, the tags will be ignored.” — Google Search Central docs. Jump to quote
- “Alternate URLs must be fully-qualified, including the transport method (http/https).” — Google Search Central docs. Jump to quote » (Tradução) (Síntese localizada do trecho cento e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«John Mueller, Google — hints, not directives » (Tradução) (Síntese localizada do trecho cento e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “hreflang doesn’t guarantee indexing, so it can also just be that not all variations are indexed.” — John Mueller, Search Advocate, Google (Bluesky, May 2025). Coverage
- On self-referential tags: hreflang self-references are “optional—but good practice.” — John Mueller, Google. Reference » (Tradução) (Síntese localizada do trecho cento e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Fabrice Canel, Microsoft Bing — a weaker signal at Bing » (Tradução) (Síntese localizada do trecho cento e dez, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- “hreflang is indeed a far weaker signal than content-language at Bing.” — Fabrice Canel, Principal Program Manager, Microsoft Bing. Coverage » (Tradução) (Síntese localizada do trecho cento e onze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Note: the Mueller “hints not directives” and self-referential quotes, and the Canel statement, are relayed via secondary coverage (SEJ, Ahrefs, SEO Round Table) of a Bluesky post and reported remarks; confirm against the original sources before treating as final. The two Google-docs quotes deep-link to the live documentation via text fragments. » (Tradução) (Síntese localizada do trecho cento e doze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Hreflang implementation checklist » (Tradução) (Síntese localizada do trecho cento e quinze, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Pre-launch » (Tradução) (Síntese localizada do trecho cento e dezesseis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- [ ] Decided on one implementation method (HTML head / HTTP headers / XML sitemap) and used it consistently — no mixing.
- Every page lists itself (self-referential tag) and all alternates.
- References are reciprocal — if A points to B, B points back to A.
- Language codes are valid ISO 639-1; region codes are valid ISO 3166-1
alpha-2 (
en-GB, noten-UK;ja, notjp). - URLs are absolute and fully-qualified (
https://…), and match the form Google actually indexes (trailing slash, www, protocol, case). - Added an
x-defaultif you have a country selector or global fallback (optional, but the most-missed item — see the x-default subtopic). - hreflang tags are in the
<head>(or HTTP header / sitemap), never injected into the<body>by JS or broken HTML. - Each variant canonicalizes to itself — no canonical pointing at another language version.
- No variant is noindexed or blocked in robots.txt.
- For Bing/Baidu: set correct
content-languageand<html lang>— don’t rely on hreflang there. » (Tradução) (Síntese localizada do trecho cento e dezessete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Post-launch audit » (Tradução) (Síntese localizada do trecho cento e dezoito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- [ ] Run Ahrefs Site Audit and open the Hreflangs tab — check for red (broken) pages and missing/incorrect return links in the cluster graph.
- Resolve the standard Site Audit checks: invalid annotation, missing
self-reference, missing reciprocal tag, non-canonical target, broken/
redirected target, more-than-one-page-per-language, hreflang/
html langmismatch. - Spot-check a few URLs with GSC URL Inspection (the International Targeting report was deprecated Sept 2022 — don’t look for it).
- Preview locale results manually with
&hl=and&gl=parameters on a Google search URL. - Re-audit after any URL change, redirect, or new locale — that’s when return tags rot. » (Tradução) (Síntese localizada do trecho cento e dezenove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Hreflang cheat sheet » (Tradução) (Síntese localizada do trecho cento e vinte e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Code format » (Tradução) (Síntese localizada do trecho cento e vinte e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«hreflang="<language>" or hreflang="<language>-<region>"
» (Tradução) (Síntese localizada do trecho cento e vinte e quatro, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Language — ISO 639-1, two letters (required).
- Region — ISO 3166-1 alpha-2, two letters (optional, always after a language).
- Language-only (
es) targets that language anywhere; language+region (es-MX) targets that language in that country. - You can’t target a region by itself — there’s always a language first.
x-defaultis the fallback value for unmatched locales. » (Tradução) (Síntese localizada do trecho cento e vinte e cinco, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Common codes (and the ones people get wrong) » (Tradução) (Síntese localizada do trecho cento e vinte e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«| You want | Correct | Common mistake |
| --- | --- | --- |
| English (US) | en-US | — |
| English (UK) | en-GB | en-UK ❌ (uk = Ukrainian) |
| Spanish (Mexico) | es-MX | — |
| Japanese | ja | jp ❌ |
| Chinese (Simplified, China) | zh-CN | cn ❌ |
| German | de | ger ❌ (three letters) |
| All Spanish speakers | es | es-ES (over-narrows) |
| Global fallback | x-default | omitting it (56.3% do) |
» (Tradução) (Síntese localizada do trecho cento e vinte e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Reserved / avoid: EU, UN, UK as region codes — not valid ISO 3166-1
alpha-2 region targets.
» (Tradução) (Síntese localizada do trecho cento e vinte e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Implementation method — when to use each » (Tradução) (Síntese localizada do trecho cento e vinte e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«| Method | Where it lives | Best for | Watch out for |
| --- | --- | --- | --- |
| HTML <head> tags | each page’s <head> | small/medium sites | markup weight; tags in <body> are invalid |
| HTTP Link headers | server response headers | non-HTML files (PDFs) | needs server/CDN config |
| XML sitemap | central xhtml:link entries | large sites, many locales | needs the xmlns:xhtml namespace; keep in sync |
» (Tradução) (Síntese localizada do trecho cento e trinta, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«Pick one per site. None is “faster” — all resolve at crawl time. Sitemaps are easiest to QA because the whole cluster is in one file. » (Tradução) (Síntese localizada do trecho cento e trinta e um, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«The rules in one line each » (Tradução) (Síntese localizada do trecho cento e trinta e dois, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«- Reciprocal: A → B requires B → A, or the pair is ignored.
- Self-referential: every page lists itself (“optional—but good practice”).
- Absolute URLs: fully-qualified
https://…, matching the indexed form. - Hint, not directive: wrong hreflang is ignored, not penalized. » (Tradução) (Síntese localizada do trecho cento e trinta e três, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«## Resources worth your time » (Tradução) (Síntese localizada do trecho cento e trinta e seis, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«My related writing
- Hreflang: The Easy Guide for Beginners — my Ahrefs guide: definition, syntax, the three methods, the nine common issues and fixes, and how to audit (with the cluster visualization).
- Over 67% of Domains Using Hreflang Have Issues — my hreflang study of 374,756 domains, the largest ever run, and the source of the error-rate breakdown on this page. » (Tradução) (Síntese localizada do trecho cento e trinta e sete, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«My speaking
- Hreflang Study and Interesting Issues — Brighton SEO 2023 — the deck behind the study, plus Google’s most-specific matching (language+country → language → x-default) and the most common code mistakes.
- International SEO: The Weird Technical Parts — Pubcon Vegas 2019 — the contrarian details: hreflang depends on what’s indexed (not canonicalized), HTML vs. sitemaps resolve equally, head-section injection breaks tags, and auto-redirects risk both de-indexing and EU anti-geoblocking rules.
- You’re Going To Screw Up International SEO — Pubcon Vegas 2017 — the ecosystem of implementation chaos: tools giving wrong info, content served from different URLs than indexed, duplicate pages. » (Tradução) (Síntese localizada do trecho cento e trinta e oito, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
«From others
- Google’s Localized versions of your pages — the primary doc; worth reading in full before any implementation.
- Google’s Managing multi-regional and multilingual sites — geotargeting signals Google uses (and explicitly ignores), URL-structure options, and the auto-redirect warning.
- Google Reminds That Hreflang Tags Are Hints, Not Directives — Search Engine Journal, May 2025 — covers John Mueller’s Bluesky clarification on same-language consolidation overrides.
- Bing Says Hreflang A Weak Signal For Its Search Engine — SEO Round Table — Fabrice Canel’s on-record statement that
content-languageoutweighs hreflang at Bing. - Hreflang Magic Trick Revealed — GSQI — Mueller quotes explaining how Google can surface a canonicalized URL in SERPs via hreflang (the same-language, multi-country edge case).
- r/TechSEO — the community for debugging broken hreflang clusters. » (Tradução) (Síntese localizada do trecho cento e trinta e nove, parte um: o texto-fonte foi preservado para conferência na revisão nativa.)
Registro de alterações
Atualizado em 28 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 18 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.