Sommaire

Qu’est-ce que la balise hreflang ?

Lorsqu’on souhaite mettre en place une stratégie de référencement internationale, il est nécessaire de réfléchir sérieusement à l’utilisation de la balise hreflang. Il s’agit d’une technique utilisée par les sites web qui possèdent les mêmes contenus dans plusieurs langues différentes. Google a introduit ce bout de code html en 2011 pour aider les moteurs de recherche à comprendre le contexte international d’une page – en particulier l’emplacement et la langue. Avant 2011, Google se fiait à d’autres éléments moins précis, pour deviner la pertinence d’une page par rapport à une requête. Le sous domaine, la structure de l’url (site.com/uk/fr/fr/), l’emplacement du serveur ou le ciblage d’emplacement dans la Google Search Console étaient en effet des indices intéressants, mais qui généraient beaucoup d’incohérences. La balise Hreflang est ainsi devenue indispensable pour différencier par exemple les États-Unis et le Royaume-Uni qui parlent un anglais différent sur certains points.

balise-hreflang-site-multilingue

Concrètement, elle peut être utilisée dans 3 scénarios :

– Vous possédez une version complètement différente de votre site traduite dans une ou plusieurs langues.
– Vous traduisez uniquement certains éléments du template (menu, barre latérales, pied de page…) mais le contenu principal n’est disponible que dans une seule langue.
– Certaines de vos pages sont très similaires car elles utilisent des variations de langues régionales (exemple : espagnol d’Espagne Vs espagnol du Mexique).

Hreflang et SEO : pourquoi cette balise est-elle si importante ?

L’implémentation d’un balise hreflang est essentielle d’un point de vue SEO et UX (expérience utilisateur). En effet, en permettant aux moteurs de recherche de positionner une page dans la bonne langue, elle diminue le taux de rebond et le pogo sticking. Ce dernier se produit lorsqu’un internaute effectue une recherche, clique sur un résultat, retourne immédiatement sur la page de résultats de Google et clique sur un résultat différent. Google traduit ce type de comportement comme une conséquence directe de l’insatisfaction de l’utilisateur dans le résultat de la recherche. Il constitue donc un signal négatif qui peut impacter le classement de vos pages.

La balise hreflang évite également le contenu dupliqué qui peut être généré lorsqu’un site propose plusieurs versions en fonction des régions. Par exemple, la société A dispose d’un site web multilingue avec des contenus pour l’Allemagne, la Suisse et la France. Les contenus des versions suisse et allemande se différencient parfois uniquement par la devise, le prix etc. Comme les deux langues sont assez semblables, sans le hreflang, il y aurait un problème de contenu dupliqué. Grâce à la balise, le moteur de recherche reconnaît qu’il s’agit d’un contenu pour différentes régions.

Où doit-on placer la balise hreflang ?

Dans ses guidelines, Google autorise trois façons différentes d’implémenter la balise hreflang : dans le header (HTML), le Sitemap XML ou dans l’entête http.

balise-hreflang-header-sitemap

Si l’implémentation dans les sitemaps HTML et XML sont les solutions les plus fréquemment utilisées, il n’existe pas de meilleure méthode d’implémentation. Seule l’équipe de développement peut juger de ce qui est le plus facilement réalisable en fonction de la structure du site et de ses contraintes.

L’implémentation dans le header

L’implémentation de balises hreflang dans la section HTML est la plus facile à vérifier (il suffit de regarder dans le code source). Elle se présente comme suit :

<link rel= »alternate » href= »https://www.exemple.com » hreflang= »en »>

<link rel= »alternate » href= »https://www.exemple.de » hreflang= »de-DE »>

<link rel= »alternate » href= »https://www.exemple.es » hreflang= »es »>

Chaque variante doit être reliée à toutes les autres. Ce type d’implémentation peut donc rajouter de la charge serveur et ralentir le site. En effet, si vous proposez 20 langues, cela signifie qu’il faudra ajouter 20 éléments de lien comme indiqué ci-dessus sur chaque page. L’utilisateur devra charger chaque élément alors qu’il ne s’en servira que d’un. La base de données sera également davantage sollicitée pour générer ces liens. Cette implémentation est donc déconseillée pour les gros sites qui demandent beaucoup de ressources serveur.

L’implémentation dans le Sitemap XML

Cette méthode a l’avantage de ne pas augmenter le temps de chargement des pages. Il est néanmoins plus difficile de vérifier sa bonne implémentation, en particulier si les pages liées sont dans des sitemaps différents, par exemple : exemple.com/us/sitemap.xml et site.com/es/sitemap.xml. Pour vérifier la balise hreflang il faudra donc rechercher l’url spécifique dans chaque sitemap, ce qui rend le travail plus fastidieux.

