Command Palette

Search for a command to run...

Les balises Hreflang expliquées : un guide complet

Les balises Hreflang expliquées : un guide complet

T
Toolz Team
|Aug 23, 2026|15 min Lire

Fait partie de la collection Outils de référencement

Le premier site international que j'ai expédié avait onze versions linguistiques et zéro hreflang Le trafic avait l'air bien dans l'ensemble, donc personne ne l'a remis en question pendant des mois Puis un collègue à Berlin a cherché notre produit sur google.de et a obtenu la page en anglais Pas celle en allemand L'allemand existait, était indexé, et était mieux écrit que l'original en anglais Google n'avait juste aucune raison de le préférer, donc il servait la version qui avait le plus de liens pointant dessus, qui était celle que nous faisions la promotion sur Twitter en anglais depuis deux ans.

C'est le mode d'échec hreflang existe pour empêcher, et il est invisible de l'intérieur de votre propre marché Vous recherchez depuis votre propre pays dans votre propre langue, obtenez la bonne page, et conclure que tout fonctionne Les gens qui obtiennent la mauvaise page sont ceux dont vous n'entendez jamais parler, parce qu'ils ont rebondi.

Ce guide couvre hreflang bout à bout : ce qu'est l'annotation, comment les codes sont construits, les trois endroits où vous pouvez le mettre, les règles qui font confiance à Google, et comment il interagit avec les balises canoniques et les sitesmaps C'est le hub pour un ensemble de pièces focalisées sur x-par défaut, les erreurs qui brisent les implémentations, hreflang contre canoniqueet des configurations spécifiques au cadre pour Suivant.js et WordPress.

tl;dr : Une balise hreflang est un rel="alternate" hreflang="xx-XX" annotation qui indique aux moteurs de recherche quelle langue et version régionale d'une page servir chaque utilisateur La valeur est un code de langue ISO 639-1, éventuellement plus un code de région ISO 3166-1 alpha-2, donc le Royaume-Uni est GB et non UK. Les annotations doivent être réciproques : chaque page d'un ensemble répertorie chaque version, y compris elle-même, ou Google rejette l'ensemble. Vous pouvez l'implémenter en HTML <link> balises, entrées de plan de site XML ou HTTP Link en-tête, mais une seule méthode par URL définie. Le générateur hreflang construit les trois formats dans le navigateur et valide les codes avant de les expédier.

Qu'est-ce qu'une étiquette hreflang ?

Une balise hreflang est une annotation qui déclare &quot ; une autre version de cette page existe pour cette langue et cette région, et elle vit à cette URL.&quot ; elle ressemble à ceci :

<link rel="alternate" hreflang="fr-CA" href="https://example.com/fr-ca/" />

Lire de gauche à droite : rel="alternate" dit qu'il s'agit d'une variante plutôt que d'une page différente hreflang="fr-CA" dit que la variante est pour les francophones au Canada, et href donne l'URL absolue Rien ici n'est une directive Google traite hreflang comme une forte indication sur l'URL à échanger contre un chercheur donné, pas comme une commande à laquelle il doit obéir, et il annulera l'indice lorsque les preuves pointeront ailleurs.

L'annotation est définie dans Google&#39 ;s documentation sur les versions localisées d'une page1, et les valeurs du code proviennent de BCP 47[traduction], la norme de l'IETF pour les balises de langue Bing prend en charge la même annotation Yandex n'utilise pas de hreflang et s'appuie sur ses propres paramètres régionaux, ce qui importe si les marchés en langue russe font partie de votre plan.

Quand avez-vous besoin de hreflang, et quand est-ce une perte de temps ?

Vous en avez besoin lorsque le même contenu existe dans plus d'une langue, ou dans une langue destinée à plus d'une région Vous n'en avez pas besoin pour un site qui n'existe qu'en anglais pour un seul marché, et l'y ajouter ne fait qu'ajouter du balisage.

Trois formes apparaissent en pratique :

Forme du site exemple Besoin d'hreflang?
Une langue, un marché Un site de marketing SaaS uniquement aux États-Unis non
Langues multiples /en/, /de/, /ja/ versions des mêmes pages oui
Une langue, plusieurs marchés example.com/us/ et example.com/uk/, les deux anglais Oui, et c'est le cas le plus souvent manqué

La troisième ligne est celle qui mérite une pause Deux pages anglaises avec des prix, une copie d'expédition et une orthographe différents ressemblent à des doublons d'un robot d'exploration Sans hreflang, Google en choisit une et filtre l'autre, c'est ainsi qu'un magasin britannique finit invisible sur google.co.uk tandis que son jumeau américain se classe L'annotation est ce qui indique à Google qu'il s'agit de variantes régionales délibérées plutôt que de duplication accidentelle.

