La balise hreflangAttribut HTML indiquant la langue et la région ciblée d'une page pour le SEO international. est un élément <link rel="alternate" hreflang="..."> qui indique à Google les versions linguistiques ou régionales d'une même page, pour qu'il affiche la bonne URL à chaque internaute. Chaque version liste toutes les autres, elle comprise, avec un code de langue ISO 639-1 suivi d'un code pays facultatif, et chaque lien doit avoir son retour.
Ce guide s'adresse aux sites qui publient en plusieurs langues ou pour plusieurs pays : boutiques en ligne, sites de marque, SaaS. Il donne la syntaxe, les trois méthodes que Google accepte, ce que génèrent PrestaShop, Shopify et WordPress, puis les erreurs à chercher et la façon de les détecter.
À quoi sert la balise hreflang
Hreflang dit à Google que plusieurs URL sont des variantes localisées du même contenu, pour qu'il affiche à chaque internaute la version de sa langue et de son pays. Google n'utilise ni hreflang ni l'attribut HTML lang pour détecter la langue d'une page : il la déduit du contenu, avec ses propres algorithmes.
Google conseille de déclarer vos versions dans trois cas :
- seul le gabarit est traduit (menu, pied de page) et le contenu principal reste dans la même langue, comme sur un forum ;
- le contenu est le même dans une langue, à quelques variantes régionales près : un texte en français pour la Belgique, la France et la Suisse ;
- le site est traduit en entier, chaque page existant par exemple en allemand et en français.
Le deuxième cas est le plus traître. Deux pages en anglais, l'une pour les États-Unis, l'autre pour le Canada, se ressemblent assez pour que Google affiche la mauvaise.
C'est ce qui arrivait à Taylor Farms, producteur nord-américain de salades : Google montrait le site américain aux internautes canadiens, avec le localisateur de produits réglé sur les États-Unis. Après la pose de hreflang sur les sites américain et canadien (anglais et français), avec quelques corrections techniques mineures, les clics organiques vers le site canadien ont augmenté de 876 % en 6 semaines, selon l'agence Intrepid Digital, qui a mené le projet.

Selon l'agence, le gain vient surtout de l'URL affichée : les internautes canadiens voient désormais le site qui leur est destiné.
Les traductions ne posent pas de problème de contenu dupliqué : Google ne considère les versions localisées comme des doublons que si le contenu principal n'est pas traduit. Pour tout ce qui entoure le balisage (structure d'URL, mots-clés par pays, contenu localisé), le guide du SEO multilingue reprend chaque étape.
Syntaxe : codes langue, codes pays et x-default
La valeur de hreflang commence par un code de langue au format ISO 639-1, suivi d'un code pays facultatif au format ISO 3166-1 alpha 2, séparés par un tiret. Google ignore la casse, mais la convention ISO met le pays en majuscules : en-GB.
| Valeur | Ce qu'elle déclare | Accepté par Google |
|---|---|---|
fr |
français, quel que soit le pays | oui |
fr-BE |
français pour la Belgique | oui |
de-ES |
allemand pour les internautes en Espagne | oui |
zh-Hant |
chinois traditionnel (script au format ISO 15924) | oui |
en-UK |
UK est un code réservé : Google ignore la partie pays et lit en | en partie, écrivez en-GB |
be |
c'est le code du biélorusse : un pays seul ne se déclare pas | non, écrivez fr-BE ou nl-BE |
fr_FR |
le séparateur attendu est un tiret | non, écrivez fr-FR |
es-419 |
code régional hors ISO 3166-1 (Amérique latine) | non |
Quatre règles valent pour toutes les méthodes :
- Des URL complètes, avec httpsProtocole sécurisé de transfert de données. Facteur de ranking depuis 2014.:// : ni //exemple.com/page, ni /page.
- Chaque version se cite elle-même et cite toutes les autres. Le bloc est identique sur chaque version.
- Des liens dans les deux sens. Si deux pages ne pointent pas l'une vers l'autre, Google ignore les balises : c'est ce qui empêche un autre site de se déclarer variante des vôtres.
- Des domaines libres. Les versions peuvent vivre sur des domaines différents.
Quand tenir tous les liens dans les deux sens devient trop lourd, Google tolère qu'une page omette certaines versions : il traite celles qui se répondent. Il demande alors de relier en priorité chaque nouvelle version à la langue d'origine du site.

