Apprendre
Debug hreflang : SEO multilingue, return tags et x-default
Un guide pratique de debug hreflang : les règles de chaque cluster, les erreurs courantes de return tags et de codes langue, et comment valider le SEO multilingue.
Lancez un audit DomainLens frais et utilisez le rapport comme liste de priorités.
Ce que fait hreflang et pourquoi les clusters cassent
Hreflang indique à Google quelle version linguistique ou régionale montrer à chaque utilisateur. Avec le même contenu en anglais, allemand et espagnol, hreflang relie ces URLs en cluster pour qu’un internaute espagnol obtienne la page espagnole au lieu de l’anglaise — sans qu’aucune ne soit traitée comme du contenu dupliqué.
Il casse parce que hreflang n’est pas un indice posé une fois par page ; c’est un ensemble de déclarations mutuelles. Chaque URL du cluster doit pointer vers toutes les autres, y compris elle-même, et chacune doit pointer en retour. Oubliez un seul lien retour, utilisez un code langue erroné, ou pointez vers une URL qui redirige, et Google ignore l’annotation pour cette paire.
Les règles de chaque cluster hreflang
- Bidirectionnalité (return tags) : si A pointe vers B en hreflang, B doit pointer vers A, sinon les deux sont ignorés.
- Auto-référence : chaque page doit inclure une entrée hreflang vers elle-même.
- Codes valides : langue en ISO 639-1 (ex. en, de), région optionnelle en ISO 3166-1 alpha-2 (ex. en-GB) — la région seule est invalide.
- URLs absolues et indexables : chaque cible hreflang doit être canonique, statut 200, sans redirection ni noindex.
- Cohérence canonique : la canonique de chaque page localisée doit être auto-référentielle, pas pointée vers une autre langue.
- Un x-default pour le repli (sélecteur de langue/région ou version par défaut) est recommandé, pas obligatoire.
Les erreurs hreflang les plus courantes
- « No return tags » — l’erreur Search Console la plus fréquente : A pointe vers B, mais B ne pointe pas en retour.
- Codes erronés : en-UK au lieu de en-GB, ou un code langue inexistant, donc l’entrée est ignorée.
- Pointer hreflang vers une URL qui redirige ou est noindex, ce qui invalide la cible.
- Conflit hreflang / canonique — une page localisée dont la canonique pointe vers l’anglais annule son propre hreflang.
- Mélanger les implémentations (head HTML, en-tête HTTP, sitemap) de façon incohérente.
Comment déboguer un cluster hreflang
- Prenez une URL, listez chaque entrée hreflang déclarée, puis ouvrez chaque cible et confirmez qu’elle déclare le lien retour et une auto-référence.
- Vérifiez le rapport Ciblage international / hreflang de Search Console (ou l’audit d’un crawler) pour les « no return tags » et codes inconnus à l’échelle.
- Confirmez que chaque cible renvoie 200, ne redirige pas et n’est pas en noindex.
- Vérifiez que la canonique de chaque page localisée est auto-référentielle, pas croisée entre langues.
- Choisissez une seule méthode d’implémentation (head HTML ou sitemap) comme source unique de vérité.
Les erreurs qui cassent discrètement le SEO international
- Croire que hreflang améliore le classement — il ne fait que choisir la version montrée, il n’élève pas le cluster.
- Utiliser des codes pays comme codes langue (ex. « uk » pour l’ukrainien, qui désigne en fait la région Royaume-Uni).
- Rediriger automatiquement par IP, si bien que Googlebot ne voit qu’une version et ne peut valider les autres.
- N’ajouter hreflang qu’à certains templates et oublier les variantes paginées, filtrées ou paramétrées.
Comment valider hreflang
Après la correction, recrawlez le cluster et confirmez que chaque paire est bidirectionnelle avec des codes valides et des cibles indexables, puis suivez le rapport hreflang de Search Console qui efface ses erreurs « no return tag » les jours suivants. Le vrai test : une recherche localisée renvoyant la bonne version.
Cela correspond à la façon dont DomainLens gère les locales : chaque URL localisée est émise avec des alternates cohérents et auto-consistants, et la canonique de chaque langue pointe vers elle-même — la discipline qui garde un cluster multilingue valide plutôt qu’ignoré.