Comment les codes hreflang sont-ils construits ?

La valeur comporte deux parties, et seule la première est requise.

le langue est un code ISO 639-1 à deux lettres, minuscule : en, fr, de, ja, pt. le région est un code ISO 3166-1 alpha-2 à deux lettres, majuscule, accompagné d'un trait d'union : en-US, pt-BR, de-AT. Le casse est une convention plutôt qu'une exigence stricte, car les balises de langage correspondent de manière insensible à la casse, mais chaque révision de code va plus vite lorsque vous la suivez.

Les règles que les gens se trompent, dans l'ordre où je les vois se tromper :

  • Le Royaume-Uni est GB. UK n'est pas un code ISO 3166-1. en-UK est silencieusement ignoré, ce qui est pire qu'une erreur car rien ne vous le dit.
  • La région seule n’est pas une chose. Il n'y a aucun moyen de dire &quot ; tout le monde au Canada&quot ; sans nommer une langue. hreflang="CA" est invalide. Vous écrivez en-CA et fr-CA en entrées séparées.
  • L'Amérique latine est es-419. Il s'agit d'un code de région numérique UN M49, valable dans le BCP 47, et de la bonne réponse lorsque votre espagnol s'adresse à la région plutôt qu'à l'Espagne ou au Mexique en particulier.
  • Le chinois veut généralement un scénario, pas un pays. zh-Hant pour Traditionnel et zh-Hans pour Simplified, décrivez le système d'écriture, qui est ce qui intéresse les lecteurs. zh-CN et zh-TW travailler mais confondre écriture et géographie.
  • La langue et la région sont des axes indépendants. en-CA et fr-CA peuvent tous les deux exister Ainsi peut en-US, en-GB, et en-AU. Ne supposez pas une page par pays ou une page par langue ; cartographiez les combinaisons que votre site sert réellement.

le générateur hreflang vérifie chaque code par rapport à la forme attendue et signale les sous-étiquettes qui ne sont pas des valeurs de langue ou de région reconnues, donc en-UK échoue au clavier plutôt que dans une exploration trois semaines plus tard.

Où vont les balises hreflang ?

Trois méthodes de mise en œuvre sont prises en charge, et elles sont équivalentes en effet Le choix est opérationnel.

méthode Où il vit le mieux pour coûter
HTML <link> Chaque page&#39;s <head> La plupart des sites ; plus facile à déboguer Chaque page porte l'ensemble complet, qui augmente avec le nombre de langues
Plan du site XML xhtml:link Sitesmap entrées Grands sites, nombreux lieux Le plan du site doit rester synchronisé ; plus lent à être récupéré
HTTP Link en-tête Réponse du serveur PDF et autres fichiers non HTML Besoin d'une configuration du serveur ; invisible dans le navigateur&#39 ; s voir-source

Balises HTML dans la tête :

<link rel="alternate" hreflang="en-US" href="https://example.com/us/pricing" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/pricing" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/preise" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />

Le même ensemble que les entrées de plan de site, qui a besoin du xhtml espace de noms déclaré sur <urlset>:

<url>
  <loc>https://example.com/us/pricing</loc>
  <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/us/pricing"/>
  <xhtml:link rel="alternate" hreflang="en-GB" href="https://example.com/uk/pricing"/>
  <xhtml:link rel="alternate" hreflang="de-DE" href="https://example.com/de/preise"/>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/pricing"/>
</url>

Et comme en-tête HTTP, qui est la seule option pour un PDF :

Link: <https://example.com/us/whitepaper.pdf>; rel="alternate"; hreflang="en-US",
      <https://example.com/de/whitepaper.pdf>; rel="alternate"; hreflang="de-DE"

Choisissez une méthode par ensemble d'URL Le mélange de balises HTML et d'entrées de plan de site pour les mêmes pages n'est pas fatal, mais il donne à Google deux sources qui peuvent s'écarter, et le jour où elles ne sont pas d'accord vous ne saurez pas laquelle a gagné Si vous produisez déjà un plan de site avec le Générateur de sitemap XML1, le format du plan du site y tombe directement.

Pourquoi le hreflang doit-il être réciproque ?

Parce qu'une revendication à sens unique est invérifiable Si votre page en anglais dit &quot ; la version française est là-bas&quot ; et la page en français ne dit rien, n'importe qui pourrait pointer du doigt n'importe qui Google&#39 ; la règle est que les deux parties doivent être d'accord, et le exigence de retour-étiquette est clairement indiqué dans sa documentation : les annotations sans confirmation des balises de retour sont ignorées.