La valeur x-default désigne la page de repli des internautes dont la langue ne correspond à aucune version. Google indique qu'elle a été conçue pour les pages de sélection de langue et que c'est là qu'elle fonctionne le mieux.
Elle reste facultative : AhrefsOutil SEO payant spécialisé dans l'analyse des backlinks et la recherche de mots-clés., qui relève des pages sans x-default sur 56,3 % des domaines étudiés, rappelle qu'elle n'est pas obligatoire. Si vous ciblez plusieurs pays dans une même langue (en-IE, en-CA, en-AU), Google recommande aussi une version générique, en, pour les autres anglophones.
Trois méthodes : balises HTML, en-tête HTTP Link ou sitemap XML
Google accepte trois méthodes et les juge équivalentes : des balises link dans le head, un en-tête HTTP Link, ou le sitemap XMLFichier XML listant toutes les URLs d'un site pour faciliter leur découverte par les moteurs de recherche.. Les utiliser ensemble ne prAlgorithme historique de Google évaluant l'importance d'une page selon ses backlinks. Toujours utilisé en interne.ésente aucun avantage dans la recherche Google ; choisissez-en une par ensemble d'URL.
Les balises link dans le head
C'est la méthode par défaut quand vous maîtrisez les gabarits. Pour une fiche produitPage dédiée à un produit, devant être optimisée avec description unique, images et données structurées. vendue en France, en Belgique francophone et au Royaume-Uni, chaque version porte ce bloc, à l'identique :
<head>
<title>Chaussures de trail</title>
<link rel="alternate" hreflang="fr-FR" href="https://www.monsite.com/fr/chaussures-trail" />
<link rel="alternate" hreflang="fr-BE" href="https://www.monsite.com/be-fr/chaussures-trail" />
<link rel="alternate" hreflang="en-GB" href="https://www.monsite.com/uk/trail-shoes" />
<link rel="alternate" hreflang="x-default" href="https://www.monsite.com/" />
</head>
Ici, x-default renvoie vers la page d'accueil, qui porte le sélecteur de pays. Google demande un head bien formé et conseille de passer le code dans un validateur HTML en cas de doute. Il demande aussi de garder hreflang seul dans sa balise link, sans autre attribut comme media.
L'en-tête HTTP Link pour les PDF
Un fichier sans head, un PDF par exemple, reçoit la liste dans un en-tête Link renvoyé par le serveur. La règle ne change pas : chaque version listée, elle comprise, et le même en-tête sur chaque version.
Link: <https://www.monsite.com/fr/catalogue.pdf>; rel="alternate"; hreflang="fr", <https://www.monsite.com/en/catalogue.pdf>; rel="alternate"; hreflang="en"
Content-Language ne fait pas partie des trois méthodes de Google : pour un fichier non HTML, utilisez l'en-tête Link.
Le sitemap XML
Sur un gros catalogue, le sitemap évite d'alourdir chaque page et centralise la liste. Chaque URL a son entrée <url>, avec un <loc> et des enfants <xhtml:link> qui listent toutes les versions, elle comprise. Google impose de déclarer l'espace de noms xhtml dans la balise <urlset>. Les enfants <xhtml:link> ne comptent pas dans la limite d'URL du fichier.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://www.monsite.com/fr/chaussures-trail</loc>
<xhtml:link rel="alternate" hreflang="fr-FR" href="https://www.monsite.com/fr/chaussures-trail"/>
<xhtml:link rel="alternate" hreflang="fr-BE" href="https://www.monsite.com/be-fr/chaussures-trail"/>
<xhtml:link rel="alternate" hreflang="en-GB" href="https://www.monsite.com/uk/trail-shoes"/>
</url>
<url>
<loc>https://www.monsite.com/be-fr/chaussures-trail</loc>
<xhtml:link rel="alternate" hreflang="fr-FR" href="https://www.monsite.com/fr/chaussures-trail"/>
<xhtml:link rel="alternate" hreflang="fr-BE" href="https://www.monsite.com/be-fr/chaussures-trail"/>
<xhtml:link rel="alternate" hreflang="en-GB" href="https://www.monsite.com/uk/trail-shoes"/>
</url>
<url>
<loc>https://www.monsite.com/uk/trail-shoes</loc>
<xhtml:link rel="alternate" hreflang="fr-FR" href="https://www.monsite.com/fr/chaussures-trail"/>
<xhtml:link rel="alternate" hreflang="fr-BE" href="https://www.monsite.com/be-fr/chaussures-trail"/>
<xhtml:link rel="alternate" hreflang="en-GB" href="https://www.monsite.com/uk/trail-shoes"/>
</url>
</urlset>
Trois versions, trois entrées, chacune avec les trois mêmes liens. Le x-default du bloc HTML se déclare de la même façon, par une ligne hreflang="x-default" ajoutée à chaque entrée. Pour le reste du fichier (taille maximale, index de sitemaps, déclaration), le guide du sitemap XML détaille chaque réglage.
Quelle méthode choisir ?
| Votre situation | Méthode |
|---|---|
| Vous maîtrisez les gabarits, peu de versions par page | Balises link dans le head |
| PDF et autres fichiers sans head | En-tête HTTP Link |
| Beaucoup de versions par page, ou un head difficile à modifier | Sitemap XML, généré automatiquement |
| La Russie compte pour vous | Balises dans le head : Yandex ne lit plus les versions linguistiques du sitemap |

