Les balises hreflang expliquées, avec générateur et exemples | We.Inc
Comment hreflang signale les versions linguistiques et régionales : codes valides, x-default, liens retour, méthodes HTML, en-tête et sitemap, erreurs courantes et un générateur.
Les balises hreflang expliquées
Hreflang indique aux moteurs de recherche quelle URL afficher pour chaque langue ou région. Chaque version d'une page se liste elle-même ainsi que toutes ses alternatives avec link rel="alternate" hreflang="code" et une URL complète. Les codes sont une langue ISO 639-1, éventuellement suivie d'une région ISO 3166-1 comme en-GB, et x-default couvre tous les autres.
Codes valides et invalides
Code
Valide ?
Signification
Oui
Anglais, toutes régions
en-GB
Oui
Anglais pour les utilisateurs du Royaume-Uni
zh-Hant
Oui
Chinois en écriture traditionnelle (code d'écriture ISO 15924)
Non (pour Google)
Les régions numériques ne sont pas prises en charge
Oui
Solution de repli quand aucune autre version ne correspond
GB
Non
Une région seule n'est pas autorisée
en-UK
Non
Le code de région du Royaume-Uni est GB
La plupart des problèmes de hreflang relèvent de la tenue des comptes : une page oublie le lien retour, un code utilise la mauvaise région, ou les URL sont relatives. Le générateur ci-dessous construit d'un coup l'ensemble complet et symétrique pour chaque version, afin que chaque page porte la même liste complète.
Ajoutez une ligne pour chaque version linguistique ou régionale avec son code et son URL complète.
Si vous le souhaitez, désignez une URL comme x-default, souvent un sélecteur de langue ou votre version principale.
Copiez les balises link dans le head de chaque version, ou utilisez plutôt le résultat au format sitemap.
Après la prochaine exploration, inspectez quelques URL dans la Search Console pour confirmer que Google a bien pris en compte l'ensemble.
Placez exactement le même ensemble de balises sur chaque version. Les balises de la page anglaise et de la page française doivent former la même liste.
N'utilisez qu'une seule méthode par ensemble de pages. Mélanger des balises HTML et des entrées de sitemap complique leur synchronisation.
Hreflang est une indication sur la version à afficher. Il ne traduit rien, et Google affirme détecter la langue d'une page avec ses propres algorithmes plutôt qu'à partir de hreflang.
Questions fréquentes
Ai-je besoin d'une balise hreflang autoréférente ?
Oui. La documentation de Google indique que chaque version doit se lister elle-même ainsi que toutes les autres versions. Sans l'autoréférence, l'ensemble est incomplet.
À quoi sert x-default ?
x-default désigne la page à afficher quand la langue ou la région de l'internaute ne correspond à aucune de vos versions listées. On choisit généralement une page de sélection de langue ou votre page d'accueil internationale.
Que se passe-t-il si la page B ne renvoie pas vers la page A ?
Google exige que les liens aillent dans les deux sens. Si A pointe vers B mais que B ne pointe pas vers A, l'annotation peut être ignorée. Les liens retour empêchent des tiers de se prétendre une alternative de votre page.
Faut-il utiliser des balises HTML, des en-têtes HTTP ou le sitemap ?
Google traite les trois de manière équivalente. Les balises HTML conviennent à la plupart des sites. Les en-têtes HTTP Link sont l'option pour les PDF et les autres fichiers non HTML. Un sitemap garde le balisage hors de vos pages et simplifie la gestion des grands sites avec de nombreuses langues.
Puis-je cibler un pays sans langue ?
Non. Un code de région seul est invalide. Pour cibler le Canada en anglais et en français, utilisez en-CA et fr-CA.
Quand hreflang vaut la peine
Utilisez-le quand le même contenu existe dans plusieurs langues, ou dans une seule langue avec de vraies différences régionales comme les prix, l'orthographe ou les conditions de livraison. Il aide Google à envoyer un internaute au Mexique vers la page en espagnol du Mexique plutôt que vers celle en espagnol d'Espagne.
Un site dans une seule langue pour un seul marché n'a pas besoin de hreflang. L'ajouter ne fait que créer une chose de plus à maintenir.
Erreurs courantes
Les URL relatives ne sont pas acceptées ; le href doit inclure https et l'hôte. Les tirets bas sont incorrects dans hreflang : écrivez en-GB, pas en_GB, qui est le format de locale d'Open Graph.
Lister une URL qui redirige ou renvoie une erreur gaspille l'annotation. Limitez l'ensemble aux adresses finales en ligne et mettez-le à jour chaque fois qu'une page traduite est ajoutée ou supprimée.
Les trois façons de déclarer les alternatives
Balises link HTML dans le head
Les cinq mêmes lignes vont sur les pages en anglais, en anglais britannique, en allemand et sur la page de sélection.
En-tête HTTP Link pour un PDF
Envoyé par le serveur avec le fichier, puisqu'un PDF n'a pas de head où placer des balises.
Entrées de sitemap
Chaque élément url liste toutes les versions, y compris elle-même. L'espace de noms xhtml doit être déclaré sur urlset.
Les erreurs et leurs corrections
Ce qui se passe mal le plus souvent
Problème
Correction
Lien retour manquant
Ajoutez l'ensemble complet des balises à chaque version
Région sans langue, comme hreflang="US"
Utilisez une langue plus une région, comme en-US
Mauvais code de région, comme en-UK
Utilisez le code ISO 3166-1 GB
href relatif
Écrivez l'URL complète avec https et l'hôte
L'URL alternative redirige ou renvoie 404
Ne listez que des URL finales en ligne
Une région seule n'est pas valide ; ajoutez une langue, comme en-{code}
Utilisez un trait d'union, pas un tiret bas
Le code de région du Royaume-Uni est GB
Format attendu : en, en-GB ou zh-Hant
L'URL doit être absolue, avec https et l'hôte
Le même code apparaît deux fois
Générateur hreflang
Ajoutez le code et l'URL complète de chaque version. Le générateur vérifie les codes et écrit d'un coup l'ensemble des balises et le bloc sitemap pour toutes les versions.
Code
URL
Supprimer {name}
Supprimer la ligne
Supprimer
Ajouter une version
URL x-default (facultatif)
Format de sortie
Balises HTML
Sitemap
Les codes et les URL semblent valides. Placez ce même ensemble sur chaque version.