La forme pratique de la règle est plus simple qu'elle n'en a l'air Mettez l'ensemble complet et identique d'annotations sur chaque page du groupe, y compris une entrée auto-référentielle pour la page elle-même La page anglaise répertorie l'anglais, le français, l'allemand et la page en x par défaut Il en va de même pour la page en français. Même bloc, octet pour octet, sur chacun d'eux.

Cette redondance est la fonctionnalité Cela rend l'ensemble auto-vérifiant et rend le déploiement mécanique : construire le bloc une fois par groupe d'URL et le restituer à partir d'une seule source plutôt que de l'édition manuelle par page L'édition manuelle est la façon dont un ensemble de neuf pages se retrouve avec huit blocs corrects et une entrée manquante, et une entrée manquante suffit pour que Google se méfie de la paire à laquelle il appartient.

Que fait x-default ?

x-default nomme la page à servir lorsqu'aucune autre entrée ne correspond à l'utilisateur Quelqu'un naviguant en coréen atterrit sur un site avec des versions anglaise, française et allemande : sans x-default[TRADUCTION], Google devine Avec lui, vous décidez, et la réponse est généralement un sélecteur de langue ou votre page d'accueil internationale principale.

Ce n'est pas un code de langue et il n'en remplace pas Votre page en anglais a encore besoin de la sienne en ou en-US entrée, et x-default s'assoit à côté comme un fourre-tout Google le traite comme facultatif, et je le traite comme requis, parce que &quot ; l'algorithme choisit quelque chose&quot ; n'est pas une stratégie de routage Le guide complet par défaut x couvre où le pointer, ce qui se passe lorsque vous le pointez vers une redirection et pourquoi une page de sélection de langue a besoin de soins propres.

Comment interagissent les balises hreflang et canoniques ?

Ils répondent à des questions différentes et ils ne doivent pas se contredire.

Une balise canonique indique &quot ; de ces URL presque identiques, indexez celle-ci.&quot ; Une annotation hreflang indique &quot ; ces URL sont des alternatives localisées, servent la bonne par utilisateur.&quot ; L'échec de la consommation de versions en langue entière est canonisable dans toutes les langues : votre page française déclare la page anglaise canonique, ce qui indique à Google de supprimer l'URL française de l'index, et hreflang ne peut pas ressusciter une URL qui a été canonisée.

La règle est courte. Chaque page se canonise à elle-même. Hreflang décrit les relations entre ces pages auto-canoniques Réduisez ces deux faits et les deux systèmes coopèrent ; traversez-les et le signal le plus fort, canonique, gagne et supprime tranquillement vos traductions. Hreflang vs canonique fonctionne à travers les combinaisons, y compris le cas paramètre-URL où les deux sont en jeu à la fois.

Comment testez-vous que le hreflang fonctionne ?

Commencez par Search Console Le rapport International Targeting répertorie les deux échecs qui comptent à l'échelle, &quot ; pas de retour de tags&quot ; et &quot ; code et quot de langue inconnue ;, sur l'ensemble de la propriété, ce qui vaut mieux inspecter les pages une à la fois Notez qu'il est en retard : les correctifs apparaissent seulement après que Google ait redessiné chaque page de l'ensemble concerné, donc une semaine sans changement est normale et ne prouve pas que le correctif a échoué.

Ensuite, faites un tour d'horizon de votre propre site Tout robot d'exploration qui fait surface avec des annotations hreflang vous montrera l'ensemble que chaque URL porte, et la vérification que vous exécutez est de savoir si chaque page d'un groupe porte le bloc complet identique Trier par groupe et eyeball les comptes ; une page avec quatre entrées dans un groupe de cinq est le bug.

Vérifiez ensuite la résolution des cibles. Chacun href doit être une URL absolue qui renvoie 200 et qui est indexable Une cible qui redirige fonctionne toujours mais ajoute un saut, une cible qui empoisonne l'ensemble par les 404 et une cible qui l'est noindex est une contradiction : vous faites de la publicité pour une page que vous avez dit à Google d'ignorer.

Quelles pauses le plus souvent ?

Par ordre approximatif de la fréquence à laquelle je les trouve :

  1. Tags de retour manquants. La page A pointe vers B, B ne pointe pas en arrière. Google rejette la paire.
  2. Pas de défaut x. Les utilisateurs inégalés obtiennent la version que Google devine.
  3. Codes non ISO. en-UK leads, suivis de ceux inventés comme en-EU.
  4. URL relatives. hreflang nécessite des URL absolues, le protocole et l'hôte inclus.
  5. Inadéquation traînante-slash. /fr/ et /fr sont des URL différentes, et l'annotation doit correspondre au formulaire indexable.
  6. Pointage canonique à travers les langues. Annule tout l'ensemble.
  7. Méthodes mixtes. balises HTML et entrées de plan de site pour les mêmes URL, à la dérive.