Cumuler deux méthodes double les endroits où une liste peut diverger. Ahrefs relève 2,5 % de domaines qui déclarent plus d'une page pour la même langue, et observe que l'écart vient souvent d'un décalage entre le code de la page et le sitemap.
Hreflang sur PrestaShop, Shopify et WordPress
Les trois savent générer les balises hreflang, WordPress par une extension multilingue. Chacun laisse un réglage à faire.
Hreflang sur PrestaShop
Les thèmes Classic et HummingbirdMise à jour Google (2013) améliorant la compréhension sémantique des requêtes. de PrestaShop 8 et 9 écrivent déjà les balises dans le head, dans le bloc head_hreflang : une balise par langue active de la boutique, la page courante comprise, dès que deux langues au moins sont activées. La valeur vient du champ Language code de chaque langue (International > Localisation > Langues), au format xx-yy selon la documentation.
Contrôlez ce champ. Dans les données de langues de PrestaShop, l'anglais standard porte en-us : une version anglaise pensée pour le Royaume-Uni se déclare donc pour les États-Unis. Deux corrections possibles : installer la langue English GB, livrée avec en-gb, ou corriger le champ à la main.
Le thème n'ajoute pas de x-default et ne relie que les langues de la boutique courante : des boutiques séparées par pays, en multiboutique, ne se citent pas entre elles. Pour ces deux cas, il faut un module ou une surcharge du bloc head_hreflang dans un thème enfant. Les autres réglages de la boutique sont détaillés dans le guide du SEO PrestaShop.
Hreflang sur Shopify
Avec Markets, Shopify génère les balises tout seul pour chaque marché qui a son propre domaine, sous-domaine ou sous-dossier, et ajoute un x-default vers le domaine principal. Un marché servi sur la même URL qu'un autre n'a aucune version à déclarer. Si une app ou votre thème pose ses propres balises, coupez d'abord les balises automatiques dans Boutique en ligne > Préférences, pour éviter les doublons. Le guide du SEO Shopify replace ce réglage parmi les autres.
Hreflang sur WordPress
L'extension WPML insère les balises hreflang automatiquement et les met à jour quand le site change, selon sa documentation. Avec une autre extension multilingue, contrôlez la sortie sur une page de chaque langue avec la commande de la dernière section.