Voici un exemple de balise Hreflang dans un sitemap :

<url>

<loc>http://www.exemple.com/de</loc>

<xhtml:link rel= »alternate » hreflang= »fr » href= »http://www.exemple.com/fr » />

<xhtml:link rel= »alternate » hreflang= »en » href= »http://www.exemple.com/en » />

</url>

Vous noterez que chaque URL unique doit avoir son propre nœud de localisation et chaque version alternative (y compris l’URL elle-même) doit être spécifiée comme suit dans le nœud URL :

<xhtml:link rel= »alternate » hreflang= »de » href= »http://www.exemple.com/en » />>

Enfin, chaque sitemap doit se terminer par la balise </urlset>

L’implémentation dans l’entête HTTP

Il s’agit de la méthode la moins connue et la moins utilisée. Elle présente pourtant en théorie, beaucoup d’avantages. Contrairement à l’implémentation dans le sitemap XML, l’entête HTTP est traitée à chaque fois que la page est crawlée. De ce fait, Google reçoit toujours les informations du hreflang. Il est également possible d’intégrer la balise dans les pages qui ne possèdent pas leur propre code source ou les fichiers PDF, qui sont également indexés dans Google.

Le code nécessaire à l’implémentation des balises hreflang dans les entêtes HTTP est assez ressemblant à celui utilisé pour l’entête HTML, à quelques différences syntaxiques près.

Si nous reprenons notre exemple ci-dessus :

Link : < http://www.exemple.com/en; rel= »alternate » ; hreflang= »en »,
< http://www.exemple.com/fr; rel= »alternate » ; hreflang= »fr »,
< http://www.exemple.com/de/> ; rel= »alternate » ; hreflang= »de »

Comme pour l’entête HTML, cette technique impose une implémentation au niveau de l’URL. Le code des entêtes HTTP d’une page catégorie, dans ces trois versions se présenterait donc ainsi :

Link : < http://www.exemple.com/en/category1/> > ; rel= »alternate » ; hreflang= »en »,
< http://www.exemple.com/fr/categorie1/> ; rel= »alternate » ; hreflang= »fr »,
< http://www.exemple.com/de/categorie1/> ; rel= »alternate » ; hreflang= »de »

Une fois la méthode d’implémentation définie, il est important de prendre en compte certains éléments techniques avant de se lancer :

hreflang x-default

Le « x-default » est une valeur d’attribut hreflang qui définit la version par défaut vers laquelle l’utilisateur doit être renvoyé si aucune des langues spécifiées ne correspond aux paramètres de son navigateur.

La balise canonique et le hreflang

Pour rappel, la balise canonique est une méthode permettant d’indiquer aux moteurs de recherche qu’une URL individuelle (pas forcément une pagination) est la copie principale d’une page. Elle évite les éventuels problèmes de contenus dupliqués.

rel= »alternate » hreflang= »fr » et rel= »canonical » doivent être utilisés simultanément. Chaque version de chaque langue doit avoir un lien rel= »canonical » pointant vers elle-même, même s’il s’agit d’une variante régionale. Dans un autre exemple (anglais Grande Bretagne, Australie), supposons que nous sommes sur la page d’accueil :

<lien rel= »canonique » href= »http://exemple.com/ »>

<lien rel= »alternate » href= »http://exemple.com/en-gb/ »

 hreflang= »en-gb » />

<lien rel= »alternate » href= »http://exemple.com/en-au/ »

 hreflang= »en-au » />

Si nous étions sur la page en-gb, seul la balise canonique changerait :

<lien rel= »canonical » href= »http://exemple.com/en-gb/ »>

<lien rel= »alternate » href= »http://exemple.com/en-gb/ »

 hreflang= »en-gb » />

<lien rel= »alternate » href= »http://exemple.com/en-au/ »

 hreflang= »en-au » />

NB : Il faut veiller à faire pointer les liens hreflang vers la version canonique de chaque URL. Auquel cas, le système ne fonctionnerait pas.

Les erreurs d’intégration hreflang à éviter

John Mueller de Google a déclaré que le hreflang est l’un des problèmes techniques les plus complexes pour les professionnels du SEO. Il est facile de commettre une erreur dans l’implémentation, qui peut coûter cher ! Voici quelques erreurs de balises hreflang à éviter à tout prix.

Intégrer la balise Hreflang uniquement sur la page d’accueil

Même si c’est assez rare, il arrive que certains sites n’utilisent la balise que sur la page d’accueil. Cela est probablement dû au fait que dans ses exemples, Google prend toujours uniquement la page d’accueil.

