Guide : How to Audit Hreflang at Scale
A repeatable, outil-driven traiter pour auditing hreflang à travers a grand site — pulling chaque annotation depuis tout three implementation méthodes, reading cluster graphs et reciprocal matrices, et prioritizing corrections par damage, pas frequency.
1 indice probant sur cette page
- Outil en ligne associéreturntag - hreflang checker
Auditing hreflang à scale est a graph-validation problème, pas a balise-validation problème: vous vérifier si chaque page dans a cluster points back à chaque autre page, pas si un page a a balise. Pull chaque annotation depuis tout three implementation locations (HTML head, HTTP headers, XML sitemap) avec a robot d’exploration — Google donne vous aucun validator et GSC's International Targeting rapport était supprimé Sept 22, 2022 — alors construire le reciprocal-balise matrix. Spot-vérifier a cluster visually avec mon gratuit returntag graph et matrix, or utiliser Ahrefs Site Audit et Screaming Frog pour complet-site coverage. Triage par damage: manquant retourner balises premier (ils break le entier pair), alors incorrect langue/region codes et non-canonical targets, alors manquant x-default dernier (la plupart courant à 56,3%, le moins harmful). Dans mon Brighton SEO 2023 study de 374 756 domains, over 67% en utilisant hreflang avait au moins un erreur.
TL;DR — Auditing hreflang “à scale” signifie checking votre entier site’s hreflang as un connected network au lieu de looking à pages un à a temps. Le trick est que hreflang fonctionne dans matched pairs — si page A points à page B, B a à point back à A, or Google throws le entier pair out. A unique-page vérifier peut jamais catch a manquant retourner lien, donc vous besoin a robot d’exploration que lit chaque page et maps qui points à whom. Corriger le manquant retourner liens premier; le manquant x-default que chaque outil complains à propos de peut wait.
Pourquoi “one page at a time” doesn’t fonctionner
Si vous view-source on votre German page et voir a tidy bloquer de hreflang balises, il semble fine. Mais hreflang seulement fonctionne si lune pages il références point back. Votre German page peut être perfect et encore être broken, parce que le English page il noms forgot à nom il dans retourner. Vous pouvez’t voir que depuis le German page alone — vous’d ont à ouvrir le English page aussi, et le French page, et chaque autre version, et cross-vérifier les tout par hand. On a ten-page site, fine. On a ten-thousand-page site, impossible.
c’est le entier raison “auditing hreflang at scale” est son propre skill: vous arrêter checking balises et commencer checking relationships. A outil explore chaque page, records chaque hreflang annotation, et alors demande le seulement question que matters — fait chaque page dans ce groupe point à chaque autre page, les deux directions?
Preuve à l’appui de cette affirmation A hreflang audit must verify return links because Google says non-reciprocal annotations may be ignored or interpreted incorrectly. Portée : Google Search hreflang reciprocity guidance; impact is stated as possible, not guaranteed cluster-wide invalidation. Niveau de confiance : élevé · Vérifié : Google: Hreflang guidelinesCe que vous en réalité besoin
Three choses:
- A robot d’exploration. Google donne vous aucun hreflang validator, et le old Search Console rapport que utilisé à flag some de ce était supprimé back dans 2022. Donc vous lean on tiers robots d’exploration — Ahrefs Site Audit or Screaming Frog — à pull tout dans un placer. Preuve à l’appui de cette affirmation A complete audit needs to inspect HTML, HTTP Link headers, and XML sitemaps because Google supports hreflang in all three locations. Portée : Google Search-supported hreflang delivery methods. Niveau de confiance : élevé · Vérifié : Google: Localized versions
- Le reciprocal vérifier. Les deux outils faire le même core chose: ils construire a map de qui-points-à-whom et flag le un-way liens. Ceux un-way liens sont votre “missing return tags,” et ils sont le erreurs que en réalité matter.
- A priority order. Vous va trouver hundreds de problèmes. Corriger le manquant retourner liens premier (ils break pairs), alors incorrect country/langue codes, et laisser le manquant x-default pour dernier — c’est le la plupart courant complaint mais le le moins harmful.
The un chose to remember
La plupart sites que utiliser hreflang ont erreurs. Quand Je studied 374 756 domains pour Brighton SEO dans 2023, over 67% de le ones en utilisant hreflang avait au moins un erreur. Donc ne pas panic quand votre premier explorer lights up red — c’est normal. Le skill n’est pas getting à zero erreurs; c’est knowing qui de les en réalité coût vous trafic et fixing ceux premier.
Pour le broader international audit — Structure d’URL, geo-redirects, qualité du contenu, country performances — voir International SEO Audit. Pour ce que hreflang même est et comment implement il, commencer avec Hreflang. Vouloir le complet à-scale methodology — le reciprocal-balise matrix, le cluster-graph walkthrough, le Screaming Frog filters? Switch à le Avancé tab.
Validate hreflang fixes
Reciprocal cluster retest
Tester à exécuter: Re-explorer chaque modifié cluster et comparer réel self et alternate edges avec le attendu locale matrix. Attendu résultat: Chaque member références itself et tout prévu alternates, et chaque edge a a retourner edge. Échec interpretation: Le corriger modifié un template or page sans updating le entier cluster. Monitoring window: Immédiatement après deployment et après le suivant generation cycle. Rollback trigger: A modifié cluster encore contient asymmetric priority-locale pairs.
Target integrity
Tester à exécuter: Requête chaque modifié hreflang destination sans suivant redirections et collect status, robots directives, et canonical. Attendu résultat: Targets retourner direct 200 réponses, remain indexable, et canonicalize as prévu. Échec interpretation: Le locale map points à obsolete, redirigé, bloqué, or consolidated URLs. Monitoring window: Release verification et le suivant complet explorer. Rollback trigger: Quelconque élevé-valeur cluster targets erreurs or unexpected non-URL canoniques.
«### Delivery-method consistency » (Traduction) (Résumé en français de la section vingt et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Test to run: Compare annotations found in HTML, HTTP headers, and XML sitemaps for changed URLs. Expected result: Only the intended method is present, or all generated methods declare the same cluster. Failure interpretation: Multiple systems own hreflang and have drifted. Monitoring window: After deployment and after the next sitemap refresh. Rollback trigger: Contradictory methods remain on production URLs. » (Traduction) (Résumé en français de la section vingt-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«### Code and scope validation » (Traduction) (Résumé en français de la section vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Test to run: Validate every changed value against supported language and region codes and the approved locale inventory. Expected result: Each value begins with a valid language and adds only an intentional valid region. Failure interpretation: A country was used as a language, an unsupported market leaked in, or casing/format generation is wrong. Monitoring window: In CI or predeployment QA and again in the production crawl. Rollback trigger: Invalid codes affect a generated template or multiple clusters. » (Traduction) (Résumé en français de la section vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
TL;DR — A scaled hreflang audit est graph validation, pas balise validation. Étape 1: pull chaque annotation depuis tout three legal locations (HTML head, HTTP
Linkheaders, XML sitemap) avec a robot d’exploration configuré pour votre ccTLD/subdomain setup — GSC ne peut pas faire ce (International Targeting supprimé Sept 22, 2022, et même avant que il seulement reported le canonical member de a cluster). Étape 2: construire le reciprocal-balise matrix — chaque URL dans a cluster × chaque autre, fait A→B exist, fait B→A. Lire il dans mon returntag cluster graph/matrix pour a focused vérifier, or utiliser Ahrefs et Screaming Frog pour site-wide exploration. Étape 3: classify dans four patterns — manquant retourner balises, incorrect codes, non-canonical targets, mixed absolute/relative URLs. Étape 4: prioritize par damage, pas frequency — retourner balises premier (ils break le entier pair), alors codes, alors x-default dernier (la plupart courant à 56,3%, le moins harmful). Étape 5: re-vérifier contre le indexé URL, pas le declared canonical.
Ce article est le hreflang-spécifique companion à mon broader International SEO Audit, qui treats hreflang as un de six audit areas. Ici Je’m going un level deeper on le hreflang-seulement methodology à scale. Pour fundamentals — ce que hreflang est, le three façons à implement il, le reciprocal règle — voir le Hreflang hub et, pour le fallback balise, x-default.
Preuve à l’appui de cette affirmation A complete audit needs to inspect HTML, HTTP Link headers, and XML sitemaps because Google supports hreflang in all three locations. Portée : Google Search-supported hreflang delivery methods. Niveau de confiance : élevé · Vérifié : Google: Localized versionsThe core reframe: ce is a graph problem
«Here’s the mental shift that makes scaled auditing tractable. You are not checking “does this page have a hreflang tag.” You’re checking “does every page in this page’s cluster point back to it, and does every URL in the cluster resolve to a 200, canonical, indexable page.” » (Traduction) (Résumé en français de la section trente, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google’s propre documentation is the raison:
Preuve à l’appui de cette affirmation A hreflang audit must verify return links because Google says non-reciprocal annotations may be ignored or interpreted incorrectly. Portée : Google Search hreflang reciprocity guidance; impact is stated as possible, not guaranteed cluster-wide invalidation. Niveau de confiance : élevé · Vérifié : Google: Hreflang guidelines“Si page X liens to page Y, page Y doit lien back to page X. Si ce n’est pas the cas pour tout pages que utiliser
hreflangannotations, ceux annotations may be ignored or pas interpreted correctement.”
Lire que carefully. Un manquant retourner lien peut causer le affected annotations à être ignored or interpreted incorrectly. c’est pourquoi a unique-page view est structurally incapable de auditing hreflang: le échec lives dans le relationship entre pages, pas on quelconque un page. Vous besoin a explorer que records chaque cluster member et cross-references les.
Scope matters ici aussi: le ignored annotations sont le ones dans le broken pair, pas automatiquement chaque relationship dans a plus grand cluster. A five-page cluster avec un manquant retourner typically garde processing son autre complet pairs normally — c’est exactly ce que mon returntag screenshot ci-dessous montre: nine reciprocal pairs intact, un manquant retourner flagged. ne pas assume un broken edge nukes le entier cluster; go vérifier chaque pair, parce que le outil a à vérifier chaque pair à tell vous que.
Et il obtient harder as le site grows — qui est exactly Google’s propre explanation pour pourquoi big sites sont le ones avec erreurs. On Recherche Off le Record, Gary Illyes décrit le erreurs as emerging quand a site a nombreux properties, chaque avec son propre Structure d’URL — as soon as vous ont à vary le modèle à travers properties, c’est où le erreurs come dans, avec Lizzi Sassman ajout que c’est harder à sync les up quand vous êtes localizing URLs et alors making typos. c’est le signature de an enterprise setup: plusieurs ccTLDs, chaque on a slightly différent publishing convention. Donc a bon audit segments findings par property/domain groupe, parce que c’est où le erreurs en réalité cluster operationally.
Étape 1 — Pull chaque hreflang annotation site-wide
Le three places hreflang lives
Google accepts hreflang in three equivalent locations, and vous doit vérifier tout three:
Preuve à l’appui de cette affirmation A complete audit needs to inspect HTML, HTTP Link headers, and XML sitemaps because Google supports hreflang in all three locations. Portée : Google Search-supported hreflang delivery methods. Niveau de confiance : élevé · Vérifié : Google: Localized versions- HTML
<link>balises dans le<head>— le courant cas. - HTTP
Link:réponse headers — utilisé pour non-HTML fichiers comme PDFs. xhtml:linkentries dans an XML sitemap — courant à scale parce que il centralizes le annotations dans un fichier au lieu de templating les sur chaque page.
A robot d’exploration que seulement lit le HTML head va silently miss header- or sitemap-declared alternates. Il ne va pas flag les as broken — il simplement ne va pas voir les, qui est pire, parce que vous’ll think une page a aucun hreflang quand il en réalité a a complet définir delivered via sitemap. Configurer le explorer à lire tout three avant vous confiance a unique number.
Configuring the robot d’exploration pour votre structure
- Screaming Frog: enable Configuration > Spider > Explorer Hreflang (ce aussi picks up sitemap et header hreflang quand vous point il à les). Pour ccTLDs/subdomains que référence chaque autre, ajouter le sibling domains sous Config > CDNs — sinon cross-domain hreflang liens sont simplement pas validated, pas flagged as broken. Ce est le unique la plupart courant blind spot à scale, parce que enterprise sites sont le ones la plupart probable à utiliser ccTLDs, et ccTLDs sont exactly ce que nécessite ce supplémentaire étape.
- Ahrefs Site Audit: assurez-vous le sibling domains sont à l’intérieur le project scope pour le même raison. Alors utiliser Page Explorer à filter pages par hreflang problème type à scale avant vous drill dans individual cluster graphs.
Pourquoi GSC can’t do ce pour vous
Deux raisons, et le deuxième est le un la plupart personnes miss:
- Le rapport est gone. Le GSC International Targeting rapport — qui utilisé à flag some hreflang problèmes — était deprecated et supprimé (announced August 2022; supprimé après September 22, 2022). Rien replaced il directement.
- Même quand il existed, il seulement ever showed le canonical. On Recherche Off le Record, Illyes explained que Search Console seulement rapports on canonicals — pour la plupart similar-langue hreflang clusters, le alternates ne sont pas canonical, donc vous étaient effectively blind à ce que était happening on le non-canonical members de a cluster, parce que Google stores les dans le duplicate cluster sans keeping le alternate details. c’est a structural raison GSC était jamais a complet hreflang audit outil, pas simplement “the report got removed.” c’est le direct justification pour going robot-premier.
Google aussi simplement ne fait pas ship a validator. On le même podcast, Illyes said Google a jamais provided an hreflang validator — ils avait some underused reporting et alors supprimé il — et maintenant points personnes à external outils comme Aleyda Solis’ outil, Bill Hunt’s hreflang checker, et Merkle’s outil. Prendre que as permission à lean on tiers robots d’exploration pour le job GSC ne peut pas faire — mais pas as an endorsement. Google’s propre documentation est explicit que il ne fait pas maintain or vérifier tiers hreflang debugging outils, donc treat quelconque outil’s sortie, mine inclus, as diagnostic evidence vous encore ont à raison à propos de, pas an official verdict. Quand a finding en réalité matters, confirmer il contre le raw artifact — le HTTP réponse, le sitemap XML, or le rendu HTML — plutôt que stopping à le outil’s parsed summary.
Step 2 — Construire the reciprocal-tag matrix
Normalize ce que vous pulled
Avant vous construire le matrix, obtenir tout dans un consistent shape. Pour chaque declared hreflang relationship, record l’URL source, l’URL cible, le locale valeur, le source méthode (HTML head, HTTP header, or sitemap), et — critically — le cible’s code d’état, chaîne de redirections, indexability, canonical cible, et si le explorer saw il dans raw HTML or le rendu DOM. Différent robots d’exploration export ce differently; normalizing il dans directed URL-à-URL edges avec que context attached est ce que rend le matrix, et chaque classification dans Étape 3, fiable au lieu de a pile de disconnected lignes.
Ce que the matrix represents
Conceptually, pour chaque cluster vous construire a tableau où le lignes et columns sont chaque URL dans que cluster, et chaque cell réponses a oui/aucun question: fait a hreflang lien exist depuis le ligne URL à le column URL? A correct cluster est symmetric — si A→B est présent, B→A est présent. Chaque asymmetric cell (a lien que exists dans un direction seulement) est a manquant retourner balise.
Vous ne pas literally hand-construire ce spreadsheet à scale — le outils construire il pour vous. Mais holding le matrix dans votre head est ce que lets vous lire le outil sortie correctement. Mon returntag outil draws le matrix as a graph et aussi exposes le underlying cells; Screaming Frog’s “Missing Return Links” filter pulls le asymmetric cells dans a liste, et Ahrefs Site Audit provides un autre à-scale cluster view. Même relationship vérifier, différent presentations et explorer scopes.
Reading il as a graph: mon returntag cluster validator
Pour a focused cluster vérifier, mon gratuit returntag outil renders le declared locale
relationships as a graph et a reciprocal matrix. Chaque locale est a node, chaque
declared hreflang annotation est an edge, et le problème liste identifies le exact URL
que fails à lien back. Le screenshot ci-dessous est a sitemap-seulement exécuter: il lit ce que le
sitemap declares et deliberately ne fait pas récupérer page head balises or HTTP Link headers.
Utiliser Page URL mode quand vous besoin le complet three-source picture pour une page’s cluster.
How to lire it:
- A clean cluster est a fully-connected mesh — chaque node lié à chaque autre node, les deux directions.
- A un-way edge est votre asymmetric cell: page X points à Y mais Y ne fait pas point back. c’est le renvoyer-balise erreur, vu au lieu de lire.
- An orphaned node — une URL que apparaît dans le cluster mais ne fait pas lien back dans il — est an unlinked hreflang URL.
Le practical win est triage speed et stakeholder communication: au lieu de handing a developer an abstract spreadsheet ligne, vous montrer le un-way relationship et le exact manquant renvoyer-balise erreur ensemble. Pour hundreds or thousands de clusters, garder Ahrefs Site Audit or Screaming Frog dans le workflow pour complet explorer coverage; returntag est le rapide façon à inspect et expliquer a spécifique cluster.
Reading il as a spreadsheet: le Screaming Frog filters
Si vous êtes dans Screaming Frog, le matrix surfaces as a définir de filters (après vous exécuter Explorer Analysis post-explorer à populate le renvoyer-lien données). Fonctionner les dans roughly ce order, parce que il maps à le priority order dans Étape 4:
- Manquant Retourner Liens — le asymmetric cells; votre highest-priority findings.
- Inconsistent Langue & Region Retourner Liens — a retourner lien exists mais avec a
différent code que le outbound un (A dit B est
fr-FR, B dit A esten-GBquand A est vraimenten-US) — a subtler pair-breaker. - Non-Canonical Retourner Liens — le retourner lien points à une URL c’est canonicalized elsewhere, donc le signal chain breaks même though a balise exists.
- Noindex Retourner Liens — le retourner cible est noindexed, donc il ne peut pas carry le annotation.
- Non-200 Hreflang URLs — le cible est a redirection or an erreur page.
- Unlinked Hreflang URLs et Incorrect Langue & Region Codes — orphaned nodes et code-validation erreurs.
Export le entier définir via Rapports > Hreflang. (Pour le complet filter-par-filter walkthrough à le summary level, le Screaming Frog hreflang tutorial est excellent — Je’m pas going à re-type leur config étapes ici.)
Step 3 — Classify ce que vous trouver into four error patterns
Votre explorer sortie va être noisy. Sort chaque finding dans un de four buckets — ces sont le patterns que repeat à travers le 374 756-domain study. (Je’m pulling seulement le deux figures que anchor le priority argument; le complet nine-type erreur tableau est déjà dans le International SEO Audit article — aucun point re-pasting il.)
1. Manquant retourner tags — the pair-breaker
Le asymmetric cells depuis votre matrix. 15,3% de hreflang-en utilisant domains ont ces. As Je put il dans le study writeup: “As Je mentioned, hreflang balises fonctionner dans pairs. Si les deux pages ne pas référence chaque autre, ils ne peut pas establish le connection et swap correctement dans le résultats de recherche.” Ce est le category que invalidates le entier pair’s signal per Google’s docs, qui est pourquoi c’est premier dans le priority order — même though c’est pas le la plupart courant erreur.
2. Incorrect langue/region codes — le quietly-forgiving un
Utiliser ISO 639-1 pour langue et ISO 3166-1 alpha-2 pour region. Le classic breakers:
jp au lieu de ja pour Japanese, le typo js pour ja, three-letter codes comme
gbr au lieu de gb, la (Laos) misused pour “Latin America.”
Un plus distinction worth building dans votre audit: BCP 47 (le underlying
langue-balise spec) permits a beaucoup broader définir de valeurs que Google’s hreflang
implementation en réalité acts on — script subtags et autre BCP 47-legal constructs
que Google’s propre hreflang documentation ne fait pas confirmer as recognized valeurs. A
code peut être perfectly well-formed BCP 47 et encore pas être quelque chose Google’s
hreflang guidance documents as pris en charge. Valider contre Google’s documented
langue/region/x-default règles précisément, pas générique BCP 47 well-formedness
— a syntactically valide balise peut encore être functionally invisible à Google.
«But here’s the nuance that cuts against naive prioritization: Google silently corrects
some of these and not others. Its documentation states that if you use codes reserved
for something else, “Google Search ignores that part of the annotation (for example,
using EU, UN, or UK in hreflang annotations doesn’t have an effect on Google
Search).” So UK is effectively dropped (you want GB), but it doesn’t nuke the rest
of the annotation — whereas a code that’s simply wrong (jp for ja) does break that
pair. An audit needs to distinguish “technically wrong but Google handles it” from
“wrong and actually breaks the pair,” because they don’t get the same urgency.
» (Traduction) (Résumé en français de la section soixante-dix, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
3. Non-URL canoniques in hreflang — the invisible un
Ce est le modèle que semble fine dans a balise export et breaks anyway. A clé distinction Je drew à Pubcon 2019: hreflang est à propos de le indexé version, pas le canonical. Si votre hreflang points à une URL c’est canonicalized away depuis qu’est-ce que en réalité indexé, le signal chain breaks même though le balise itself est “valide.” Ce seulement surfaces quand vous cross-reference le explorer export contre indexation status — la plupart hreflang tutorials skip il parce que ils treat hreflang as an isolated balise vérifier au lieu de partie de le indexation pipeline. (Plus on verifying ce dans Étape 5.)
il y a a même-langue alignment vérifier worth ajout ici aussi. Quand plusieurs near-duplicate URLs pourrait plausibly servir as le canonical pour a locale, Google’s propre canonicalization guidance favors a même-langue (or meilleur-substitute) URL, et donne some preference à une page c’est partie de a complet reciprocal hreflang cluster over un que n’est pas. c’est a raison à garder hreflang targets pointed à même-langue canonical candidates plutôt que letting les drift sur a différent-langue duplicate. None de ce est quelque chose a robot d’exploration or checker peut prove outright, though — il peut montrer vous le configuré signaux (balise canonicals, hreflang edges, cluster membership), pas Google’s réel final selection. Treat explorer sortie as diagnostic evidence, pas confirmation.
Preuve à l’appui de cette affirmation Audit canonical targets for same-language or best-substitute alignment and compare reciprocal hreflang-cluster membership, because Google documents a cluster preference among otherwise similar URLs. Portée : localized HTML pages, HTTP headers, XML sitemaps and search systems as applicable Niveau de confiance : élevé · Vérifié : How to specify a canonical URL with rel=canonical and other methods4. Mixed absolute/relative URLs — le templating bug
«Google is explicit: “Alternate URLs must be fully-qualified, including the transport
method (http/https), so: https://example.com/foo, not //example.com/foo or
/foo.” At scale this is almost never a one-off typo — it’s a templating bug that hits
thousands of URLs at once because the hreflang block is generated from a partial URL
pattern. That’s why crawlers flag it as a systemic issue: find one, and you’ve usually
found a whole template’s worth.
» (Traduction) (Résumé en français de la section soixante-quinze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Step 4 — Prioritize: retourner tags premier, codes suivant, x-default dernier
Le unique la plupart important idea dans ce entier article: erreur severity n’est pas proportional à erreur frequency. Sort votre findings par damage, pas par comment nombreux lignes le outil renvoyé.
| Tier | Erreur modèle | Pourquoi ici |
|---|---|---|
| 1 — corriger premier | Manquant retourner balises; inconsistent renvoyer-lien codes | Breaks le entier pair’s signal per Google’s docs. Highest damage. |
| 2 — corriger suivant | Incorrect codes que Google ne fait pas silently corriger (jp→ja); non-canonical / broken targets | Breaks individual relationships; some sont silently handled, some ne sont pas — triage accordingly. |
| 3 — batch | Mixed absolute/relative URLs, manquant self-reference | Réel hygiene problèmes, généralement template-wide, mais pas toujours cluster-breaking. |
| 4 — dernier | Manquant x-default | La plupart courant, le moins damaging. |
Pourquoi x-default goes dernier despite étant everywhere: c’est le unique la plupart courant finding dans chaque study — 56,3% dans mon 374 756-domain study, et 47,95% dans Dan Taylor’s independent 18 786-domain SALT.agency study (deux studies, very différent scales, même headline: la plupart sites sont manquant il). Mais as Je wrote dans le study: “Paramètre an x-default n’est pas requis. Mais il est recommended si vous besoin a fallback page pour utilisateurs whose langue paramètres ne pas match quelconque de votre localized versions.” Google’s propre team treats il as a UX fallback, pas an indexation-critical signal — on Recherche Off le Record, Illyes décrit x-default as annotating a fallback page pour quand il y a aucun matching langue pour a utilisateur, et noted il peut même être un autre langue page plutôt que a dedicated selector. Corriger il, mais corriger il après le choses que en réalité break clusters.
«Self-reference sits in tier 3 for the same reason: even Illyes, who worked on Google’s hreflang implementation, said on record he doesn’t fully remember why self-reference is required and is fairly sure clusters would work without it — he framed it mainly as making clusters easier to set up because you can copy/paste the same block everywhere. It’s implementation hygiene, not a functional requirement. » (Traduction) (Résumé en français de la section quatre-vingts, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Pour le broader impact × effort matrix que spans tout six international audit areas (pas simplement hreflang), utiliser le Frameworks lens dans International SEO Audit plutôt que rebuilding il ici.
Step 5 — Re-verify contre the indexé URL, pas the explorer
Votre explorer valide le balises. Il ne fait pas valider que l’URL le balise points à est le un Google en réalité indexé. Parce que hreflang suit le indexé version (Étape 3, modèle 3), a balise que points à une URL c’est été canonicalized away — or que redirections, or est noindexed downstream — encore breaks le signal même après votre bulk corriger réussir rapports “clean.”
Donc après le corrections ship, spot-vérifier le highest-valeur clusters avec Inspection d’URL dans Search Console: confirmer l’URL Google rapports as indexé est le même URL votre hreflang références. Ce est le étape que catches canonical-chain drift, qui est invisible dans a plain hreflang-balise export. Vous ne pas faire il pour chaque URL — vous faire il pour votre money pages dans chaque market, après le explorer dit vous êtes fait.
A one-line remarque on Bing
ne pas expect Bing Webmaster Outils à valider quelconque de ce. Bing treats hreflang as a beaucoup weaker signal que Google fait et supprimé son Geo Targeting fonctionnalité back dans 2020 — il leans on le Contenu-Langue header à la place. A hreflang-à-scale audit est fundamentally a Google-facing exercise; vérifier Contenu-Langue pour Bing séparément (covered dans International SEO Audit).
AI summary
A condensed prendre on the Avancé version:
- c’est a graph problème, pas a balise problème. Vous vérifier si chaque page dans a cluster points back à chaque autre page — pas si un page a a balise. Per Google: “If page X links to page Y, page Y must link back to page X,” or le annotations “may be ignored.” Un manquant retourner lien peut invalidate a entier cluster.
- Étape 1 — pull tout. Hreflang lives dans three places (HTML head, HTTP
Linkheaders, XML sitemap); a robot d’exploration doit lire tout three. Configurer ccTLD/subdomain siblings (Screaming Frog: Config > CDNs; Ahrefs: project scope) or cross-domain liens go unvalidated. GSC ne peut pas faire ce — le International Targeting rapport était supprimé Sept 22, 2022, et même avant que il seulement reported le canonical member de a cluster. - Étape 2 — le reciprocal-balise matrix. Chaque URL × chaque URL dans a cluster; asymmetric cells = manquant retourner balises. Lire a focused cluster visually dans returntag’s graph et matrix, or fonctionner site-wide via Ahrefs Site Audit et Screaming Frog.
- Étape 3 — four erreur patterns: manquant retourner balises; incorrect codes (Google silently corrections
reserved ones comme
UK→ignored, pas others commejppourja); non-canonical targets (hreflang suit le indexé URL); mixed absolute/relative URLs (a template bug à scale). - Étape 4 — prioritize par damage, pas frequency. Retourner balises premier (break le entier pair), alors codes/broken targets, alors x-default dernier — la plupart courant (56,3% dans mon 374 756-domain study; 47,95% dans SALT.agency’s) mais le moins harmful et “not required.”
- Étape 5 — re-vérifier contre le indexé URL avec Inspection d’URL après le corriger réussir; le explorer valide balises, pas indexation-status drift.
- Scale context: over 67% de hreflang-en utilisant domains ont au moins un erreur (mon Brighton SEO 2023 study de 374 756 domains). Bing est a un-line caveat — vérifier Contenu-Langue, pas hreflang.
Documentation officielle
Primary-source références pour a hreflang audit.
- Tell Google à propos de localized versions de votre page — le hreflang référence: le reciprocal renvoyer-balise requirement, le fully-qualified-URL règle, reserved-code handling, et le three equivalent implementation méthodes (HTML lien balises, HTTP
Linkheaders, XML sitemap). - Le International Targeting rapport est deprecated — Search Console Aider — le supprimé rapport que utilisé à flag some hreflang problèmes (supprimé après September 22, 2022).
- Managing Multi-Regional et Multilingual Sites — URL-structure context pour pourquoi multi-property setups generate le la plupart hreflang erreurs.
- Comment specify une URL canonique avec rel=canonical et autre méthodes — le même-langue canonical-preference guidance behind Étape 3’s non-canonical hreflang vérifier.
Bing / Microsoft
- Bing Webmaster Outils aider — Bing has aucun hreflang validation workflow; it weights the Content-Language header à la place and supprimé Geo Targeting in 2020.
«## Quotes from the source » (Traduction) (Résumé en français de la section cent, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«On-the-record statements that anchor the audit methodology. » (Traduction) (Résumé en français de la section cent un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Google — the reciprocal requirement (the backbone of the whole audit) » (Traduction) (Résumé en français de la section cent deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.”
— Google Search Central docs.
Jump to quote
» (Traduction) (Résumé en français de la section cent trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — fully-qualified URLs (root causer de le mixed absolute/relative modèle)
«- “Alternate URLs must be fully-qualified, including the transport method (http/https), so: https://example.com/foo, not //example.com/foo or /foo.”
— Google Search Central docs.
Jump to quote
» (Traduction) (Résumé en français de la section cent cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — reserved codes sont silently dropped, pas page-breaking
- “Si vous utiliser codes ce sont listed as reserved pour quelque chose else, Google Search ignores ce partie de le annotation (par exemple, en utilisant
EU,UN, orUKdanshreflangannotations ne fait pas ont an effect on Google Search).” — Recherche Google Central docs. Jump à citation
Patrick Stox — pourquoi pairs sont charger-bearing (depuis le 374 756-domain study)
«- “As I mentioned, hreflang tags work in pairs. If both pages don’t reference each other, they can’t establish the connection and swap properly in the search results.” — Over 67% of Domains Using Hreflang Have Issues, Ahrefs » (Traduction) (Résumé en français de la section cent neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “Setting an x-default is not required. But it is recommended if you need a fallback page for users whose language settings don’t match any of your localized versions.” — Over 67% of Domains Using Hreflang Have Issues, Ahrefs » (Traduction) (Résumé en français de la section cent dix, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Gary Illyes, Google — pourquoi GSC ne peut pas audit hreflang, et pourquoi il y a aucun validator
- On Recherche Off le Record, Illyes explained que Search Console seulement rapports canonicals, donc pour le nombreux hreflang clusters où le alternates ne sont pas canonical vous êtes effectively blind à le non-canonical members — Google puts les dans le duplicate cluster sans storing le alternate details. Il aussi said Google a jamais provided an hreflang validator (ils avait underused reporting et supprimé il) et maintenant points personnes à external outils. Paraphrased depuis le transcript — vérifier wording contre le episode page avant quoting verbatim.
Qui finding do I fix premier?
vous avez exécuter le explorer et vous êtes staring à a wall de red. Walk chaque finding via ce:
-
Est le retourner lien manquant or code-inconsistent (asymmetric cell)? → Oui → Tier 1. Corriger maintenant. Ce breaks le entier pair per Google’s docs. Tout sinon waits behind ce. → Aucun → continuer.
-
Fait le hreflang point à a non-200, redirigé, noindexed, or non-URL canonique? → Oui → Tier 2. Corriger suivant. Le cible ne peut pas carry le annotation. Pour non-canonical précisément, confirmer contre le indexé URL (Inspection d’URL), pas simplement le canonical balise. → Aucun → continuer.
-
Est le langue/region code incorrect? → Est il a reserved code Google silently ignores (
UK,EU,UN)? → Oui → faible urgency. Google drops simplement que partie; corriger pour correctness, pas as an emergency. → Est il a genuinely incorrect code que breaks le match (jppourja,jstypo, three-lettergbr)? → Oui → Tier 2. Corriger suivant. Ce breaks le relationship. -
Est il a mixed absolute/relative URL (
//example.com/…or/…)? → Oui → Tier 3, mais vérifier le template. Presque toujours a site-wide templating bug — un instance signifie thousands. Corriger à le template, batch le rest. -
Is it a manquant self-reference or manquant x-default? → Yes → Tier 4. Dernier. Réel hygiene, pas cluster-breaking. x-default is “recommended, pas requis”; self-reference is copy/paste convenience. Do ces in a final sweep.
Le règle underneath le tree: sort par damage, pas par comment nombreux lignes le outil renvoyé. Le la plupart courant erreur (x-default) est le le moins damaging.
SOP: le recurring hreflang audit
Hreflang breaks silently every temps developers ship a template modifier, so run ce on a schedule (monthly pour active international sites, or après quelconque release que touches localized templates).
Prep
- Confirmer robot d’exploration scope covers chaque property dans le hreflang network — tout ccTLDs, subdomains, subfolders. Dans Screaming Frog, ajouter siblings sous Config > CDNs; dans Ahrefs Site Audit, confirmer ils sont dans project scope.
- Confirmer le robot d’exploration lit tout three annotation locations (HTML head, HTTP
Linkheaders, XML sitemap). Vérifier par checking une page vous know utilise sitemap-based hreflang.
Explorer 3. Enable hreflang extraction (Screaming Frog: Configuration > Spider > Explorer Hreflang). Exécuter le explorer. 4. Exécuter post-explorer analysis (Screaming Frog: Explorer Analysis) donc renvoyer-lien filters populate. Dans Ahrefs, let Site Audit finish et ouvrir le hreflang problème définir.
Triage (dans ce order) 5. Tier 1 — Manquant Retourner Liens + Inconsistent Renvoyer-Lien Codes. Export ces premier. Ouvrir le worst-hit clusters dans returntag’s graph/matrix à expliquer le broken edges; retain le robot d’exploration export as le site-wide source de coverage. 6. Tier 2 — Non-canonical / broken / noindexed targets, et genuinely incorrect codes. 7. Tier 3 — Mixed absolute/relative URLs (corriger à le template), manquant self-reference. 8. Tier 4 — Manquant x-default. Dernier.
Segment 9. Groupe every finding by property/domain, pas simplement by error type — errors cluster où URL patterns vary à travers properties. Ce indique vous qui team’s template to fix.
Vérifier 10. Après corrections ship, re-explorer. Alors spot-vérifier money pages per market avec Inspection d’URL à confirmer hreflang points à le indexé URL, pas a canonicalized-away un. 11. Record le erreur counts par tier chaque cycle donc vous pouvez voir drift over temps.
Hreflang audit myths et mistakes
Concrete misconceptions que lead personnes à audit le incorrect choses — chaque avec pourquoi c’est incorrect et Que faire à la place.
1. “Broken hreflang gets my site penalized, so any error is urgent.”
- Pourquoi incorrect: Google ignores broken or asymmetric hreflang; il ne fait pas penalize pour il. Gary Illyes a said directement que an incorrect hreflang implementation ne va pas hurt a site — Google simplement ignores il (reported par Moteur de recherche Roundtable et corroborated par Moteur de recherche Journal). Le coût est lost opportunity (wrong-langue pages surfacing, market cannibalization), pas a classement penalty.
- Faire à la place: Triage par lost opportunity per cluster (trafic, revenue), pas par fear de a penalty que ne fait pas exist.
2. “Missing x-default is the most common error, so fix it first.”
- Pourquoi incorrect: Frequency et severity sont différent axes. x-default est le unique la plupart courant finding (56,3% dans mon study; 47,95% dans SALT.agency’s) mais c’est “recommended, pas requis” et functions as a UX fallback, pas a cluster-critical signal.
- Faire à la place: Put x-default dernier. Corriger manquant retourner balises premier — ils break entier pairs.
«3. “Self-referencing tags are mandatory, flag every missing one as critical.” » (Traduction) (Résumé en français de la section cent trente-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Why wrong: Even Illyes, who worked on Google’s hreflang implementation, said on record he isn’t sure why self-reference is required and believes clusters would work without it — it’s mainly copy/paste convenience. » (Traduction) (Résumé en français de la section cent trente-neuf, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Do instead: Fix self-reference in the final hygiene sweep (tier 3–4), not ahead of return-tag and code errors. » (Traduction) (Résumé en français de la section cent trente-neuf, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«4. “The html lang attribute is a language signal Google checks, so audit it alongside
hreflang.”
» (Traduction) (Résumé en français de la section cent quarante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Why wrong: Asked directly on Search Off the Record whether Google cares about the HTML
lang attribute, Illyes said no — it’s often baked into CMS templates by default and
therefore untrustworthy, so Google detects language from the visible content instead.
» (Traduction) (Résumé en français de la section cent quarante, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Do instead: Keep html lang correct for accessibility and other engines, but don’t let
a hreflang-vs-lang mismatch outrank an actual return-tag error in your triage.
» (Traduction) (Résumé en français de la section cent quarante, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
5. “GSC’s report is gone, so without a paid crawler I can’t audit hreflang at all.”
- Pourquoi incorrect: A manual view-source spot-vérifier plus gratuit/freemium validators (Aleyda Solis’ outil, Bill Hunt’s checker, Merkle’s outil — tout named par Illyes as outils il’s trouvé fiable, though Google’s propre documentation est clair il ne fait pas maintain or vérifier tiers hreflang outils) fonctionner fine pour petit sites. c’est scale que exige a robot d’exploration, pas le absence de GSC.
- Faire à la place: Match le outil à le size. Spot-vérifier petit sites manuellement; reserve le robot d’exploration pour le sites où hand-checking clusters est genuinely impossible.
6. “My hreflang export is clean, so hreflang is fine.”
- Pourquoi incorrect: A clean balise export ne fait pas signifier le targets sont indexé. Hreflang suit le indexé URL, pas le canonical — a balise pointing à a canonicalized-away or noindexed URL encore breaks même though le balise “looks” valide.
- Faire à la place: Cross-reference contre indexation status (Inspection d’URL) pour votre top clusters après le balise-level réussir.
«## Before / after: reading the four patterns » (Traduction) (Résumé en français de la section cent quarante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Concrete, minimal examples of each error pattern and its fix. (Illustrative markup.) » (Traduction) (Résumé en français de la section cent quarante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«1. Missing return tag (the pair-breaker) » (Traduction) (Résumé en français de la section cent quarante-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Avant — le US page points à le UK page, mais le UK page jamais points back:
<!-- https://example.com/us/ (present) -->
<link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />
<!-- https://example.com/uk/ (BROKEN — no link back to /us/) -->
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />Après — le UK page noms le US page dans retourner, donc le pair est symmetric:
<!-- https://example.com/uk/ (fixed) -->
<link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />2. Incorrect language/region code
Avant — jp is a country code, pas the language code pour Japanese; en-UK isn’t valid:
<link rel="alternate" hreflang="jp" href="https://example.com/jp/" />
<link rel="alternate" hreflang="en-UK" href="https://example.com/uk/" />Après — ISO 639-1 langue (ja) et ISO 3166-1 alpha-2 region (GB, pas UK):
<link rel="alternate" hreflang="ja" href="https://example.com/jp/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />3. Mixed absolute/relative URLs (a template bug à scale)
Avant — protocol-relative et root-relative URLs; Google exige fully-qualified:
<link rel="alternate" hreflang="fr-FR" href="//example.com/fr/" />
<link rel="alternate" hreflang="de-DE" href="/de/" />Après — fully-qualified, notamment the transport méthode:
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/" />4. Non-canonical target (semble valid, encore breaks)
Avant — le hreflang points à une URL c’est canonicalized away depuis le indexé version:
<!-- hreflang points here… -->
<link rel="alternate" hreflang="es-ES" href="https://example.com/es/producto?ref=nav" />
<!-- …but /es/producto?ref=nav has: <link rel="canonical" href="https://example.com/es/producto"> -->Après — hreflang points at the canonical/indexé URL, so the signal chain holds:
<link rel="alternate" hreflang="es-ES" href="https://example.com/es/producto" />Le catch avec #4: vous pouvez’t voir il depuis le balise alone. Confirmer le indexé URL avec URL Inspection avant vous confiance que ce un’s fixed.
Pulling et checking hreflang yourself
Pour spot-vérifications, ad-hoc extraction, et validating a corriger avant le suivant complet explorer. Le robot d’exploration est encore votre source de truth à scale — ces sont pour le dans-entre.
Chrome DevTools Console — dump chaque hreflang on le actuel page
Paste dans le Console on quelconque page à liste son annotations et flag protocol-relative or root-relative URLs:
[...document.querySelectorAll('link[rel="alternate"][hreflang]')]
.map(l => {
const href = l.getAttribute('href');
const bad = /^\/\//.test(href) || /^\/(?!\/)/.test(href);
return `${l.hreflang}\t${href}${bad ? '\t⚠ not fully-qualified' : ''}`;
})
.join('\n') || 'No HTML hreflang tags on this page (check headers / sitemap).';Si it prints “No HTML hreflang tags,” lune page may deliver hreflang via HTTP header or sitemap — the Console seulement sees the DOM, so vérifier ceux separately.
Bookmarklet — one-click reciprocity spot-check à travers a cluster
Récupère chaque alternate le actuel page noms et rapports qui ones échouer à lien back (même-origin seulement, due à navigateur CORS — cross-ccTLD pairs besoin le robot d’exploration):
javascript:(async()=>{const base=location.href.split('#')[0];const alts=[...document.querySelectorAll('link[rel="alternate"][hreflang]')].map(l=>({lang:l.hreflang,href:l.href})).filter(a=>a.lang!=='x-default');const out=[];for(const a of alts){try{const html=await(await fetch(a.href)).text();const back=/hreflang=["'][^"']*["']\s+href=["']([^"']+)["']/gi;let m,found=false;while((m=back.exec(html))){if(m[1].split('#')[0].replace(/\/$/,'')===base.replace(/\/$/,'')){found=true;break;}}out.push(`${found?'✓':'✗ MISSING RETURN'} ${a.lang} ${a.href}`);}catch(e){out.push(`? ${a.lang} ${a.href} (fetch blocked — cross-origin)`);}}alert(out.join('\n'));})();grep / regex — extract hreflang depuis a enregistré sitemap or HTML dump
Pull every annotation out of a downloaded XML sitemap or explorer HTML export:
# From an XML sitemap using xhtml:link hreflang
grep -oE 'hreflang="[^"]+"[^>]*href="[^"]+"' sitemap.xml
# From a directory of saved HTML pages — list hreflang value + href per file
grep -rhoE '<link[^>]*hreflang="[^"]+"[^>]*>' ./pages/ \
| grep -oE 'hreflang="[^"]+"|href="[^"]+"'Python — construire the reciprocity matrix from a Screaming Frog export
Turn a Screaming Frog hreflang_all.csv-style export (columns: URL source, hreflang valeur,
URL cible) into a définir of one-way (missing-return) pairs:
import csv
from collections import defaultdict
links = defaultdict(set) # source -> set of targets it points to
with open("hreflang_export.csv", newline="", encoding="utf-8") as f:
for row in csv.DictReader(f):
src, tgt = row["Address"].strip(), row["Occurrence URL"].strip()
if src and tgt and src != tgt:
links[src].add(tgt)
missing = [(a, b) for a, targets in links.items()
for b in targets
if a not in links.get(b, set())]
print(f"{len(missing)} one-way (missing-return) pairs:")
for a, b in missing[:50]:
print(f" {a} -> {b} (no return link)")Adjust le column noms à match votre export. Le sortie est exactly le asymmetric cells de le reciprocal-balise matrix — le tier-1 corrections.
Outils pour a scaled hreflang audit
- returntag (principal pour graph/matrix spot-vérifications). Mon gratuit outil turns une page or sitemap cluster dans a graph et reciprocal matrix, alors noms manquant retourner relationships et leur corrections. Page URL mode vérifications une page cluster; Sitemap mode valide seulement ce que le sitemap declares. Utiliser il à investigate et communicate a spécifique cluster, pas as a substitute pour a entier-site explorer.
- Ahrefs Site Audit (à scale). Extracts hreflang depuis HTML, headers, et sitemaps, exécute le reciprocal vérifications, et renders chaque cluster as a network graph — URL Details > Hreflangs tab, broken edges dans red. Le fastest façon à voir qui relationship dans a cluster est broken, et le easiest à montrer a stakeholder. Utiliser Page Explorer à filter pages par hreflang problème type avant drilling dans individual graphs.
- Screaming Frog SEO Spider. Enable Configuration > Spider > Explorer Hreflang; ajouter sibling ccTLDs sous Config > CDNs pour cross-domain validation; exécuter Explorer Analysis à populate le renvoyer-lien filters (Manquant Retourner Liens, Inconsistent Langue & Region Retourner Liens, Non-Canonical Retourner Liens, Noindex Retourner Liens, Non-200 Hreflang URLs, Unlinked Hreflang URLs). Export via Rapports > Hreflang. Leur hreflang tutorial est le definitive config référence.
- Recherche Google Console — Inspection d’URL. Pas pour bulk auditing (le International Targeting rapport est gone, et GSC seulement ever reported le canonical member de a cluster), mais essential pour Étape 5: confirming votre hreflang points à le indexé URL après le corriger réussir.
- Gratuit/freemium validators pour petit sites et spot-vérifications — Aleyda Solis’ hreflang balise generator/tester, Bill Hunt’s hreflang checker, et Merkle’s hreflang outil (named par Google’s Gary Illyes as outils il knows fonctionner bien — though Google’s propre documentation est explicit que il ne fait pas maintain or vérifier tiers hreflang outils). Utiliser ces quand hand-checking est encore feasible; reserve le robot d’exploration pour vrai scale, et treat quelconque outil’s verdict as diagnostic, pas official.
- Bing Webmaster Outils — aucun hreflang validation; audit Contenu-Langue séparément pour Bing markets.
Ressources utiles
Mon connexe writing
- Over 67% de Domains En utilisant Hreflang Ont Problèmes (Study de 374 756 Domains) — mon Brighton SEO 2023 study, le largest hreflang study à date et le spine de ce entier methodology; le erreur distribution et le renvoyer-balise/x-default figures come depuis ici.
- Hreflang: Le Facile Guide pour Beginners — le Ahrefs implementation guide, pour le fundamentals ce article assumes vous déjà know.
- Le Beginner’s Guide à SEO technique — où international signaux sit dans le wider technique picture.
«My speaking » (Traduction) (Résumé en français de la section cent quatre-vingt-quatorze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Hreflang Study and Interesting Issues — Brighton SEO 2023 (Speaker Deck) — the slides behind the study. » (Traduction) (Résumé en français de la section cent quatre-vingt-quatorze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- The most common hreflang issues across 374,756 domains — Brighton SEO, Sept 2023 (YouTube) — the talk itself. » (Traduction) (Résumé en français de la section cent quatre-vingt-quatorze, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- International SEO: The Weird Technical Parts — Pubcon Vegas 2019 (SlideShare) — where I make the “hreflang follows the indexed version, not the canonical” point that drives Step 3 and Step 5. » (Traduction) (Résumé en français de la section cent quatre-vingt-quatorze, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«From around the industry » (Traduction) (Résumé en français de la section cent quatre-vingt-quinze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Tell Google about localized versions of your page — Google’s canonical hreflang reference (reciprocity, fully-qualified URLs, reserved codes). » (Traduction) (Résumé en français de la section cent quatre-vingt-quinze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Search Off the Record — “How serving works, hreflang, and more!” — Google’s Search Relations team (Illyes, Splitt, Sassman) on why GSC only reports canonicals, why there’s no validator, and why big multi-property sites generate the most errors. » (Traduction) (Résumé en français de la section cent quatre-vingt-quinze, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- How To Audit & Test Hreflang (Screaming Frog) — the definitive filter-by-filter config walkthrough. » (Traduction) (Résumé en français de la section cent quatre-vingt-quinze, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.) «- Study: 31% of international websites contain hreflang errors (Search Engine Land) — Dan Taylor / SALT.agency’s independent 18,786-domain study, a useful cross-check on my larger one. » (Traduction) (Résumé en français de la section cent quatre-vingt-quinze, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.) «- Google Says They Will Ignore Incorrect hreflang Implementation (Search Engine Roundtable) — the “ignored, not penalized” point that reorders your triage away from panic. » (Traduction) (Résumé en français de la section cent quatre-vingt-quinze, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.) «- Google Insights: Can Incorrect Hreflang Tags Hurt SEO? (Search Engine Journal) — corroborates the same finding. » (Traduction) (Résumé en français de la section cent quatre-vingt-quinze, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
Testez vos connaissances: Auditing hreflang at scale
Five rapide questions on the at-scale methodology. Pick an réponse pour chaque, alors vérifier.
Journal des modifications
Mis à jour le 25 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.