Les erreurs qui cassent un cluster hreflang
Sur 374 756 domaines qui utilisent hreflang, Ahrefs en a trouvé 67 % avec au moins un problème (étude de Patrick Stox, août 2023). Voici les erreurs à chercher en premier.
Pas de lien retour. La page anglaise déclare l'espagnole, l'espagnole ne déclare pas l'anglaise : Google peut ignorer ou mal interpréter ces annotations. Ahrefs trouve des retours manquants sur 15,3 % des domaines.
Une URL cible qui ne répond pas en 200. Redirection, 404Code HTTP indiquant qu'une page n'existe pas. Trop d'erreurs 404 nuisent au crawl budget., URL bloquée par robots.txtFichier texte à la racine d'un site indiquant aux robots quelles pages explorer ou ignorer. : Screaming FrogLogiciel de crawl permettant d'auditer techniquement un site web. traite ces URL comme des erreurs. Ahrefs relève des URL redirigées ou cassées sur 16,9 % des domaines. Visez l'URL finale, sans redirection ; le guide des redirections SEO aide à repérer celles qui traînent dans vos gabarits. Seule exception admise par Ahrefs : une page d'accueil globale qui redirige selon la langue et le pays.
Un canonicalBalise indiquant la version principale d'une page en cas de contenu dupliqué ou similaire. qui pointe vers une autre langue. Avec hreflang, Google demande une page canonique dans la même langue, ou dans la langue de substitution la plus pertinente. Une page /fr/ dont le canonical désigne /en/ demande à Google d'indexerProcessus par lequel Google ajoute une page à sa base de données pour qu'elle puisse apparaître dans les résultats. /en/ à sa place. Le guide de la balise canonical explique comment Google choisit la page de référence ; chaque version, en-GB comme en-US, reste en principe sa propre canonique.
Une version en noindexDirective indiquant aux moteurs de ne pas indexer une page.. Une page exclue de l'index ne peut pas s'afficher dans les résultats. Screaming Frog prévient qu'un retour en noindex peut faire ignorer la relation hreflang.
Des codes faux. en-UK, be pour la Belgique, es-419 : Ahrefs trouve des valeurs incorrectes sur 4,6 % des domaines.
L'auto-référence absente. Google demande que chaque version se cite elle-même. Ahrefs, qui la trouve manquante sur 18 % des domaines, la tient pour une bonne pratique plus que pour une exigence. Gardez-la : elle évite de casser un lien quand le bloc est copié d'une page à l'autre.
Des balises hors du head. Une balise link placée dans le body est ignorée par les moteurs, rappelle Screaming Frog.