Utiliser des codes langue erronés

Même si cela peut paraître évident, il faut vous assurer que vous utilisez les bons codes des pays et au bon format. Aleyda Solis a publié un outil très pratique pour générer facilement des balises hreflang.

Ajouter des balises hreflang aux pages avec une balise noindex

Google met en garde contre les balises hreflang lorsqu’elles pointent vers des pages non indexables et/ou bloquées dans le robots.txt. Le lien retour ne peut pas être suivi par les robots.

Mélanger les méthodes d’implémentation

Il est préférable de n’utiliser qu’une méthode pour votre stratégie hreflang. Il est donc inutile et contre-productif de l’implémenter par exemple dans le sitemap et l’entête HTTP ! Par ailleurs, la création des hreflang dans le sitemap XML peut être complexe. Certains CMS proposent des solutions de balisage automatique (hreflang WordPress, hreflang Prestashop…). C’est une solution recommandée lorsqu’on ne maîtrise pas le code.

Utiliser hreflang pour résoudre ses problèmes de contenu dupliqué

Longtemps considérée comme la solution miracle contre le contenu dupliqué, la balise hreflang démontre pourtant certaines limites. Prenons l’exemple de 2 pages strictement similaires, dans la même langue (le français Belge et le français de France). La balise hreflang ne changera rien, le contenu restera dupliqué et donc sanctionné par les robots. Au mieux, l’une des pages sera indexée et cannibalisera l’autre. Au pire, les deux ne seront pas indexées.

Pour diminuer les effets néfastes des pages similaires, il est possible de mettre en place une stratégie de netlinking « internationale ». En créant des liens vers les différentes versions de nos pages, depuis des sites utilisant la même langue, vous donnerez davantage de valeur à vos différentes versions. Mais cette stratégie ne serait qu’un pansement. Eradiquer le contenu dupliqué demeure la solution la plus propre et pérenne.

Les bonnes pratiques pour réussir l’implémentation de sa balise hreflang

Si vous avez respecté les consignes ci-dessus, ces « best practices » seront devenues une évidence :

  • Indexer la page originale et toutes ses variantes (ne pas mettre de balise noindex et bannir les liens internes nofollow).
  • Mettre en place des références d’attribut hreflang bidirectionnelles.
  • Utiliser les bons codes des différentes langues et pays (par exemple, ne pas utiliser AT, qui correspond à l’Autriche, pour une version australienne…).
  • Mettre en place systématiquement un hreflang = « x-default »
  • S’assurer que les hreflang et l’URL canonique correspondent.
  • Ne pas utiliser d’URLS relatives mais uniquement des URLS absolues.
  • Utiliser une seule méthode d’implémentation : sitemap XML, entête http, entête html.

Une règle essentielle que vous devez garder à l’esprit est que vos valeurs hreflang doivent être confirmées à partir des autres pages. Par exemple, si A renvoit à B, B doit renvoyer à A. La page A doit utiliser rel-alternate-hreflang se liant à elle-même pour fonctionner correctement.

Comment vérifier la bonne implémentation de ses balises hreflang ?

Il est possible de détecter les éventuelles erreurs d’implémentation dans la Google Search Console. Dans ce cas, le message « Return Tag Errors » apparaîtra sous l’onglet Ciblage international. Il vous indiquera le nombre de balises de retour trouvées, que vous utilisiez un sitemap XML ou une entête http. Mais comme il vaut mieux prévenir que guérir, il existe heureusement des outils permettant de vérifier en amont la validité de vos balises hreflang. Les plus connus sont hreflang.ninja et hflang.dejanseo. Il suffit de saisir l’url à tester et l’outil vous retournera la version du site correspondante.

Conclusion

La balise hreflang constitue donc un enjeu capital lorsqu’on souhaite toucher les internautes étrangers. Si elle a démontré son efficacité depuis plusieurs années, elle est aussi la source de nombreuses erreurs qui peuvent impacter le référencement d’un site. Il convient donc de la manier avec prudence et de confier l’implémentation à un développeur. Il faut également garder à l’esprit que hreflang est seulement un signal et non une directive comme on pourrait trouver dans le robots.txt. D’autres éléments peuvent impacter l’efficacité de votre balise et perturber le classement des pages. Pour renforcer votre stratégie internationale, vous pouvez également opter pour un hébergement sur une IP locale, avec bien sûr, un netlinking savamment étudié.

   Article rédigé par Louis Chevant

Complétez votre lecture

Le guide complet du Maillage interne

La méthode pas à pas pour construire vos cocons sémantiques, votre maillage et l’arborescence optimale de votre site web.