Aller au contenu
Retour aux guides
Guide Dernière vérification : octobre 2026 9 min de lecture

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.

Trois versions de la même page en triangle. Chaque paire est reliée par une flèche dans les deux sens, et chaque page a une petite flèche qui revient vers elle-même : chaque version nomme toutes les autres et elle-même.
Un ensemble complet : liens de retour entre toutes les versions et autoréférence sur chaque page.

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.

Comment vérifier un ensemble hreflang
Rassembler les liens
Toutes les entrées hreflang de la page de départ
Vérifier les codes
Langue selon ISO 639-1, région selon ISO 3166-1
Ouvrir chaque version
Statut 200, pas de redirection, pas de noindex
Vérifier les liens de retour
Chaque version cite toutes les autres et elle-même
Vérifier le canonical
Chaque version se nomme elle-même
Vérifier x-default
Au plus un, le même sur chaque page
Pars d’une page et suis chaque version qu’elle cite.

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.

Chaque version renvoie-t-elle un lien ?
La version citée nomme-t-elle cette page dans ses propres liens hreflang, avec exactement la même adresse ?
Oui
La paire se confirme. Google peut utiliser les annotations entre ces deux pages.
Non
Google peut ignorer les annotations entre ces deux pages. Ajoute le lien manquant sur la page où il manque.
Pose cette question pour chaque paire de pages 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.
Codes faux et codes justes
Faux
  • 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)
Juste
  • 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
Majuscules et minuscules ne comptent pas pour Google : en-gb et en-GB sont identiques.

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.

Canonical et hreflang n’ont pas le même rôle
rel=canonical choisit parmi les doublons d’une même page, hreflang relie les traductions. Selon Google, un lien canonical qui porte un attribut hreflang n’est pas utilisé pour la canonicalisation. Google écrit aussi que les versions linguistiques ne comptent comme doublons que si le contenu principal reste non traduit.

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

  1. 1Fais une liste de toutes les versions d’une page : code et adresse finale exacte.
  2. 2Vérifie chaque adresse : statut 200, pas de redirection, pas de noindex, canonical vers elle-même.
  3. 3Construis le bloc hreflang à partir de cette liste, avec l’autoréférence et, si tu en veux un, un seul x-default.
  4. 4Place le même bloc sur chaque page de l’ensemble, avec une seule méthode.
  5. 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