Erreurs hreflang et comment les corriger
Les liens hreflang ne fonctionnent que comme un ensemble complet. Ce guide montre les erreurs qui cassent le plus souvent un tel ensemble, comment les trouver et comment les corriger.
Pourquoi de petites erreurs cassent hreflang
Les liens hreflang indiquent aux moteurs de recherche quelles pages sont des versions du même contenu dans d’autres langues ou pour d’autres régions. Chaque version doit confirmer les autres. Un seul code faux, un seul lien de retour manquant ou une seule version qui redirige peut suffire pour qu’une partie de l’ensemble soit ignorée. La mise en place des versions linguistiques et de leurs adresses est traitée dans notre guide Traduire ton site web. Ce guide-ci porte sur les erreurs qui restent ensuite.
Comment vérifier un ensemble
Pars d’une page, rassemble ses liens hreflang, puis ouvre chaque version qu’elle cite. C’est seulement alors que tu vois si les versions concordent entre elles.
Erreur 1 : les liens de retour manquent
C’est le premier point de la liste des erreurs courantes publiée par Google. Si la page A cite la page B comme sa version allemande, la page B doit aussi citer la page A. Google écrit que les balises sont ignorées si deux pages ne pointent pas l’une vers l’autre. Cela arrive quand une nouvelle langue n’est ajoutée qu’à certaines pages, ou quand chaque langue vit dans un système séparé. La solution : construire le bloc de liens hreflang à partir d’une seule liste de toutes les versions et placer le même bloc sur chaque page de l’ensemble.
Erreur 2 : codes de langue ou de région faux
- en-UK au lieu de en-GB. Le code ISO du Royaume-Uni est GB. Google écrit que les codes réservés comme UK, EU ou UN n’ont aucun effet dans hreflang.
- Un code de pays seul, comme us ou jp. Google n’accepte pas de région sans langue. Le code de langue du japonais est ja, donc une page pour le Japon utilise ja ou ja-JP.
- Un pays pris pour une langue. L’exemple donné par Google : be est le code du biélorusse, pas de la Belgique. Une page en français pour la Belgique utilise fr-BE.
- Un tiret bas, comme dans en_GB. Selon le W3C, les parties d’une étiquette de langue sont séparées par un trait d’union.
- Des codes valides ailleurs mais pas pour Google. es-419 signifie espagnol d’Amérique latine et c’est une étiquette de langue valide selon le W3C, mais Google écrit qu’il ne la prend pas en charge.
- en-UK
- jp (un pays, pas une langue)
- be pour la Belgique (be est le biélorusse)
- en_GB (tiret bas)
- es-419 (non pris en charge par Google)
- en-GB
- ja ou ja-JP
- fr-BE ou nl-BE
- en-GB (trait d’union)
- es, ou un code par pays comme es-MX
Erreur 3 : la page ne se cite pas elle-même
Google écrit que chaque version linguistique doit se citer elle-même ainsi que toutes les autres versions. Une page qui ne nomme que les autres langues manque de sa propre entrée. Une cause possible : la même boucle construit aussi le sélecteur de langue, et le sélecteur masque souvent la langue active. Sépare les deux : le sélecteur peut masquer la langue actuelle, le bloc hreflang ne doit pas le faire.
Erreur 4 : x-default manque ou est incohérent
x-default est une valeur réservée. Google l’utilise quand aucune autre langue ni région ne correspond aux réglages du navigateur du visiteur, et la recommande comme solution de repli, par exemple pour une page où les visiteurs choisissent leur langue. Tu n’es pas obligé de l’utiliser. Si tu le fais, utilise-la une seule fois par ensemble, mets la même entrée sur chaque page et fais-la pointer vers une page qui fonctionne pour des visiteurs de partout, comme une page de choix de la langue ou ta version principale. Erreurs typiques : un x-default qui change d’une page à l’autre, deux entrées x-default dans un même ensemble, ou une entrée qui pointe vers une page qui redirige les visiteurs selon leur position.
Erreur 5 : le canonical pointe vers une autre langue
La balise canonical indique quelle adresse est la version principale parmi les doublons d’une page. Google conseille d’indiquer une page canonique dans la même langue, ou la meilleure langue de remplacement possible s’il n’existe pas de page canonique dans cette langue. Si la page allemande désigne la page anglaise comme canonique, les signaux se contredisent : hreflang dit que la page allemande est une version à part entière, le canonical dit que c’est une copie de la page anglaise. La solution : chaque version linguistique se désigne elle-même comme canonique, et les versions sont reliées par hreflang.
Erreur 6 : liens vers des redirections, des pages noindex ou des erreurs
- Redirections. Un lien hreflang vers une adresse qui redirige nomme une adresse qui n’est pas la page elle-même. Google considère une redirection comme un signal fort que sa cible doit être l’adresse canonique. Indique l’adresse finale. C’est pire si une version redirige vers une autre version linguistique, car deux codes mènent alors à la même page.
- noindex. Une page avec noindex est exclue de la recherche Google, un lien hreflang vers elle pointe donc vers une version qui ne peut pas être affichée. Retire le noindex, ou retire la page de l’ensemble sur chaque page.
- Erreurs. Une version qui répond avec 404 ou une erreur serveur ne peut pas confirmer l’ensemble. Rétablis-la, ou retire-la du bloc sur chaque page.
De petites erreurs faciles à manquer
- Des adresses presque identiques. http et https, avec et sans www, avec et sans barre oblique finale sont des adresses différentes. Le lien de retour doit nommer exactement l’adresse de la page.
- Des adresses relatives comme /de/preise/. Google exige des adresses complètes, avec https://.
- Plusieurs méthodes qui se contredisent. Pour Google, les éléments link dans le HTML, l’en-tête HTTP et le sitemap sont équivalents, et en utiliser plusieurs n’apporte rien dans la recherche. Utilise une seule méthode.
Corriger dans le bon ordre
- 1Fais une liste de toutes les versions d’une page : code et adresse finale exacte.
- 2Vérifie chaque adresse : statut 200, pas de redirection, pas de noindex, canonical vers elle-même.
- 3Construis le bloc hreflang à partir de cette liste, avec l’autoréférence et, si tu en veux un, un seul x-default.
- 4Place le même bloc sur chaque page de l’ensemble, avec une seule méthode.
- 5Vérifie l’ensemble à nouveau après chaque refonte et chaque nouvelle langue. Commence par les pages qui ont le plus de visiteurs (notre conseil, pas une règle de Google).
Vérifier ton hreflang avec Do4U
La Vérification hreflang fait ces étapes pour une page et toutes ses versions. Tu saisis une adresse. Do4U lit la page, rassemble ses liens hreflang puis lit chaque version citée. Le code vérifie les liens de retour et les autoréférences, les codes de langue et de région, x-default et les doublons, et contrôle si chaque version est accessible sans redirection, n’a pas de noindex, nomme le bon canonical et a un html lang qui correspond. Tu obtiens une liste des pages avec erreurs et avertissements, une courte explication pour chaque constat et une matrice des liens de retour. Elle fonctionne sans IA et elle est gratuite, avec une limite quotidienne par compte.
La vérification ne lit que les éléments link dans le HTML. Elle ne lit pas hreflang dans les en-têtes HTTP ni dans les sitemaps et n’exécute pas JavaScript. Do4U trouve des indices, tu vérifies et tu décides. Des liens hreflang corrects ne promettent pas un meilleur classement.
Sources
- Google Search Central : indiquer à Google les versions localisées de ta page (page mise à jour le 21 septembre 2026), en anglais (developers.google.com)
- Google Search Central : comment spécifier une URL canonique (page mise à jour le 10 juillet 2026), en anglais (developers.google.com)
- W3C Internationalization : choisir une étiquette de langue, en anglais (www.w3.org)