Chacun d’entre eux produit un balisage qui semble correct. C’est ce qui rend le hreflang fastidieux : l’échec est toujours silencieux. 12 erreurs de hreflang courantes marche à travers chacun avec le symptôme que vous observeriez et la correction.

Comment générez-vous et maintenez-vous les balises ?

Pour une poignée d'URL, écrire manuellement le bloc est bien une fois et douloureux lors du deuxième changement Pour tout ce qui est plus grand, générez-le.

le générateur d'étiquettes Hreflang prend une ligne par version - un code et une URL absolue - et émet le bloc sous forme de balises de lien HTML, d'entrées de plan de site ou d'en-tête HTTP. Il valide chaque code par rapport à la forme ISO, signale les sous-étiquettes non reconnues, capture les codes en double, rejette les URL relatives et prévient lorsque l'ensemble n'a pas de défaut x. Il s'exécute entièrement dans le navigateur, de sorte que votre structure d'URL, qui mappe toute votre architecture internationale, n'est jamais téléchargée nulle part.

Pour un site qui est déjà templated, la meilleure réponse à long terme est de rendre le bloc de votre configuration de routage afin qu'il ne puisse pas dériver C'est ce que le Suivant.js et WordPress les guides couvrent : une source de vérité pour la carte locale, un composant ou un filtre qui rend l'ensemble réciproque complet sur chaque page du groupe Le générateur est alors la chose que vous utilisez pour vérifier la sortie plutôt que pour la produire, qui est la bonne division du travail une fois qu'un site a dépassé quelques dizaines d'URL.

Si vous assemblez le reste de la couche SEO technique en même temps, le générateur de balises méta gère la tête par page et le Générateur robots.txt couvre les directives d'exploration. Le guide d'outils Hreflang va plus profondément sur le générateur lui-même.

Questions fréquentes

Qu'est-ce qu'une étiquette hreflang ?

Une balise hreflang est un rel="alternate" hreflang="xx-XX" annotation qui indique aux moteurs de recherche quelle langue et quelle version régionale d'une page servir un utilisateur donné Il aide les sites internationaux à classer la bonne version dans chaque marché et empêche les pages régionales presque identiques d'être filtrées en tant que doublons.

Ai-je besoin de hreflang si mon site est uniquement en anglais ?

Seulement si vous ciblez plus d'un marché anglophone avec des URL séparées Un seul site anglais pour un marché unique n'a pas besoin de hreflang Les magasins américains et britanniques séparés, tous deux en anglais, en ont besoin, car sans l'annotation les deux ressemblent à des doublons.

La région fait-elle partie d'un code hreflang requis ?

N° Le code de langue est obligatoire et la région est facultative. en est valable à lui seul Ce qui n'est pas valable, c'est une région sans langue : il n'y a aucun moyen de cibler un pays sans nommer une langue.

Hreflang garantit-il quelle page Google affiche ?

N° Hreflang est un signal fort, pas une directive Google peut toujours servir une version différente lorsque d'autres preuves, telles que l'utilisateur&#39 ; s les paramètres de langue explicites ou le langage de requête, pointent ailleurs.

Combien de temps faut-il pour que les modifications de l'hreflang prennent effet ?

Google doit redessiner chaque page de l'ensemble avant de pouvoir confirmer les balises de retour, de sorte que les changements prennent généralement des jours, voire des semaines, en fonction de la fréquence à laquelle votre site est exploré. Le rapport de ciblage international dans Search Console met à jour le même décalage.

Puis-je utiliser ensemble des balises hreflang et canoniques ?

Oui, et vous devriez Chaque page se canonise à elle-même, et hreflang décrit les relations entre ces pages auto-canoniques La canonisation d'une version linguistique à une autre la supprime de l'index et annule l'ensemble hreflang.

Bing soutient-il le hreflang ?

Oui. Bing soutient la même chose rel="alternate" hreflang annotation. Yandex n'utilise pas hreflang et s'appuie plutôt sur ses propres paramètres régionaux.

Où doivent aller les balises hreflang, dans le HTML ou le plan du site ?

Soit fonctionne Les balises de lien HTML sont plus faciles à déboguer et constituent le choix courant Les entrées de plan de site maintiennent les têtes de page maigres et conviennent aux sites comportant de nombreux emplacements Utilisez une méthode par ensemble d'URL plutôt que les deux.


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!