SEO technique

Hreflang : le guide complet pour le SEO international

Avatar
Responsable des contenus @ Ahrefs (ce qui veut dire en gros, que je dois m’assurer que chaque article publié est ÉPIQUE).
Si votre site propose du contenu en plusieurs langues, vous devez comprendre et utiliser l’attribut hreflang. Dans cet article, on couvre tout, du concept de base à l’implémentation, en passant par la résolution des problèmes courants.

Hreflang est un simple attribut HTML, mais il peut être difficile à maîtriser.

John Mueller de Google a décrit hreflang comme « l’un des aspects les plus complexes du SEO ».

Pour être honnête, hreflang est l’un des aspects les plus complexes du SEO (si ce n’est le plus complexe). Ça semble aussi simple qu’une balise meta, mais ça devient vraiment difficile très vite. — John (@JohnMu)

Lorsqu’on a mené une étude sur hreflang sur 374 756 domaines, on a constaté que 67 % des implémentations hreflang comportaient des erreurs. Voici les problèmes les plus courants :

Résultats de l'étude hreflang d'Ahrefs sur les problèmes SEO courants

Mais c’est pas une raison pour vous décourager. Hreflang n’est pas si compliqué à comprendre avec la bonne explication, et vous pouvez l’automatiser en grande partie. (J’en parle plus loin.)

Voici tout ce que vous apprendrez dans ce guide :

  • L’explication de ce qu’est une balise hreflang
  • Pourquoi hreflang est important pour le SEO international
  • À quoi ressemble hreflang
  • Comment construire une balise hreflang
  • Comment implémenter hreflang
  • Comment semi-automatiser l’implémentation de hreflang
  • Comment trouver et corriger les erreurs hreflang avec quel outil
  • Pourquoi vous devriez être prudent avec les redirections d’utilisateurs
Tip
Vous débutez en SEO technique ? Consultez le Guide du débutant en SEO technique.

Hreflang est un attribut HTML (un bout de code dans la partie HTML pour simplifier au max) utilisé pour spécifier la langue et la zone géographique ciblée d’une page web.

Si vous disposez de plusieurs versions d’une même page ou d’un article dans différentes langues, vous pouvez utiliser la balise hreflang pour informer les moteurs de recherche comme Google de ces variantes. Cela les aide à afficher la bonne version à leurs utilisateurs.

Par exemple, si on recherche « Brevo » sur Google en France, Brevo FR est le 1er résultat et on va arriver sur cette page :

Exemple de la page et URL affichée pour un utilisateur français de Brevo

Si on fait la même recherche en Espagne, on va atterrir sur cette version de la page :

Exemple de la page et URL affichée pour un utilisateur espagnol de Brevo

C’est l’hreflang qui rend cela possible.

Si vous avez consacré du temps à traduire votre contenu dans plusieurs langues, vous souhaitez que les moteurs de recherche affichent la version la plus utile à leurs utilisateurs.

Google et Yandex s’appuient tous deux sur les balises hreflang pour y parvenir.

Bing indique que hreflang est un signal faible pour eux et qu’ils se basent principalement sur l’attribut HTML content-language, les liens et les visiteurs de votre site pour déterminer la langue. Ils recommandent toutefois de l’utiliser dans leur documentation officielle.

Note.
Baidu ne prend pas en compte les balises hreflang. Il se base sur l’attribut HTML content-language.

L’expérience utilisateur

S’adapter à la langue maternelle des utilisateurs des moteurs de recherche améliore également leur expérience. Cela se traduit souvent par moins de personnes qui quittent votre page pour revenir aux résultats de recherche (c’est-à-dire un temps de consultation plus élevé), un taux de rebond plus faible, un temps passé sur la page plus long, etc. On estime que tous ces éléments ont un impact favorable sur le SEO et le positionnement.

Le positionnement

Mais comme Gary Illyes de Google le laisse entendre dans cette vidéo, les balises hreflang peuvent aussi avoir un effet direct sur le positionnement, car les pages d’un cluster hreflang partagent leurs signaux de positionnement dans certains scénarios. Par exemple, les pages dupliquées peuvent consolider leurs signaux. Hreflang est l’un des ~40 signaux de canonicalisation.

Cela crée un compromis intéressant : avoir le même contenu peut renforcer une page grâce à la consolidation des doublons, mais la mauvaise page risque alors d’apparaître dans les SERP. C’est pourquoi on recommande généralement une page unique par langue avec une personnalisation dynamique en fonction du pays.

La page la plus pertinente détermine la position dans le positionnement, mais les moteurs de recherche essaieront de permuter et d’afficher la page la plus adaptée à l’utilisateur dans les SERP.

