Ce que fait (et ne fait pas) hreflang
hreflang répond à une question précise : pour un contenu décliné en plusieurs langues ou régions, quelle version servir à quel utilisateur ? Il évite qu’un anglophone tombe sur votre page française, et empêche vos versions de se cannibaliser entre elles dans les résultats. Ce qu’il ne fait pas : améliorer vos positions. C’est un outil d’aiguillage, pas de classement.
La règle d’or : la réciprocité
C’est le point où presque tout se joue. Si la version française déclare la version anglaise comme son équivalent, la version anglaise doit déclarer la française en retour. Une annotation non réciproque est ignorée. La grande majorité des problèmes hreflang vient d’annotations manquantes, unilatérales ou incohérentes entre versions.
L’auto-référence, souvent oubliée
Chaque page doit aussi s’inclure elle-même dans son jeu d’annotations. La version française déclare fr (pour elle-même) et les autres langues. Sans cette auto-référence, l’ensemble des annotations est fréquemment considéré comme invalide — une erreur discrète mais bloquante.
x-default : le filet de sécurité
La valeur x-default désigne la version de repli, servie quand aucune langue ou région déclarée ne correspond à l’utilisateur. On l’emploie typiquement pour une page de sélection de pays/langue ou une version internationale par défaut. Non obligatoire, mais fortement recommandée dès qu’on cible plusieurs marchés.
Langue et région : bien viser
hreflang combine un code de langue (obligatoire) et, optionnellement, un code de région : fr vise les francophones, fr-CA les francophones du Canada, fr-CH ceux de Suisse. On ne cible une région que si l’on a réellement un contenu adapté (devise, mentions légales, offres locales). Multiplier les régions sans contenu distinct crée de la duplication sans bénéfice.
Les erreurs classiques
- Annotations non réciproques (la cause n°1).
- Auto-référence manquante.
- Codes de langue/région invalides ou inventés.
- hreflang pointant vers des URLs en redirection, en 404 ou non canoniques.
- Contenus « traduits » automatiquement de faible qualité, qui nuisent plus qu’ils n’aident.
En résumé
hreflang est une mécanique stricte mais logique : des annotations réciproques, une auto-référence, un x-default de repli, et des codes valides pointant vers des URLs propres. Bien réglé, il sert la bonne version à chaque public et met fin à la cannibalisation entre langues. Mal réglé, il est simplement ignoré — sans dommage, mais sans effet.