Hreflang et site multilingue : le guide sans erreur

Choisir la structure d'un site international, écrire les balises hreflang, et éviter les erreurs qui les annulent : liens de retour, codes pays, UK au lieu de GB, canoniques.

Votre site existe en plusieurs langues, ou en plusieurs versions pour plusieurs pays ? Sans indication claire, Google peut afficher la page anglaise à un internaute français, ou la version belge à un Suisse. Les balises hreflang servent à éviter ça. Le principe est simple ; les erreurs de mise en œuvre, elles, sont fréquentes et suffisent à tout annuler.

Avant hreflang : la structure du site

Google le rappelle dans son guide sur les sites multirégionaux et multilingues : chaque version doit avoir sa propre URL. Une langue choisie par cookie ou par le navigateur, sur une URL unique, risque de rester invisible, car Googlebot explore généralement depuis les États-Unis sans préciser de langue.

Trois structures sont possibles :

StructureExemplePoints fortsLimites
Domaine nationalexemple.deCiblage du pays très clairCoûteux, un domaine par pays, règles d'attribution parfois strictes
Sous-domainede.exemple.comSimple à mettre en place« de » peut désigner une langue ou un pays
Sous-répertoireexemple.com/de/Simple, peu de maintenanceUn seul serveur, moins de séparation entre versions

Google déconseille en revanche les paramètres d'URL (?lang=de). Pour un site d'entreprise, le sous-répertoire est souvent le plus simple à gérer.

Autres règles du même guide :

  • Une seule langue par page, contenu et navigation compris. Évitez les traductions côte à côte.
  • Pas de redirection automatique selon la langue supposée du visiteur. Proposez plutôt des liens vers les autres versions.
  • Google détecte la langue d'une page à partir de son contenu visible : il n'utilise ni l'attribut lang, ni l'URL pour cela.

Ce que fait hreflang

D'après la documentation de Google, hreflang indique les versions localisées d'une même page, pour que Google montre à chaque internaute celle qui lui correspond. Une page traduite n'est pas considérée comme un doublon de l'original ; hreflang ne sert donc pas à éviter une pénalité, mais à servir la bonne version.

La syntaxe

Dans le <head> de chaque version :

<link rel="alternate" hreflang="fr-FR" href="https://exemple.com/fr/" />
<link rel="alternate" hreflang="fr-BE" href="https://exemple.com/be/" />
<link rel="alternate" hreflang="en-GB" href="https://exemple.com/uk/" />
<link rel="alternate" hreflang="de" href="https://exemple.com/de/" />
<link rel="alternate" hreflang="x-default" href="https://exemple.com/" />
  • Le code de langue suit la norme ISO 639-1 (fr, en, de) ; le code pays, facultatif, suit la norme ISO 3166-1 alpha-2 (FR, BE, CH).
  • x-default désigne la page à montrer quand aucune version ne correspond : un sélecteur de langue, ou la version internationale.
  • Les URL doivent être complètes, avec https://. Elles peuvent être sur des domaines différents.

Trois méthodes sont possibles, et Google les juge équivalentes : balises dans le HTML, en-tête HTTP (utile pour les PDF), ou sitemap XML. Une seule suffit ; les cumuler n'apporte rien.

Les erreurs qui annulent tout

1. Les liens de retour manquants

C'est l'erreur numéro un. Chaque version doit lister toutes les versions, elle-même comprise, et la liste doit être identique partout. Si la page française pointe vers l'anglaise mais que l'anglaise ne pointe pas vers la française, Google ignore les annotations. Ce contrôle empêche un site tiers de se déclarer « version » de vos pages.

2. Un pays sans langue

hreflang="be" ne veut pas dire « Belgique » : be est le code de la langue biélorusse. Le pays seul n'est pas accepté ; il faut écrire fr-BE ou nl-BE.

3. UK au lieu de GB

Le code ISO du Royaume-Uni est GB. Google cite UK parmi les codes réservés à autre chose, qu'il ignore. en-UK ne fonctionne donc pas : il faut en-GB. Même chose pour EU ou UN.

4. Des URL qui ne répondent pas en 200

Les URL listées doivent être les pages finales : pas de redirection, pas de page en noindex, et cohérentes avec la balise canonique de chaque version. Une canonique qui pointe vers la version d'un autre pays contredit le hreflang.

5. Des versions qui n'existent pas vraiment

Déclarer une version suisse qui reprend mot pour mot la page française, prix en euros compris, n'aide personne. Si deux versions dans la même langue existent, elles doivent se distinguer (devise, contacts, livraison, mentions locales).

Vérifier

  • Inspectez le code source de deux ou trois versions d'une même page et comparez les listes.
  • Un crawler SEO (Screaming Frog et équivalents) détecte les liens de retour manquants et les codes invalides sur tout le site.
  • Dans Search Console, l'inspection d'URL montre la canonique retenue par Google pour chaque version.

Un site multilingue se prépare dès la conception : structure des URL, sélecteur de langue, génération automatique des hreflang. Si vous lancez ou refondez un site international, parlons-en dès le départ : c'est beaucoup plus simple qu'après coup. Voir nos créations de sites et notre guide pour une refonte sans perte de référencement.

Nicolas Framery est consultant SEO et GEO à Aix-en-Provence, fondateur de Galaxy SEO et d'Etalo. Son parcours.

Un site à faire progresser, sur Google ou dans les IA ?

Un premier échange de 30 minutes suffit pour cadrer le besoin. Sans engagement.