Cela ne signifie pas que toutes les pages du cluster partagent leurs signaux, mais pour des requêtes comme un terme de marque ou un terme utilisé dans plusieurs langues, le positionnement est basé sur la page la mieux classée, puis permutée pour afficher la page la plus pertinente.

2 exemples
  1. Une recherche pour « Ahrefs » au Japon aurait probablement la version anglaise de la page comme celle ayant le meilleur positionnement (ce qui déterminerait la position).
    Mais lors du processus de reclassement, elle serait changée pour afficher la page japonaise.
  2. « Link building » est également un terme utilisé dans plusieurs langues : la page anglaise du blog sur le sujet est probablement la plus forte et celle qui déterminerait la position pour un utilisateur effectuant une recherche en français, mais la page affichée dans les SERP serait probablement permutée pour montrer la page française.

Le contenu dupliqué

Il existe toutefois une autre raison pour laquelle les attributs hreflang sont importants : le contenu dupliqué.

Imaginons que vous ayez deux versions de votre page :

  • l’une ciblant les lecteurs britanniques avec les règles du français usuelles en France,
  • l’autre ciblant les lecteurs américains avec les règles du français usuelles au Québec

Ces deux pages sont presque identiques, et Google peut donc les considérer comme du contenu dupliqué et choisir une seule version à indexer.

Les balises hreflang aident Google à comprendre la relation entre ces pages. Google essaiera d’afficher la bonne version dans les résultats de recherche, mais ce n’est pas garanti.

Les balises hreflang sont un signal, pas une directive. Il reste recommandé de localiser le contenu des pages qui utilisent la même langue au sein d’un cluster hreflang.

