Résultat
Comment utiliser l’outil
Collez l’adresse d’une page, puis cliquez sur « Tester ». L’outil lit la page et relève chaque déclaration hreflang trouvée dans le code HTML et dans l’en-tête HTTP Link. Si vous indiquez aussi un sitemap, il cherche l’entrée de la page dans ce fichier et ajoute ses déclarations. Chaque ligne du tableau donne le code, l’adresse, la source et la balise exacte trouvée, pour que vous puissiez la retrouver dans le code de la page.
L’outil lit ensuite les pages alternatives déclarées, dix au plus, à la suite de la page de départ. Au-delà, il le signale et laisse les suivantes de côté. Une analyse compte pour une seule demande : les outils de ce site en acceptent vingt par tranche de dix minutes et par visiteur, tous outils confondus.
Chaque problème relevé renvoie à la règle qui le fonde : la documentation de Google sur les versions localisées, celle sur les URL canoniques, ou les normes ISO des codes de langue et de pays.
Ce que vérifie l’outil
- Les codes. Google accepte une langue au format ISO 639-1, suivie si besoin d’une région au format ISO 3166-1 Alpha 2, ainsi que la valeur x-default.1 Un code de pays seul, un soulignement à la place du tiret ou une région hors norme sont signalés.
- Les adresses absolues. Les adresses alternatives doivent être complètes, avec http ou https ; une forme comme /page ou //exemple.fr/page ne convient pas.1
- L’autoréférence. Chaque version doit se citer elle-même, en plus de toutes les autres.1
- Les doublons de langue. Un même code employé pour deux adresses différentes. Les annotations décrivent une page par langue ou par région : deux adresses sous le même code se contredisent.
- Le lien de retour. Si deux pages ne pointent pas l’une vers l’autre, Google ignore leurs annotations.1 L’outil cherche, dans chaque page alternative, le lien qui revient vers la page de départ, et montre la balise trouvée.
- Le code HTTP des alternatives. Une adresse déclarée doit répondre 200. Google ignore le contenu d’une adresse qui redirige et ne garde pas dans son index une page en erreur 4xx.3
- Les canoniques. Une page alternative dont la canonique pointe vers une autre version, ou une page de départ canonisée ailleurs, contredit les annotations.2
Trois façons de déclarer les versions d’une page
Google lit les annotations hreflang à trois endroits, et les tient pour équivalentes.1 Le plus courant reste la balise link, placée dans le head de chaque version :
<link rel="alternate" hreflang="fr" href="https://www.exemple.fr/page/"> <link rel="alternate" hreflang="en" href="https://www.exemple.fr/en/page/"> <link rel="alternate" hreflang="x-default" href="https://www.exemple.fr/page/">
Pour un fichier qui n’est pas une page HTML, un PDF par exemple, la même information passe par l’en-tête HTTP Link, renvoyé par le serveur avec la réponse :
Link: <https://www.exemple.fr/guide.pdf>; rel="alternate"; hreflang="fr",
<https://www.exemple.fr/en/guide.pdf>; rel="alternate"; hreflang="en"
Enfin, le sitemap peut porter les annotations : sous chaque élément url, un élément xhtml:link par version, la page elle-même comprise, avec l’espace de noms xhtml déclaré en tête du fichier.1 Cette méthode allège le code des pages sur un gros site, mais elle se vérifie moins facilement : c’est pourquoi l’outil accepte l’adresse d’un sitemap en option. Le guide sur ce que Google dit du sitemap XML détaille le reste de ce fichier.
Google précise qu’utiliser les trois méthodes à la fois n’apporte rien.1 Mieux vaut en choisir une et la tenir à jour. Quand la même adresse est déclarée sous le même code par deux sources, l’outil ne compte pas de doublon.
Les codes de langue et de région
Un code hreflang commence par une langue sur deux lettres, tirée de la norme ISO 639-14 : fr, en, de. Il peut se poursuivre par une région sur deux lettres, tirée de la norme ISO 3166-1 Alpha 25 : fr-BE pour le français de Belgique, en-GB pour l’anglais du Royaume-Uni. Google accepte aussi une écriture au format ISO 15924, comme zh-Hant pour le chinois traditionnel. La casse ne compte pas.1
| Code | Verdict | Pourquoi |
|---|---|---|
| fr-BE | Valable | Langue puis région, toutes deux dans les normes. |
| zh-Hant | Valable | Langue puis écriture ISO 15924. |
| en-UK | Refusé | UK est un code réservé ; le Royaume-Uni s’écrit GB. |
| es-419 | Refusé | Code régional hors des normes acceptées par Google. |
| fr_FR | Refusé | Le séparateur attendu est le tiret. |
Google cite lui-même ces pièges parmi les erreurs courantes : un code de pays employé seul, ou un code de région réservé comme EU, UN ou UK, qui reste sans effet.1 Certains codes de deux lettres existent dans les deux listes avec deux sens : be désigne la langue biélorusse ; la Belgique ne s’écrit BE qu’en position de région, comme dans fr-BE. L’outil ne peut pas deviner l’intention dans ce cas ; à vous de vérifier que le code dit bien la langue de la page.
La valeur x-default désigne la page à montrer quand aucune autre langue ou région ne correspond au visiteur. Elle convient bien à un sélecteur de langue ou de pays, ou à la version principale du site.1 Elle n’est pas obligatoire, et l’outil ne signale pas son absence.
Le lien de retour, règle la plus souvent oubliée
Une annotation hreflang ne vaut que si elle est confirmée des deux côtés. Si la page française cite la page anglaise, la page anglaise doit citer la page française en retour ; sinon, Google ignore les balises.1 Le cas typique : une nouvelle version linguistique ajoutée sur une seule page, ou un gabarit mis à jour dans une seule langue.
Le retour doit viser l’adresse exacte de la page de départ. Une différence de protocole, de www ou de barre finale suffit à le manquer : l’outil signale ce cas à part, comme un retour approchant, avec l’adresse trouvée. Il vérifie aussi que le retour emploie le même code que celui sous lequel la page de départ se déclare, et que chaque alternative se cite elle-même.
Pour un nouveau marché, Google précise qu’il importe davantage de relier la nouvelle version à la langue d’origine que de relier entre elles toutes les variantes.1 Relier la nouvelle page à l’ancienne, dans les deux sens, reste donc la première chose à faire.
hreflang et balise canonique
Les deux signaux doivent aller dans le même sens. Google demande, quand on utilise hreflang, de désigner une page canonique dans la même langue, ou à défaut dans la langue de substitution la plus proche.2 Une version anglaise dont la canonique pointe vers la version française demande à Google de retenir la française à sa place, ce qui contredit l’annotation. L’outil le signale et nomme la version visée.
Même logique pour la page de départ : si sa canonique désigne une autre adresse, c’est cette autre adresse que Google retiendra en principe, et les annotations doivent figurer sur elle et pointer vers elle. Google indique aussi préférer, pour la localisation, les adresses qui font partie d’un ensemble hreflang2 : des annotations propres aident donc le bon choix de canonique.
Deux versions qui ne diffèrent que par la région, en-GB et en-US par exemple, ne sont pas des doublons quand leur contenu principal est adapté. Google ne considère les versions localisées comme des doublons que si le contenu principal reste non traduit.1
Ce que l’outil ne voit pas
L’outil lit le code HTML tel que le serveur l’envoie. Des balises ajoutées par JavaScript après le chargement n’y figurent pas. Il ne contrôle pas non plus la position des balises : Google demande qu’elles soient dans un head bien formé et conseille un validateur HTML en cas de doute.1
Pour un index de sitemaps, l’outil ne descend pas dans chaque fichier : indiquez le sitemap qui contient la page. Il ne suit pas non plus les redirections des pages alternatives, puisqu’une alternative qui redirige est justement à corriger. Pour examiner une page alternative plus en détail, le générateur de balises meta et Open Graph lit sa canonique et ses balises principales.
Enfin, hreflang ne sert pas à Google pour reconnaître la langue d’une page : ses algorithmes s’en chargent.1 Les annotations servent à montrer la bonne version au bon visiteur, parmi des pages déjà indexées.
Questions fréquentes
La balise hreflang doit-elle pointer vers la page elle-même ?
Oui. Chaque version doit se citer elle-même, en plus de toutes les autres versions. Une page française déclare donc fr vers sa propre adresse, puis en vers la page anglaise.
Que se passe-t-il sans lien de retour ?
Si deux pages ne pointent pas l’une vers l’autre, Google ignore leurs annotations. La page qui cite une version doit être citée par elle en retour, avec son adresse exacte.
Faut-il écrire en-UK ou en-GB ?
en-GB. La région suit la norme ISO 3166-1 Alpha 2, où le Royaume-Uni s’écrit GB. Google range UK parmi les codes réservés, sans effet.
La balise x-default est-elle obligatoire ?
Non. Elle désigne la page à montrer quand aucune langue ni région déclarée ne correspond au visiteur. Elle est utile pour une page de choix de langue ou de pays, ou pour la version principale du site.
Balise link, en-tête HTTP ou sitemap : laquelle choisir ?
Pour Google, les trois se valent. La balise link est la plus simple à vérifier, l’en-tête HTTP sert aux fichiers comme les PDF, le sitemap allège les pages d’un gros site. Utiliser les trois à la fois n’apporte rien.
Une version traduite peut-elle avoir pour canonique la version d’origine ?
Non. Google demande une canonique dans la même langue. Une page anglaise canonisée vers la page française demande à Google de retenir la française à sa place, ce qui contredit l’annotation hreflang.
Sources
Les passages de cette page qui s’appuient sur une source renvoient à l’une de ces références.
- Google, « Indiquer à Google les versions localisées de votre page », Google Search Central. developers.google.com ↑
- Google, page sur l’indication d’une URL canonique avec rel="canonical" et d’autres méthodes, Google Search Central. developers.google.com ↑
- Google, « Effet des codes d’état HTTP sur les robots d’exploration Google », documentation de l’infrastructure d’exploration. developers.google.com ↑
- Bibliothèque du Congrès, autorité d’enregistrement de la norme ISO 639-2, liste des codes de langue avec leurs équivalents ISO 639-1. loc.gov ↑
- ISO, plateforme de consultation en ligne, codes de pays ISO 3166-1. iso.org ↑