Tester les balises hreflang d’une page

Indiquez l’adresse d’une page : l’outil relève ses déclarations hreflang, contrôle les codes de langue, puis lit chaque version alternative pour vérifier son code HTTP, son lien de retour et sa canonique.

Pour relever aussi les déclarations faites dans le sitemap. Sans http:// ni https://, l’outil part de https://.

    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

    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

    CodeVerdictPourquoi
    fr-BEValableLangue puis région, toutes deux dans les normes.
    zh-HantValableLangue puis écriture ISO 15924.
    en-UKRefuséUK est un code réservé ; le Royaume-Uni s’écrit GB.
    es-419RefuséCode régional hors des normes acceptées par Google.
    fr_FRRefusé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.

    1. Google, « Indiquer à Google les versions localisées de votre page », Google Search Central. developers.google.com ↑
    2. Google, page sur l’indication d’une URL canonique avec rel="canonical" et d’autres méthodes, Google Search Central. developers.google.com ↑
    3. Google, « Effet des codes d’état HTTP sur les robots d’exploration Google », documentation de l’infrastructure d’exploration. developers.google.com ↑
    4. 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 ↑
    5. ISO, plateforme de consultation en ligne, codes de pays ISO 3166-1. iso.org ↑

    Un site en plusieurs langues à mettre d’aplomb ?

    Les annotations hreflang, les canoniques et la structure des versions font partie de l’accompagnement SEO que je propose. Je vous réponds sous 24 heures ouvrées.

    Me contacter