J’ai passé deux heures la semaine dernière à debugger les balises hreflang d’un client. Son site multilingue avait perdu 40% de son trafic en un mois. Pourquoi ? Une erreur de syntaxe sur une seule balise 🤦
La balise hreflang, c’est LE signal que tu envoies à Google pour dire « ces pages sont des versions linguistiques, pas du duplicate content ». Sans elle, ton SEO multilingue est mort. c’est la qu’apprendre à traduire son site web sans perdre son référencement google est important.
📋 Dans ce guide
- Pourquoi hreflang est indispensable pour le SEO multilingue
- La syntaxe exacte (avec exemples de code)
- Les 5 erreurs qui cassent tout
- Comment vérifier que c’est bien implémenté
- Outils gratuits pour debugger
⏱️ Temps de lecture : 3 minutes
Qu’est-ce que la balise hreflang et pourquoi elle est cruciale
La balise hreflang indique à Google quelle version de ta page afficher selon la langue et la localisation de l’utilisateur.
Concrètement : un Français qui cherche « meilleurs VPN » sur Google doit tomber sur ta page /fr/meilleurs-vpn/, pas sur /en/best-vpn/. Sans hreflang, Google choisit au pif. Ou pire : il considère tes pages comme du duplicate content et en indexe qu’une seule.
Le résultat ? Tu te bats contre toi-même. Ta version française et ta version anglaise se cannibalisent. Aucune des deux ne ranke correctement 📉
Hreflang résout ça en créant une relation explicite entre tes versions linguistiques. Google comprend que c’est le même contenu, juste adapté à différentes audiences.
Comment écrire une balise hreflang correctement
La syntaxe de base
Voilà à quoi ressemble une balise hreflang dans le <head> de ta page :
<link rel= »alternate » hreflang= »fr » href= »https://monsite.fr/article/ » />
<link rel= »alternate » hreflang= »en » href= »https://monsite.fr/en/article/ » />
<link rel= »alternate » hreflang= »es » href= »https://monsite.fr/es/article/ » />
<link rel= »alternate » hreflang= »x-default » href= »https://monsite.fr/ » />
Décomposition :
rel= »alternate » → Dit à Google que c’est une version alternative
hreflang= »fr » → Code langue ISO 639-1 (2 lettres)
href= »… » → URL absolue complète (HTTPS obligatoire)
x-default → Version par défaut si aucune langue ne correspond
Règle d’or : chaque page doit pointer vers TOUTES ses versions linguistiques, y compris elle-même. C’est bidirectionnel.

Les codes langue à utiliser (fr, en-US, es-ES…)
Tu peux utiliser deux formats :
Langue seule : hreflang= »fr » → Pour cibler tous les francophones
Langue + région : hreflang= »fr-CA » → Pour cibler spécifiquement le Canada francophone
Quelques exemples courants :
→ fr (français général)
→ en (anglais général)
→ en-US (anglais États-Unis)
→ en-GB (anglais Royaume-Uni)
→ es-ES (espagnol Espagne)
→ es-MX (espagnol Mexique)
→ pt-BR (portugais Brésil)
Utilise la version régionale uniquement si tu as du contenu vraiment adapté à ce pays. Sinon, la langue seule suffit amplement 🎯
Les 5 erreurs hreflang les plus courantes
Erreur #1 : Oublier la balise de retour (bidirectionnelle)
Si ta page FR pointe vers ta page EN, ta page EN DOIT pointer vers ta page FR. C’est bidirectionnel, obligatoirement.
Erreur typique : tu mets hreflang sur la homepage uniquement. Les pages internes n’ont rien. Google se perd, et ton hreflang ne sert à rien.
Solution : automatise avec un plugin (WPML, Polylang) ou assure-toi que ton template génère les balises sur TOUTES les pages.
Erreur #2 : Mauvais code langue ou pays
J’ai vu hreflang= »français » au lieu de hreflang= »fr ». Ça ne marche pas. Google veut les codes ISO standards.
Autre piège : hreflang= »en-uk » au lieu de « en-GB ». Le code pays, c’est GB (Great Britain), pas UK.
Vérifie toujours avec la liste officielle ISO 639-1 pour les langues et ISO 3166-1 Alpha 2 pour les pays.
Erreur #3 : Pas de balise x-default
Le x-default, c’est la page de secours. Si Google ne trouve pas de correspondance exacte avec la langue de l’utilisateur, il affiche cette version.
En général, c’est ta langue principale ou une page de sélection de langue.
Sans x-default, Google choisit au hasard. Pas optimal 😅
Erreur #4 : URLs en HTTP au lieu de HTTPS
Si ton site est en HTTPS (et il devrait), tes URLs dans hreflang DOIVENT être en HTTPS aussi.
Mélanger HTTP et HTTPS dans les balises hreflang, c’est une erreur courante qui casse l’implémentation. Google Search Console te l’indiquera comme erreur.
Erreur #5 : Hreflang dans le sitemap au lieu du HTML
Tu peux mettre hreflang dans trois endroits :
→ Dans le <head> HTML (recommandé)
→ Dans les en-têtes HTTP
→ Dans le sitemap XML
Le problème du sitemap : si t’as une erreur, elle se propage à tout le site. Et c’est plus dur à debugger.
Mon conseil : mets hreflang dans le HTML. C’est plus simple, plus flexible, et Google le préfère 👍
Comment vérifier vos balises hreflang
Google Search Console
Va dans Search Console → Expérience → Ciblage international → onglet Langue.
Google liste ici toutes les erreurs hreflang détectées :
→ Balises manquantes
→ Balises non bidirectionnelles
→ Codes langue invalides
→ URLs cassées
C’est ton tableau de bord principal. Vérifie-le après chaque implémentation et régulièrement (une fois par mois minimum).
Outils de validation gratuits
Hreflang Tags Testing Tool (par Aleyda Solis) : entre ton URL, l’outil crawle et vérifie toutes les balises. Gratuit, ultra-précis.
Screaming Frog SEO Spider (version gratuite jusqu’à 500 URLs) : crawle ton site et détecte les erreurs hreflang. Indispensable pour les gros sites.
Merkle’s Hreflang Tag Generator : si tu veux générer tes balises proprement sans coder. Pratique pour débuter.
Mon workflow : implémentation → test Screaming Frog → validation GSC → monitoring mensuel 🔍
FAQ : Balise Hreflang
Où placer la balise hreflang dans le code ?
Dans la section <head> de chaque page HTML, avant la fermeture du </head>. Évite de la mettre dans le <body>, ça ne fonctionne pas.
Peut-on utiliser hreflang sur un site monolingue ?
Techniquement oui, mais c’est inutile. Hreflang sert uniquement à indiquer des versions linguistiques alternatives. Sur un site monolingue, tu n’en as pas besoin.
Hreflang fonctionne-t-il avec Bing et autres moteurs ?
Non. Hreflang est spécifique à Google. Bing utilise la balise <meta content-language> à la place. Yandex supporte hreflang. Les autres moteurs l’ignorent généralement.
hreflang c’est chiant à implémenter la première fois, mais une fois en place, ça tourne tout seul. Et l’impact sur ton SEO multilingue est massif. Pas de hreflang = pas de SEO international sérieux. Point 🎯