Vous pouvez le faire en localisant les prix (par exemple, EUR (l’euro utilisé en France vs. CAD (le dollar canadien)), les variantes linguistiques (par exemple, « voiture » vs. « char » ou alors « weekend » vs « fin de semaine » pour la France et le Québec), et ainsi de suite. Cela ne pose pas de problème pour les pages traduites, car Google ne les considère pas comme des doublons.

Les balises hreflang utilisent une syntaxe simple et cohérente :

<link rel="alternate" hreflang="_x_" href="https://example.com/alternate-page" />

Voici ce que signifie chaque partie de ce code :

  1. link rel=“alternate” : le lien contenu dans cette balise est une version alternative de cette page.
  2. hreflang=“x” : elle est alternative parce qu’elle est rédigée dans une langue différente, et cette langue est x.
  3. href=“https://example.com/alternate-page” : la page alternative se trouve à cette URL.

Construire une balise hreflang est aussi simple que de rechercher le code correspondant à la langue choisie et de remplir la balise. Hreflang prend en charge tout code de langue ISO 639-1 à deux lettres. (Consultez une liste complète ici.)

Exemple :

On va partir du principe qu’on souhaite ajouter une balise hreflang depuis la version anglaise de l’article de blog sur les outils de mots clés gratuits vers la version allemande. Voici la balise hreflang qu’on obtiendrait :

<link rel="alternate" hreflang="de" href="https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/" />

Nous avons simplement renseigné le code de langue (de pour l’Allemagne) et l’URL.

Cibler une région (facultatif)

S’il est tout à fait possible de spécifier une langue sans aller plus loin, les balises hreflang permettent également d’ajouter une région ou un pays. Il s’agit aussi d’un code à deux lettres, mais cette fois au format ISO 3166-1 alpha-2 (liste complète). Vous n’avez besoin de l’ajouter que lorsque vous souhaitez cibler les locuteurs d’une langue donnée dans une région donnée. Par exemple :

Anglophones au Royaume-Uni :

<link rel="alternate" hreflang="en-us" href="https://example.com/us/hello" />

Anglophones aux États-Unis :

<link rel="alternate" hreflang="en-us" href="https://example.com/us/hello" />

Vous pouvez constater que la syntaxe est la suivante : hreflang=“langue-pays.”

Pourquoi vous pourriez avoir besoin de spécifier les deux

Imaginez que vous gérez une boutique en ligne vendant un seul produit. Votre boutique livre en France et au Sénégal, deux pays majoritairement francophones. Cependant, les clients français veulent payer en euros, tandis que les clients sénégalais préfèrent voir les prix en francs CFA.

Pour résoudre ce problème, vous créez deux versions de votre page produit. L’une affiche le prix en euros, l’autre en francs CFA.

Note.
NB : La difficulté d’atteindre un mot clé varie d’une région à l’autre, d’un pays à l’autre et même d’un site à l’autre

En dehors de la tarification, ces deux pages sont identiques. Vous devez donc utiliser des balises hreflang pour signaler aux moteurs de recherche pourquoi ces deux versions existent.

Il peut également arriver que vous deviez procéder dans l’autre sens : c’est-à-dire cibler les locuteurs de plusieurs langues dans un même pays.

Par exemple, imaginez que vous avez un article de blog sur les road trips économiques au Canada. Le Canada a deux langues officielles : l’anglais et le français. 56,9 % et 21,3 % des Canadiens parlent respectivement l’anglais et le français, il est donc probable que vous tirerez profit de la création de deux variantes de cet article.

Les balises hreflang sont relativement simples à implémenter, et je vous partage trois règles pour y parvenir rapidement. Quelle que soit la méthode choisie, il existe 3 règles d’or que vous devez garder à l’esprit en permanence.

Règle n°1 : Les balises hreflang sont bidirectionnelles

Il est essentiel de comprendre que les balises hreflang fonctionnent par paires. Autrement dit, si vous ajoutez une balise hreflang sur une page anglaise pointant vers la variante italienne, alors la variante italienne doit renvoyer la pareille avec une balise hreflang pointant vers la page anglaise.

Schéma : Comment implémenter les balises hreflang proprement pour son SEO international

Cela prouve aux moteurs de recherche que vous avez le contrôle sur les deux pages, et qu’elles sont chacune en accord sur leur relation mutuelle. Ces paires forment un groupe de pages, appelé cluster hreflang.

Schéma : Les clusters hreflang pour optimiser son SEO international

C’est un peu comme définir un statut de relation sur Facebook. Vous pourriez facilement vous déclarer en couple avec Theodora ou Angèle, mais à moins qu’elles ne fassent de même, personne ne vous croira.

Par conséquent, lorsque les balises sont cassées ou que la relation n’a pas encore été entièrement établie, vous risquez de voir la mauvaise page, plusieurs pages, ou le mauvais titre pour la bonne URL dans les résultats de recherche.

Règle n°2 : Les attributs hreflang auto-référencés sont une bonne pratique

Google indique que « chaque version linguistique doit se référencer elle-même ainsi que toutes les autres versions linguistiques ». Je traduis : chaque page doit avoir une balise hreflang auto-référencée, c’est-à-dire une balise qui pointe vers elle-même.

Donc, si on veut ajouter des balises hreflang entre une page anglaise (https://example.com/hello) et une page italienne (https://example.com/ciao), chacune devrait contenir les balises hreflang suivantes :

<link rel="alternate" hreflang="it" href="https://example.com/ciao" />
<link rel="alternate" hreflang="en" href="https://example.com/hello" />

La première spécifie l’URL de la version italienne alternative de la page, et la seconde est une balise auto-référencée qui pointe vers la page elle-même.

La page italienne aurait également besoin de ces deux balises hreflang.

Schéma Ahrefs : les balises hreflang auto référentielles

Note.
John Mueller de Google a récemment déclaré que « le hreflang auto-référencé est optionnel, mais c’est une bonne pratique ». C’est principalement un héritage d’une époque où l’on copiait toutes les balises entre les pages. Ne vous inquiétez pas trop si vous n’avez pas les balises auto-référencées, mais les bonnes pratiques recommandent de les avoir.

Règle n°3 : Les balises x-default sont recommandées, mais pas obligatoires

La balise hreflang x-default spécifie la page par défaut ou de repli qui s’affiche pour les utilisateurs lorsqu’aucune autre variante linguistique n’est appropriée. Vous n’êtes pas obligé de les utiliser, mais Google recommande de le faire. Voici à quoi elle ressemble :

<link rel="alternate" hreflang="x-default" href="https://example.com/" />

Il n’y a aucune validation du côté de Google pour x-default. De nombreux professionnels du SEO pensent que chaque cluster ne possède qu’une seule balise x-default, mais en réalité, chaque page pourrait techniquement avoir sa propre balise x-default.

“Conseil
Les balises hreflang fonctionnent sur le principe de la meilleure correspondance. Autrement dit, Google renvoie la version du contenu qu’il estime être la meilleure correspondance en se basant sur divers signaux comme le pays et les paramètres linguistiques de l’utilisateur.

Pour illustrer ce fonctionnement, imaginez que Google renvoie un résultat pour un utilisateur anglophone situé en Espagne.

Google recherche d’abord une correspondance langue-pays (par exemple, en-es) et affiche cette page si elle existe.

Si ce n’est pas le cas, il recherche une correspondance de code langue (par exemple, en).

Si celle-ci n’existe pas non plus, Google se rabat sur la version x-default. 

Il existe 3 façons d’implémenter l’attribut hreflang :

  1. Les balises HTML
  2. Les en-têtes HTTP
  3. Les sitemaps

1. Implémenter les balises hreflang avec du HTML

Si vous débutez avec hreflang, utiliser des balises HTML basiques est probablement la méthode la plus simple et la plus rapide. Il vous suffit d’ajouter les balises hreflang appropriées (comme décrit ci-dessus) dans la balise de votre page web.

Exemple pour les balises hreflang via HTML :

On a lancé le blog Ahrefs en plusieurs langues, dont l’allemand, le français (🥳), le russe, le chinois et l’espagnol. En plus d’articles et d’études dédiés à chacun de ces pays, on traduit désormais les versions anglaises des articles du blog principal dans ces langues. L’un des articles qu’on a déjà traduits en chinois et en allemand est la liste des meilleurs outils gratuits de recherche de mots clés.

Voici les URL des 4 variantes :

Anglais : https://ahrefs.com/blog/free-keyword-research-tools/
Allemand : https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/
Français : https://ahrefs.com/blog/fr/outils-recherche-mots-cles-gratuits/
Chinois : https://ahrefs.com/blog/zh/free-keyword-research-tools/

Pour implémenter correctement les balises hreflang dans cette configuration, on ajouterait ce code dans la section de chacune des pages :

<link rel="alternate" hreflang="en" href="https://ahrefs.com/blog/free-keyword-research-tools/" />
<link rel="alternate" hreflang="de" href="https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/" />
<link rel="alternate" hreflang="fr" href="https://ahrefs.com/blog/fr/outils-recherche-mots-cles-gratuits/" />
<link rel="alternate" hreflang="zh" href="https://ahrefs.com/blog/zh/free-keyword-research-tools/" />
<link rel="alternate" hreflang="x-default" href="https://ahrefs.com/blog/free-keyword-research-tools/" />

Le problème avec cette méthode, c’est qu’elle prend du temps dès que vous avez pas mal de pages et du coup, elle est difficile à gérer.

Par exemple, si on décidait de traduire également la liste d’outils gratuits de recherche de mots clés en espagnol, il faudrait revenir en arrière et ajouter une nouvelle balise hreflang à toutes les autres variantes de cette page.

Il n’y a aucune limite au nombre de balises hreflang que vous pouvez avoir sur une page.

2. Implémenter les en-têtes HTTP hreflang

Pour les pages non-HTML comme les PDF, il n’est pas possible d’implémenter hreflang en plaçant des balises dans le du HTML. La raison est simple : il n’y a pas de HTML.

Alors, comment implémenter une balise hreflang pour un PDF ?

Dans ce cas, vous pouvez utiliser les en-têtes HTTP pour spécifier la langue relative des variantes d’un document. Cette méthode fonctionne aussi très bien avec les pages web classiques, mais elle est plus couramment utilisée avec d’autres types de contenu.

Exemple

Imaginons qu’on convertisse chaque version (anglaise, espagnole, allemande) de l’article sur les outils gratuits de recherche de keyword en PDF.

Voici à quoi devrait ressembler l’en-tête HTTP pour chacun de ces fichiers :

HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <https://ahrefs.com/blog/free-keyword-research-tools.pdf>; rel="alternate"; hreflang="x-default",
      <https://ahrefs.com/blog/free-keyword-research-tools.pdf>; rel="alternate"; hreflang="en",
      <https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools.pdf>; rel="alternate"; hreflang="de",
      <https://ahrefs.com/blog/zh/free-keyword-research-tools.pdf>; rel="alternate"; hreflang="zh"

3. Implémenter hreflang dans votre sitemap XML

Les sitemaps peuvent inclure un balisage pertinent pour spécifier le hreflang d’une page et de ses variantes. Pour cela, vous pouvez utiliser l’attribut xhtml:link.

Exemple

Si on reprend l’exemple initial (les trois variantes HTML de la liste d’outils gratuits de recherche de mots clés), voici le balisage complet pour le sitemap :

<url>
  <loc>https://ahrefs.com/blog/free-keyword-research-tools/</loc>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://ahrefs.com/blog/free-keyword-research-tools/" />
  <xhtml:link rel="alternate" hreflang="en" href="https://ahrefs.com/blog/free-keyword-research-tools/" />
  <xhtml:link rel="alternate" hreflang="de" href="https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/" />
  <xhtml:link rel="alternate" hreflang="zh" href="https://ahrefs.com/blog/zh/free-keyword-research-tools/" />
</url>
<url>
  <loc>https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/</loc>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://ahrefs.com/blog/free-keyword-research-tools/" />
  <xhtml:link rel="alternate" hreflang="en" href="https://ahrefs.com/blog/free-keyword-research-tools/" />
  <xhtml:link rel="alternate" hreflang="de" href="https://ahrefs.com/blog/de/kostenlose-keyword-recherche-tools/" />
  <xhtml:link rel="alternate" hreflang="zh" href="https://ahrefs.com/blog/zh/free-keyword-research-tools/" />
</url>

Cette méthode peut sembler la moins efficace et la plus cauchemardesque pour implémenter les attributs hreflang, mais en fait, c’est souvent l’inverse.

La raison : tout est défini dans un seul fichier.

Il n’est pas nécessaire de modifier plusieurs documents HTML à chaque petit changement ou suppression de page.

De plus, la surcharge supplémentaire dans les en-têtes et le code ajouté dans le HTML font qu’un grand nombre de balises hreflang peut avoir un impact sur la vitesse de votre site, alors que l’implémentation via votre sitemap ne provoque pas le même ralentissement.

Plus tôt dans ce guide, j’ai partagé un tweet de John Mueller de Google dans lequel il déclarait que l’attribut hreflang est la partie la plus complexe du SEO. Le voici à nouveau pour rappel :

Pour être honnête, le hreflang est l’un des aspects les plus complexes du SEO (si ce n’est le plus complexe). On a l’impression que c’est aussi simple qu’une balise meta, mais cela devient vraiment compliqué très vite. John (@JohnMu) 19 février 2018

C’est tout à fait vrai pour les grands sites multilingues. Cependant, étant donné que vous lisez ici ce qui est essentiellement un guide pour débutants sur les balises hreflang, on peut supposer que votre site n’est pas celui d’une marque multinationale avec des dizaines de milliers de clients, mais plutôt un site de petite ou moyenne taille avec du contenu multilingue.

Si c’est le cas, j’ai une bonne nouvelle :

La génération et l’implémentation de vos balises hreflang peuvent être automatisées en grande partie.

Pour ce faire, faites une copie de ce modèle Google Sheets, puis suivez les instructions ci-dessous.

Extrait template correction balises hreflang d'un coup pour seo international

1. Choisissez vos langues et régions

Rendez-vous dans l’onglet « Setup » de la feuille Google Sheets. Sélectionnez la langue par défaut (ou la combinaison langue-région) de votre site, ainsi que jusqu’à quatre autres variantes.

Par exemple, si on configurait cette feuille pour le blog Ahrefs, on indiquerait l’anglais comme langue par défaut, puis l’espagnol, le français, l’allemand, le russe et le chinois comme 5 variantes alternatives.

2. Collez vos URL

Rendez-vous dans l’onglet « Planner ». Vous devriez voir jusqu’à cinq colonnes, chacune ayant une cellule d’en-tête correspondant aux langues choisies à l’étape précédente. Il y a également une colonne pour les valeurs « x-default ».

Collez les URL dans la feuille en conséquence.

Par exemple, si on faisait cela pour le blog Ahrefs, on collerait les articles en anglais (langue principale / par défaut) dans la première colonne. Ensuite, on collerait les URL des versions traduites correspondantes dans les autres colonnes.

Extraits du template complété pour changer les balises hreflang en masse pour un site multilingue

Faites cela pour toutes les pages internationales pertinentes de votre site.

3. Téléchargez le sitemap XML hreflang

Rendez-vous dans l’onglet « Results » où vous trouverez le code généré automatiquement pour un sitemap XML.

Extrait du template complété pour changer les balises hreflang en masse pour un site multilingue via sitemap xml

Copiez tout le contenu de la colonne A. Collez-le dans un document XML.

Document xml pour compléter sitemap

Importez-le sur votre site, puis soumettez-le à Google via la Search Console.

4. Enregistrez les modifications dans la feuille

Chaque fois que vous ajoutez ou supprimez une page traduite de votre site, enregistrez ce changement dans cette feuille Google Sheets. Si vous supprimez une page, supprimez cette URL. Si vous ajoutez une nouvelle version traduite d’une page à votre site, ajoutez-la dans la colonne appropriée.

La feuille régénère le code du sitemap à la volée. Il vous suffit de le copier-coller dans votre sitemap à la place de l’ancien code.

Peu importe vos efforts pour maîtriser les attributs hreflang, certaines erreurs passeront presque toujours entre les mailles du filet. C’est pourquoi il est essentiel d’auditer régulièrement votre site web pour détecter les problèmes de hreflang et les corriger dès que possible.

La méthode la plus simple consiste à explorer régulièrement votre site web à l’aide de la fonctionnalité Hreflang checker via Site Audit d’Ahrefs.

Pour faciliter la compréhension et la mise en évidence des problèmes de hreflang, on a ajouté une visualisation des clusters hreflang, ainsi que davantage de données sur toutes les balises détectées et leur localisation. Cela vous permet de repérer et d’expliquer facilement les erreurs, plutôt que de devoir décortiquer des feuilles de calcul complexes.

Schéma du cocon hreflang avec comme exemple le site d'Ahrefs

Site Audit est un crawler basé sur le cloud qui vérifie votre site pour des centaines de problèmes liés au SEO, y compris ceux liés au hreflang.

Voici les 9 problèmes liés au hreflang que Site Audit peut détecter, et comment les corriger :

1. Annotation hreflang auto-référente manquante

Cet avertissement se déclenche lorsqu’une balise hreflang auto-référente est absente d’une ou plusieurs pages.

Pourquoi c’est un problème

Pour rappeler ce qu’on a mentionné plus tôt, Google indique que « chaque version linguistique doit se référencer elle-même ainsi que toutes les autres versions linguistiques ». Il est donc important d’utiliser une balise hreflang auto-référente chaque fois que vous ajoutez une balise hreflang à une page web.

Comment corriger

Examinez les pages concernées, puis ajoutez une balise hreflang auto-référente à chacune d’entre elles en utilisant la méthode de votre choix.

2. Annotation hreflang invalide

Cet avertissement se déclenche lorsqu’une ou plusieurs URL contiennent des balises hreflang avec des codes de langue ou de localisation invalides.

Pourquoi c’est un problème

Les moteurs de recherche ignorent les balises hreflang invalides, ce qui signifie qu’ils risquent de ne pas détecter les versions alternatives de votre page. C’est problématique pour le SEO, car cela signifie que les moteurs de recherche pourraient ne pas être en mesure d’afficher la version la plus appropriée de votre page aux utilisateurs.

Comment corriger

Examinez la page concernée. Vérifiez la colonne « Is valid hreflang » pour voir les balises hreflang invalides de chaque page. Supprimez-les au profit de balises hreflang utilisant des formats valides de code de langue ou de code langue-localisation.

3. Page référencée pour plus d’une langue dans le hreflang

Cet avertissement se déclenche lorsqu’une ou plusieurs URL sont référencées pour plus d’une langue dans les annotations hreflang. Par exemple :

<link rel="alternate" hreflang="en" href="http://example.com/page.html" />
<link rel="alternate" hreflang="de" href="http://example.com/page.html" />

Pourquoi c’est un problème

Chaque contenu ne doit correspondre qu’à une seule langue ou combinaison langue-localisation. Avoir deux références contradictoires ou plus perturbera les moteurs de recherche, qui pourraient finir par ignorer les deux attributs hreflang.

Comment corriger

Examinez les pages concernées, puis inspectez les URL qui référencent la page dans leurs attributs hreflang pour détecter les erreurs. Supprimez l’attribut hreflang incorrect pour ne laisser qu’un seul attribut correct par langue.

4. Hreflang réciproque manquant (pas de balise retour)

Ce problème se déclenche lorsque les liens de confirmation (retour) sont manquants pour les pages déclarées dans les annotations hreflang.

Pourquoi c’est un problème

Les balises hreflang sont bidirectionnelles (c’est-à-dire que si la page A pointe vers la page B dans les annotations hreflang, la page B doit pointer vers la page A en retour).

Comment corriger

Examinez les pages concernées. Ajoutez des balises hreflang bidirectionnelles là où c’est nécessaire.

Voici une autre façon de vérifier ce problème…

Rendez-vous dans le rapport de ciblage international de Google Search Console et sélectionnez l’onglet « Langue ». Tout problème lié aux balises retour manquantes y est signalé.capture-ecran-ciblage-international-google-search-console-balises-retour-manquantes

Ce rapport signale également les problèmes liés à l’utilisation de codes de langue ou de codes langue+pays inexistants.

5. Hreflang vers une URL non canonical

Ce problème se déclenche lorsqu’une ou plusieurs pages référencent une URL non canonical dans leurs balises hreflang.

Pourquoi c’est un problème

L’attribut rel=“alternate” hreflang=“x” indique aux moteurs de recherche d’afficher la version traduite (localisée) d’une page, tandis que l’attribut rel=canonical signale que ce n’est pas la version faisant autorité (canonical). Ces deux attributs se contredisent et perturbent les moteurs de recherche.

Comment corriger

Examinez les pages concernées. Modifiez leurs annotations hreflang afin qu’elles pointent uniquement vers des URL canonical. Ou, si vous trouvez une page avec une balise canonical erronée, supprimez-la pour garantir que l’attribut hreflang soit correctement compris et suivi par les moteurs de recherche.

Vous avez plusieurs versions de pages dans la même langue ?

Google peut les considérer comme des doublons et ne choisir qu’une seule URL comme canonical.

Par exemple, supposons que vous ayez deux pages produit, l’une pour les États-Unis (« en-us ») et l’autre pour le Royaume-Uni (« en-gb »). Le contenu des deux pages est quasiment identique, la seule différence étant que les prix sont en dollars américains sur l’une et en livres sterling sur l’autre.

Si Google choisit l’une d’entre elles comme canonical, il exclura toutes les autres de l’index.

Si vous soupçonnez que cela se produit pour une page en particulier, utilisez l’outil d’inspection des URL dans Search Console pour voir comment Google perçoit cette page.google-search-console-probleme-indexation-lie-balise-hreflang

6. Incohérence entre hreflang et l’attribut lang HTML

Ce problème se déclenche lorsqu’il y a une incohérence entre le hreflang déclaré et l’attribut de langue HTML pour une ou plusieurs URL.

Pourquoi c’est un problème

Google n’utilise pas l’attribut de langue HTML, mais d’autres moteurs de recherche et navigateurs le font. Il est important de maintenir la cohérence entre ces deux attributs.

Comment corriger

Examinez les pages concernées. Modifiez l’attribut de langue HTML pour assurer la cohérence avec l’attribut hreflang déclaré.

7. Hreflang vers une page en erreur

Ce problème se déclenche lorsqu’une ou plusieurs pages référencent des URL en erreur dans leurs annotations hreflang.

Pourquoi c’est un problème

Google et les autres moteurs de recherche ne peuvent pas afficher à leurs utilisateurs un contenu qui n’existe pas. Pour cette raison, les attributs hreflang pointant vers des pages mortes seront très probablement ignorés par Google et les autres moteurs de recherche.

Comment corriger

Examinez les pages concernées. Modifiez les annotations hreflang pour vous assurer qu’elles pointent vers des pages fonctionnelles.

8. Plus d’une page pour la même langue dans le hreflang

Ce problème se déclenche lorsqu’une ou plusieurs URL référencent deux pages ou plus pour la même langue (ou combinaison langue-localisation) dans leurs annotations hreflang.

Pourquoi c’est un problème

Référencer plusieurs pages pour la même langue (ou combinaison langue-localisation) dans les annotations hreflang ne fait que perturber les moteurs de recherche. Ils ignoreront souvent ou interpréteront mal ces directives.

Comment corriger

Examinez les pages concernées. Supprimez l’une des annotations hreflang afin qu’une seule page soit référencée pour chaque langue.

9. Annotation hreflang x-default manquante

Ce problème se déclenche lorsqu’il n’y a pas d’annotation hreflang x-default sur la page.

Pourquoi c’est un problème

Bien que les attributs hreflang x-default soient facultatifs, Google les recommande comme moyen de « contrôler la page lorsqu’aucune langue ne correspond ». La bonne pratique SEO consiste à utiliser les balises x-default pour toutes les annotations hreflang.

Comment corriger

Examinez les pages concernées. Assurez-vous que chacune d’entre elles dispose d’un attribut hreflang « x-default ». Vérifiez qu’il pointe vers une page non spécifique à une langue ou une région.

…….

Pour rester maître des problèmes de hreflang susceptibles d’apparaître au fil du temps, envisagez de programmer un crawl quotidien, hebdomadaire ou mensuel dans l’outil Site Audit d’Ahrefs. Vous pouvez le configurer dans les paramètres de votre projet.programmer-crawl-avec-ahrefs-suivi

Les nouveaux problèmes apparaîtront dans le rapport Localization du projet associé après chaque crawl programmé, alors pensez à le consulter régulièrement.

Utiliser Site Explorer d’Ahrefs pour vérifier les positionnements incorrects

Tapez un domaine, un sous-domaine ou un chemin de sous-dossier correspondant à la langue que vous souhaitez vérifier dans Site Explorer d’Ahrefs, puis accédez à l’onglet « Organic search » dans le rapport « Vue d’ensemble ».

Regardez la liste des pays par trafic organique. Correspond-elle à ce que vous attendiez ?

Ici, la version française du site (ahrefs.com/fr) se positionne en France et dans d’autres pays francophones comme le Maroc, le Cameroun et l’Algérie, ce qui est prévisible. Mais elle génère également du trafic depuis les États-Unis, ce qui semble surprenant.

trouver-pays-source-trafic-avec-site-explorer-ahrefs

Vérifier les différentes versions de votre site de cette manière constitue un bon point de départ pour rechercher d’éventuels problèmes liés aux balises hreflang.

Même s’il est toujours judicieux de suivre les bonnes pratiques, il arrive que les moteurs de recherche ignorent certains problèmes. Cela se produit généralement lorsqu’un moteur de recherche rencontre le même problème de manière répétée et estime pouvoir le gérer de son côté.

Voici quelques problèmes confirmés liés aux balises hreflang que Google « corrige » pour vous :

1. Un underscore au lieu d’un tiret

Gary Illyes mentionne dans ce fil Twitter que les parseurs de Google prennent en compte cette erreur courante.

2. en-UK au lieu de en-GB

John Mueller a abordé ce sujet dans son AMA (Ask Me Anything) sur Reddit. Comme UK est un code réservé, Google peut corriger ce problème automatiquement.

citation-google-uk-ou-bg

3. Le hreflang sans auto-référence

John Mueller de Google a récemment déclaré (le compte n’est plus accessible librement, il va falloir nous croire sur screenshot) que le hreflang auto-référentiel est facultatif, mais constitue une bonne pratique.

tweet-john-mu-hreflang

4. URL relatives vs URL absolues

tweet-mu-google-url-relative-url-absolue

Dans de nombreux cas, les sites web redirigent automatiquement les utilisateurs en fonction d’une combinaison de cookies, d’adresse IP et/ou de langue du navigateur. Cela peut entraîner une expérience frustrante et désagréable pour les utilisateurs, et pose souvent des problèmes aux moteurs de recherche qui tentent d’indexer votre contenu. Entre autres, cela peut rompre les connexions nécessaires au bon fonctionnement de vos balises hreflang.

Voici ce que Google recommande :

N’utilisez pas l’analyse IP pour adapter votre contenu. L’analyse de la localisation par IP est difficile et généralement peu fiable. De plus, Google pourrait ne pas être en mesure d’explorer correctement les variantes de votre site. La plupart des explorations de Google proviennent des États-Unis (mais pas toutes), et nous ne tentons pas de varier la localisation pour détecter les variantes d’un site. Utilisez l’une des méthodes explicites présentées ici (hreflang, URL alternatives et liens explicites).

Traitez toujours les robots d’exploration des moteurs de recherche comme vous le feriez pour un utilisateur de n’importe quel pays. Si vous traitez le robot du moteur de recherche différemment d’un utilisateur, cela est considéré comme du cloaking et constitue une violation des consignes Google aux webmasters.

Ce que vous pouvez faire, c’est utiliser la même logique de détection pour suggérer une meilleure version de la page à l’utilisateur via une petite bannière.

Veillez à ne pas occuper trop d’espace avec cette bannière. Si elle est trop grande, elle pourrait être considérée comme un interstitiel.

L’encodage des caractères dans les URL avec UTF-8 convient à Google, mais il peut y avoir un point de défaillance dans votre stack technique où il n’est pas pris en charge.

Vous ne pouvez pas placer les balises hreflang dans le body, car elles pourraient être utilisées à des fins de détournement. Les balises peuvent être forcées dans la section body sous certaines conditions. C’est ce que l’on appelle la rupture du <head>, qui peut être causée par des éléments comme des iframes ou des balises non fermées dans la section <head>, ou par l’injection de différents éléments avec JavaScript. Utilisez les points d’arrêt DOM pour résoudre le problème.

Pour les voir, vous devrez peut-être utiliser l’un des outils de Google pour afficher le DOM rendu, ou faire « Clic droit » > Inspecter dans Chrome et effectuer une recherche dans le panneau Éléments de Chrome DevTools.

inspecter-page-balise-hreflang

Ne bloquez pas les pages contenant des balises hreflang avec robots.txt. Si Google ne peut pas explorer les pages, les balises hreflang ne seront pas détectées.

N’appliquez pas de noindex aux pages contenant des balises hreflang. Elles doivent être indexées.

Hreflang n’est pas si compliqué que ça. Il suffit de rester organisé, d’automatiser la mise en œuvre autant que possible, de surveiller les problèmes qui surgiront inévitablement et de les corriger le plus rapidement possible.

Des questions ? Faites-le moi savoir sur notre Linkedin en français ou sur X.