Balise hreflang : le guide complet pour votre site multilingue
En bref – Balise hreflang : le guide complet pour votre site multilingue
- Rôle : relier les versions linguistiques d’une page pour que Google montre la bonne dans chaque pays.
- Syntaxe : rel="alternate", un code langue (et pays), une URL absolue, sur chaque version.
- Deux règles : chaque page se cite elle-même, et tous les liens sont réciproques.
- x-default : facultatif mais recommandé, pour les internautes qu’aucune version ne couvre.
- Vérification : plus d’outil Google dédié : un crawler et la Search Console, page par page.
Vous avez traduit votre site, mais Google affiche votre page française à des internautes belges, ou votre version allemande en Suisse au lieu de la version suisse. Dans la plupart des cas, le problème vient de la balise hreflang : absente, incomplète ou mal écrite.
Voici comment elle fonctionne, comment l'écrire, et les erreurs que nous corrigeons le plus souvent en audit, avec les règles publiées par Google.
Qu'est-ce que la balise hreflang ?
La balise hreflang est un attribut de la balise link. Elle dit à Google : « cette page existe aussi dans d'autres langues ou pour d'autres pays, et voici leurs adresses ». Google s'en sert pour afficher la bonne version dans ses résultats, par exemple votre page belge à un internaute de Bruxelles plutôt que la page française.
On parle parfois de « meta hreflang », mais ce n'est pas une balise meta : c'est un lien alternate, placé dans l'en-tête de la page, dans le sitemap ou dans les en-têtes HTTP. Et ce n'est pas non plus l'attribut lang de la balise html : Google indique qu'il n'utilise ni l'un ni l'autre pour détecter la langue d'une page, qu'il reconnaît à partir du contenu. Le hreflang sert à relier des versions entre elles, pas à déclarer une langue.
La syntaxe de la balise hreflang
Chaque lien hreflang contient trois éléments : rel="alternate", le code de langue (et éventuellement de pays) dans l'attribut hreflang, et l'URL absolue de la version concernée.
Exemple : la même page en français (France), français (Belgique), néerlandais (Belgique) et allemand
<link rel="alternate" hreflang="fr-FR" href="https://www.exemple.com/fr/" />
<link rel="alternate" hreflang="fr-BE" href="https://www.exemple.com/be-fr/" />
<link rel="alternate" hreflang="nl-BE" href="https://www.exemple.com/be-nl/" />
<link rel="alternate" hreflang="de" href="https://www.exemple.com/de/" />
<link rel="alternate" hreflang="x-default" href="https://www.exemple.com/" />
Deux règles sont indispensables. D'abord, chaque page se cite elle-même. Ensuite, les liens sont réciproques : si la page française cite la page allemande, la page allemande doit citer la page française. C'est la règle qui échoue le plus souvent en audit.
La règle de réciprocité : chaque version pointe vers toutes les autres, et vers elle-même
Codes langue et pays : les bons et les mauvais
Le code commence toujours par la langue, au format ISO 639-1 (fr, de, nl, en), suivi si besoin du pays au format ISO 3166-1 alpha-2 (FR, BE, CH, GB). Un pays seul n'est jamais valide : « BE » ne veut rien dire pour Google. Utilisez le pays uniquement quand vous avez vraiment des versions différentes pour deux pays qui partagent une langue, par exemple la France et la Belgique.
| Cible | Code correct | Erreur fréquente |
|---|---|---|
| Anglais, Royaume-Uni | en-GB | en-UK (le code pays est GB) |
| Français, Belgique | fr-BE | be (c'est le biélorusse) |
| Allemand, Suisse | de-CH | ch-DE (ordre inversé) |
| Néerlandais, tous pays | nl | NL seul (un pays sans langue) |
| Tchèque | cs | cz (c'est le code pays) |
| Page de repli | x-default | default ou en-default |
Hreflang x-default : à quoi sert-il ?
La valeur x-default désigne la page à montrer quand aucune version ne correspond à l'internaute : un Italien qui arrive sur un site disponible en français, allemand et anglais, par exemple. On l'attribue généralement à la version anglaise, ou à une page d'accueil qui propose de choisir sa langue.
Elle est facultative, mais nous la recommandons : c'est une ligne de plus, et elle évite à Google de choisir à votre place. Si votre site n'existe qu'en une langue, inutile d'ajouter des balises hreflang.
Balises, sitemap hreflang ou en-têtes HTTP ?
Google accepte trois méthodes, et elles ont la même valeur. Le plus important est de n'en utiliser qu'une, pour éviter les contradictions.
| Méthode | Pour qui | Points d'attention |
|---|---|---|
| Balises link dans le <head> | La plupart des sites, CMS compris | Alourdit l'en-tête quand il y a beaucoup de langues |
| Sitemap XML (xhtml:link) | Gros sites, nombreuses langues | Le sitemap doit rester à jour à chaque nouvelle page |
| En-têtes HTTP (Link) | PDF et fichiers non HTML | Réglage serveur, plus difficile à contrôler |
Le sitemap hreflang a un avantage sur les gros sites : il n'alourdit pas le code des pages, et il se génère automatiquement. En contrepartie, il faut s'assurer qu'il est régénéré à chaque ajout ou suppression de page.
Hreflang sur WordPress, Shopify, Webflow et PrestaShop
Sur la plupart des CMS, vous n'écrivez pas les balises à la main : c'est l'outil multilingue qui les génère. Encore faut-il qu'il soit bien réglé.
| CMS | Ce qui se passe | À vérifier |
|---|---|---|
| WordPress + Yoast SEO | Yoast seul n'ajoute pas de hreflang : c'est l'extension multilingue (WPML, Polylang, TranslatePress, Weglot) qui s'en charge | Que les pages traduites soient bien liées entre elles dans l'extension |
| Shopify | Les balises sont ajoutées automatiquement quand les langues et les marchés sont configurés | Les codes pays des marchés et les pages non traduites |
| Webflow | La localisation génère le hreflang de chaque version publiée | Les pages exclues d'une langue et la page de repli |
| PrestaShop | Selon la version et le thème, les balises alternate sont générées ou nécessitent un module | Qu'elles pointent vers des URL canoniques, sans paramètres |
Pour choisir une extension WordPress, voir notre comparatif Weglot, TranslatePress, WPML et Polylang pour le SEO.
Hreflang et canonical : les règles à respecter
Chaque version linguistique doit avoir une balise canonical qui pointe vers elle-même. Si votre page allemande déclare la page française comme canonique, vous dites à Google qu'elle n'est qu'une copie : il ne l'indexera pas, et le hreflang ne servira à rien.
De même, ne citez dans vos balises hreflang que des URL canoniques, indexables et qui répondent en 200. Une page en noindex, redirigée ou bloquée casse le lien et, avec lui, la réciprocité.
Les 7 erreurs hreflang que nous trouvons en audit
- Des liens sans retourLa page française cite la page allemande, mais l'allemande ne cite pas la française. Google ignore alors la paire.
- Une page qui ne se cite pas elle-mêmeChaque version doit figurer dans sa propre liste hreflang.
- De mauvais codesen-UK, un pays sans langue, ou un code de langue inventé : la balise est invalide.
- Des URL relatives ou redirigéesLe hreflang attend des URL absolues, en 200, indexables. Une URL redirigée ou en noindex casse le lien.
- Une canonical vers une autre langueSi la page allemande désigne la française comme canonique, son hreflang ne sert plus à rien.
- Des versions quasi identiques non déclaréesfr-FR et fr-BE sans hreflang : les deux pages se concurrencent sur les mêmes requêtes.
- Deux méthodes en même temps, et contradictoiresDes balises dans le <head> et un sitemap qui ne disent pas la même chose.
Comment vérifier ses balises hreflang
Google a retiré en 2022 le rapport de ciblage international de la Search Console : il n'existe plus de testeur hreflang officiel chez Google. Pour contrôler un site, nous utilisons :
- un crawler comme Screaming Frog, qui liste les liens sans retour, les codes invalides, les URL non indexables et l'absence de x-default ;
- l'inspection d'URL de la Search Console, pour vérifier la page canonique retenue par Google version par version ;
- les résultats de recherche eux-mêmes, depuis chaque pays, pour voir quelle version s'affiche vraiment.
C'est l'un des premiers contrôles de notre audit SEO international. Sur un site multilingue, un hreflang mal réglé suffit à faire apparaître la mauvaise version dans le mauvais pays.
Questions fréquentes sur le hreflang
Qu'est-ce que la balise hreflang ?
C'est un attribut de la balise link qui indique à Google les autres versions linguistiques ou régionales d'une page. Il aide Google à montrer la bonne version à chaque internaute, par exemple la page belge à un internaute belge plutôt que la page française.
La balise hreflang améliore-t-elle le classement ?
Pas directement. Elle ne fait pas monter une page, mais elle évite que la mauvaise version s'affiche dans le mauvais pays, et que vos versions proches se concurrencent. C'est un signal, pas une directive : Google peut l'ignorer s'il est incohérent.
Faut-il une balise x-default ?
Elle est facultative mais recommandée. Elle désigne la page à montrer quand aucune version ne correspond à la langue de l'internaute, souvent la version anglaise ou une page de choix de langue.
Existe-t-il un outil Google pour tester le hreflang ?
Plus depuis 2022 : Google a retiré le rapport de ciblage international de la Search Console. On vérifie aujourd'hui avec un crawler comme Screaming Frog ou avec l'outil d'audit d'Ahrefs ou de Semrush, puis dans la Search Console, page par page.
Le hreflang remplace-t-il la balise canonical ?
Non, les deux se complètent. Chaque version linguistique doit avoir une canonical vers elle-même, et le hreflang relie les versions entre elles. Une canonical qui pointe vers une autre langue annule le hreflang.
Votre site est-il prêt pour l'étranger ?
Faites le test gratuit en 2 minutes : un score sur 100, vos points forts et vos trois priorités pour le marché de votre choix.
Faire le test




















