Aller au contenu principal
← Tous les guides

Hreflang

Hreflang indique à un moteur que plusieurs pages sont le même contenu pour des publics différents, afin qu'il serve la bonne. C'est un signal qu'il peut refuser de suivre, pas une directive qu'il doit respecter.

Quatre règles qui maintiennent l'ensemble interprétable

Hreflang est un groupe d'annotations, donc les erreurs d'un côté peuvent affecter la façon dont Google interprète la relation. Google indique que les liens de retour manquants ou les annotations non valides peuvent être ignorés ou mal interprétés ; cela ne promet pas qu’une erreur annule toujours l’ensemble du cluster.

  • Complet : chaque version du groupe liste toutes les autres.
  • Mutuel : si X pointe vers Y, Y doit pointer vers X. Les liens de retour manquants peuvent entraîner l'ignorance ou l'interprétation incorrecte des annotations.
  • Autoréférente : chaque page se liste elle-même à côté des autres.
  • Valide : les codes doivent se lire comme de vrais codes de langue et de région.

La règle de mutualité est celle qui retient les équipes, car hreflang décrit les relations entre les pages plutôt qu'une propriété d'une page isolée. Déployez ensemble les liens de retour correspondants afin que chaque relation publiée soit complète lorsque Google explore l'un ou l'autre côté.

Où placer les annotations

Trois emplacements existent et leurs effets sont équivalents. Choisissez-en un et employez-le partout — les mélanger à l'échelle d'un site, c'est ainsi que les ensembles finissent à moitié déclarés.

MéthodeConvient àPoints de vigilance
Éléments link en HTMLSites petits à moyensLe poids de page quand les versions sont nombreuses
En-têtes HTTPPDF et autres fichiers non HTMLLes limites de taille d'en-tête sur de grands ensembles
Entrées de sitemapGrands sites, nombreuses languesLes tenir synchronisées avec les pages elles-mêmes
Éléments link en HTML
<link rel="alternate" hreflang="en" href="https://example.com/guide/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/guide/" />
<link rel="alternate" hreflang="pt-br" href="https://example.com/pt-br/guide/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/guide/" />

Remarquez que la page anglaise de l'exemple se liste elle-même. C'est l'autoréférence, et son absence est de loin le défaut le plus courant dans des implémentations par ailleurs soignées — parce qu'elle semble redondante et ressemble à une erreur pour quiconque range le gabarit.

Les codes, et ceux qui n'existent pas

La langue relève de l'ISO 639-1. Elle peut être suivie d'un tiret et d'une région ISO 3166-1 Alpha 2. Une région seule n'est jamais valide : impossible de dire « cette page est pour le Canada » sans dire dans quelle langue.

CodeVerdictPourquoi
frValideLangue seule — français, toutes régions
fr-CAValideFrançais tel qu'écrit pour le Canada
CAInvalideRégion sans langue
ukValide, mais pas le Royaume-Uniuk désigne l'ukrainien ; le Royaume-Uni, c'est GB
euInvalide comme régionL'UE n'est pas un code pays
en-UKInvalideLe code pays du Royaume-Uni est GB

À quoi sert x-default

x-default rattrape les langues que vous n'avez pas listées. C'est le repli pour un visiteur dont la langue ne correspond à aucune de vos versions, et sa place naturelle est une page de sélection ou une page d'accueil qui oriente elle-même les visiteurs.

Ce n'est pas un moyen de désigner une version principale. Faire pointer x-default vers votre page anglaise parce que l'anglais fait office de défaut revient à dire au moteur qu'un visiteur japonais ou turc sans correspondance doit recevoir de l'anglais. C'est peut-être vrai, et cela mérite d'être décidé délibérément plutôt que par habitude.

Hreflang et canonique : deux tâches distinctes

Ces deux-là s'emmêlent plus que tout autre couple du référencement technique, et la panne est sévère. Une canonique dit « indexe cette autre URL à ma place ». Hreflang dit « cette autre URL est le même contenu pour un autre public ».

Faites pointer la canonique de votre page allemande vers l'anglaise et vous avez dit au moteur que la page allemande ne doit pas être indexée du tout — ce qui la retire des résultats et brise du même coup l'ensemble hreflang qui la référençait. Chaque page localisée doit se canoniser vers elle-même et décrire ses sœurs par hreflang.

Essayez sur votre site

Questions et réponses

Hreflang règle-t-il le contenu dupliqué entre langues ?

C'est un signal de ciblage, pas un correctif de contenu dupliqué. Les traductions ne sont pas des doublons ; hreflang indique au moteur quelle traduction appartient à quel public.

Pourquoi la mauvaise version linguistique se positionne-t-elle ?

En général à cause d'un ensemble de liens retour incomplet ou de codes qui échouent à la validation. Hreflang étant un signal, un ensemble auquel le moteur ne fait pas confiance est écarté et il retombe sur sa propre détection de langue.

Ai-je besoin de hreflang si toutes mes pages sont dans une seule langue ?

Seulement si vous visez plusieurs régions avec — fr-FR et fr-CA par exemple, quand le contenu diffère selon le marché. Un site monolingue pour un seul public n'a besoin de rien.

Chaque page doit-elle se canoniser vers elle-même ou vers la langue d'origine ?

Vers elle-même. Canoniser une traduction vers la langue source revient à dire au moteur de ne pas l'indexer, ce qui la retire des résultats et brise l'ensemble hreflang qui pointait vers elle.

Vers quoi x-default doit-il pointer ?

Vers ce qui doit servir un visiteur dont vous ne publiez pas la langue — le plus souvent une page de sélection ou un accueil qui s'oriente tout seul. Il désigne un repli, pas une version principale.

Hreflang est-il un facteur de classement ?

Non. C'est un signal de ciblage qui aide la bonne version à atteindre le bon public. Il n'élève pas le classement d'une page, et Google peut ne pas suivre les annotations du tout.