Auditer votre hreflang
Trois contrôles suffisent, du plus rapide au plus complet.
Une page. Regardez ce que le serveur renvoie, avant tout JavaScriptLangage de programmation web. Son mauvais usage peut bloquer l'indexation par les moteurs de recherche. :
curl -s https://www.apple.com/fr/ | grep -io '<link[^>]*hreflang[^>]*>'
Le 13 octobre 2026, la commande renvoyait 137 balises sur apple.com/fr/, dont la page elle-même en fr-FR et la version belge en fr-BE, et 43 sur ovhcloud.com/fr/. Remplacez l'URL par une page de chaque langue de votre site : vous voyez tout de suite si la page se cite, si les codes sont justes et si les URL sont complètes. La commande lit ligne par ligne : une balise écrite sur plusieurs lignes lui échappe. Pour un PDF, lisez l'en-tête avec curl -sI suivi de l'URL du fichier, puis grep -i '^link:'.
Le site. Un crawler vérifie les retours à l'échelle. Dans Screaming Frog, activez Store Hreflang et CrawlProcessus par lequel les robots des moteurs de recherche parcourent et analysent les pages web. Hreflang (Config > SpiderRobot d'exploration de Google qui parcourt le web pour découvrir et indexer les pages.) ; pour un hreflang déclaré dans le sitemap, crawlez le fichier en mode liste. L'onglet Hreflang classe alors les problèmes par filtre : Missing Return Links, Non-200 Hreflang URLsUniform Resource Locator. Adresse unique d'une page web. Une URL optimisée est courte, descriptive et contient le mot-clé., Non-Canonical Return Links, Noindex Return Links, Incorrect Language &Accelerated Mobile Pages. Framework Google pour créer des pages mobiles ultra-rapides (moins utilisé aujourd'hui).; Region Codes, Missing Self Reference, Outside head. Le tutoriel Screaming Frog montre comment configurer et exporter un crawl. Le Site Audit d'Ahrefs contrôle aussi les trois emplacements : head, en-tête HTTP et sitemap. Google cite aussi deux outils tiers : le générateur de balises hreflang d'Aleyda Solis, pour écrire ou modifier un bloc, et l'outil de test de Merkle, pour valider une page en ligne.

La surveillance. Search ConsoleOutil gratuit Google pour surveiller et optimiser la présence d'un site dans les résultats de recherche. n'a plus de rapport Ciblage international : Google l'a retiré, tout en continuant d'utiliser les balises hreflang. Relancez donc le crawl après chaque ajout de langue, chaque refonteModification majeure du design ou de la structure d'un site. Risque SEO si mal gérée. de gabarit et chaque migration SEO : ce sont les moments où les URL changent et où les retours se cassent. Le plan de redirection de la migration sert alors de table de remplacement : chaque ancienne URL citée dans vos annotations y trouve sa nouvelle adresse.

Pour un lancement de pays ou une refonte internationale, notre agence SEO international prend en charge le choix de structure, la mise en place de hreflang et son contrôle.
Questions fréquentes
La balise hreflang améliore-t-elle le classement ?
Pas directement : son rôle est d'aider Google à afficher la bonne version dans chaque pays. Son effet se voit quand une version captait les visites destinées à une autre, comme le site américain de Taylor Farms affiché aux internautes canadiens.
Faut-il une balise x-default ?
Elle est facultative. Ajoutez-la quand vous avez une page de repli utile, un sélecteur de langue ou une version internationale : Google indique qu'elle a été conçue pour les pages de sélection de langue.
Comment combiner hreflang et canonical ?
Chaque version garde un canonical vers elle-même, ou vers une page de la même langue, et hreflang ne liste que des URL canoniques. Si deux URL servent le même contenu au même public, Google demande de choisir la version préférée et de combiner rel="canonical" et hreflang.
Bing et Yandex lisent-ils hreflang ?
Oui. Dans un billet de décembre 2025 sur le contenu dupliqué, Bing recommande hreflang pour définir le ciblage par langue et par région. Yandex lit les balises dans le head des pages, mais ne prend plus en charge les versions linguistiques déclarées dans le sitemap.
Quelle différence entre hreflang et l'attribut lang ?
L'attribut lang déclare la langue d'un élément, par exemple <html lang="fr">, et sert notamment aux lecteurs d'écran pour la prononciation. Hreflang relie une page à ses versions dans d'autres langues ou pays. Google n'utilise ni l'un ni l'autre pour détecter la langue ; gardez-les cohérents, Ahrefs relevant 3,2 % de domaines où ils se contredisent.
Sources
- templates/_partials/head.tpl (classic-theme), PrestaShop, GitHub
- Versions localisées de vos pages, Google Search Central
- Taylor Farms & Hreflang, Intrepid Digital : intrepidonline.com/case-studies/taylor-farms-hreflang
- Localized Versions of your Pages, Google Search Central
- Over 67% of Domains Using Hreflang Have Issues (Study of 374,756 Domains), Ahrefs
- Indexing localized pages, Yandex Webmaster : yandex.com/support/webmaster/yandex-indexing/locale-pages.html
- templates/_partials/head.tpl (hummingbird), PrestaShop, GitHub
- classes/controller/FrontController.php, PrestaShop, GitHub
- Languages, PrestaShop 8 User Guide : docs.prestashop-project.org/v.8-documentation/user-guide/improving-shop/going-international/localization/languages
- app/Resources/all_languages.json, PrestaShop, GitHub
- install-dev/langs/en/language.xml, PrestaShop, GitHub
- International SEO for markets, Shopify Help Center
- How to Add Hreflang in a WordPress Website : wpml.org/documentation/support/adding-hreflang-wordpress/
- SEO Spider Tabs, User Guide, Screaming Frog
- Spécifier une URL canonique avec rel="canonical" et d'autres méthodes, Google Search Central
- The International Targeting report is deprecated, Aide Search Console
- Gérer les sites multirégionaux et multilingues, Google Search Central
- Does Duplicate Content Hurt SEO and AI Search Visibility?, Bing Webmaster Blog
- lang, MDN Web Docs

