Signaler les versions localisées de vos pages (hreflang)
Découvrez les trois méthodes hreflang (HTML, en-tête HTTP, sitemap) et les codes langue/pays pour servir la bonne version à chaque internaute.
Quand une même page existe en plusieurs langues ou régions, vous avez intérêt à l’indiquer explicitement à Google. C’est le rôle de l’annotation hreflang, pierre angulaire de la gestion d’un site multilingue ou multirégional : elle relie les variantes d’un même contenu pour que la recherche serve à chaque internaute la version la plus pertinente. Sans cette indication, Google peut détecter certaines versions, mais le résultat est moins fiable.
Le cas se présente dans plusieurs scénarios : seul le modèle de page est traduit alors que le contenu principal reste dans une langue (typique des forums), un contenu identique avec quelques variantes régionales, ou un site entièrement traduit dans plusieurs langues. Important : hreflang ne sert pas à déterminer la langue d’une page, Google s’appuie pour cela sur ses propres algorithmes. Et les versions localisées ne sont considérées comme des doublons que si le contenu principal n’est pas traduit.
Le hreflang, c’est la pierre angulaire d’un site international et aussi la source d’erreurs la plus fréquente que je débogue. La règle qu’on oublie tout le temps : l’annotation doit être réciproque, chaque version doit se déclarer et déclarer les autres, sinon Google ignore le signal. Choisissez une seule méthode, HTML, en-tête HTTP ou sitemap, et tenez-la, mélanger les approches finit toujours en incohérences.
Trois méthodes équivalentes
Google accepte trois approches pour déclarer vos variantes, et les trois se valent. À vous de choisir celle qui colle le mieux à votre site et à votre façon de piloter un site multirégional. Les combiner n’apporte aucun bénéfice et complique la maintenance, alors mieux vaut s’en tenir à une seule.
Une règle traverse toutes les méthodes : chaque version doit se référencer elle-même et lister toutes les autres versions. Les URL doivent être complètes, avec le protocole http ou https. Et les liens doivent être bidirectionnels : si la page X pointe vers la page Y, la page Y doit pointer vers la page X, sinon l’annotation est ignorée. Le tableau ci-dessous résume les trois méthodes et leur cas d’usage idéal.
| Méthode | Où la placer | Cas d'usage idéal |
|---|---|---|
Balises HTML |
Élément link dans le head de chaque page |
Site sans sitemap ni accès aux en-têtes HTTP |
En-tête HTTP |
En-tête Link de la réponse GET |
Fichiers non HTML comme les PDF |
Sitemap XML |
Élément xhtml:link dans chaque url du sitemap |
Gestion centralisée de nombreuses URL |
La méthode HTML
La méthode HTML consiste à ajouter, dans le head de chaque page, un élément link par variante, y compris la page elle-même. L’ensemble de liens est identique sur toutes les versions. Ne combinez pas hreflang avec d’autres attributs comme media dans une même balise link, et veillez à ce que les balises soient bien dans un head correctement formé.
<head>
<title>Widgets, Inc</title>
<link rel="alternate" hreflang="en-gb" href="https://en-gb.monsite.fr/page.html" />
<link rel="alternate" hreflang="en-us" href="https://en-us.monsite.fr/page.html" />
<link rel="alternate" hreflang="en" href="https://en.monsite.fr/page.html" />
<link rel="alternate" hreflang="de" href="https://de.monsite.fr/page.html" />
<link rel="alternate" hreflang="x-default" href="https://www.monsite.fr/" />
</head>
En-tête HTTP et sitemap
Pour les fichiers non HTML comme les PDF, déclarez les variantes via un en-tête HTTP Link renvoyé avec la réponse. Chaque URL est délimitée par les signes inférieur et supérieur, et l’ensemble est identique pour toutes les versions :
Link: ; rel= »alternate »; hreflang= »en », ; rel= »alternate »; hreflang= »de-ch », ; rel= »alternate »; hreflang= »de »
La méthode sitemap, elle, centralise tout dans un fichier XML. Chaque élément url contient un loc et autant d’entrées xhtml:link que de variantes, page comprise. Pensez à déclarer l’espace de noms xhtml.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://www.monsite.fr/english/page.html</loc>
<xhtml:link rel="alternate" hreflang="de" href="https://www.example.de/deutsch/page.html"/>
<xhtml:link rel="alternate" hreflang="de-ch" href="https://www.example.de/schweiz-deutsch/page.html"/>
<xhtml:link rel="alternate" hreflang="en" href="https://www.monsite.fr/english/page.html"/>
</url>
</urlset>
Codes langue, pays et valeur x-default
La valeur hreflang combine un code langue obligatoire (ISO 639-1) et un code région facultatif (ISO 3166-1 Alpha 2), séparés par un tiret, par exemple en-US. Vous ne pouvez pas indiquer le code pays seul : be désigne le biélorusse, pas la Belgique. Pour le français de Belgique, écrivez fr-be. La valeur x-default sert de page de repli pour les internautes dont la langue ne correspond à aucune version, idéale sur une page de sélection et utile face aux pages adaptées à la langue et au pays. Le tableau ci-dessous illustre les cas courants.
| Code | Signification | Validité |
|---|---|---|
de |
Allemand, toutes régions |
Valide |
en-GB |
Anglais pour le Royaume-Uni |
Valide |
fr-be |
Français pour la Belgique |
Valide |
zh-Hant |
Chinois traditionnel (script ISO 15924) |
Valide |
be |
Code pays seul attendu pour la Belgique |
Non valide (be = biélorusse) |
es-419 |
Espagnol Amérique latine |
Non valide (hors ISO 3166-1) |
x-default |
Page de repli pour langues sans correspondance |
Valeur réservée recommandée |
Si la page X déclare la page Y comme variante, la page Y doit déclarer la page X en retour. Faute de quoi Google ignore ou interprète mal l’annotation. C’est l’erreur la plus fréquente avec hreflang, devant les codes langue ou région incorrects (UK, EU ou UN n’ont aucun effet). Vérifiez aussi que chaque page se référence bien elle-même.
À faire
- choisir une seule méthode
- lister toutes les variantes y compris la page elle-même
- utiliser des URL complètes avec protocole
- ajouter une page x-default
À éviter
- combiner inutilement les trois méthodes
- oublier les liens de renvoi bidirectionnels
- indiquer un code pays seul
- employer des codes non officiels comme UK, EU ou es-419
Points clés à retenir
- Choisissez une seule méthode parmi HTML, en-tête HTTP et sitemap.
- Incluez toujours la page elle-même dans la liste des variantes.
- Rendez chaque relation hreflang bidirectionnelle.
- Respectez les codes ISO 639-1 et ISO 3166-1 Alpha 2.
- Ajoutez une page x-default pour les langues sans correspondance.
Une implémentation hreflang propre repose sur quelques règles strictes.
Quiz : testez vos connaissances
Quiz : testez vos connaissances
-
Faut-il utiliser les trois méthodes hreflang en même temps ?
- Oui, les combiner renforce le signal envoyé à Google
- Non, les trois sont équivalentes et les combiner complique la maintenance
- Oui, mais seulement pour les pages traduites en plus de trois langues
Les trois méthodes sont équivalentes pour Google. Les combiner n’apporte aucun bénéfice et complique la maintenance, alors mieux vaut en choisir une seule.
-
Pouvez-vous indiquer seulement le code pays dans une valeur hreflang ?
- Oui, à condition d'ajouter aussi un code région facultatif
- Non, le premier code désigne toujours la langue, pas le pays
- Oui, le code pays seul suffit à cibler une zone précise
Le premier code désigne toujours la langue. Par exemple
becorrespond au biélorusse et non à la Belgique. Pour le français de Belgique, il faut écrirefr-BE. -
Quelle règle de réciprocité s'applique aux liens hreflang ?
- Seule la page principale doit déclarer toutes les autres variantes
- Chaque page doit déclarer toutes les variantes sauf elle-même
- Si la page X déclare la page Y, la page Y doit déclarer la page X en retour
Les liens de renvoi doivent être bidirectionnels : si la page X déclare la page Y comme variante, la page Y doit déclarer la page X en retour, sinon Google ignore l’annotation.
Besoin d'un accompagnement SEO ?
Vos annotations hreflang sont en place mais vous voulez vérifier qu'elles sont correctes ?