L’essentiel à retenir
- Définition : hreflang est un attribut HTML qui associe à une page ses équivalents dans d’autres langues ou d’autres pays, pour que Google affiche la version adaptée à chaque internaute.
- Syntaxe : <link rel="alternate" hreflang="fr-be" href="https://exemple.com/be/">, avec un code langue ISO 639-1 et, en option, un code pays ISO 3166-1 alpha-2.
- Règle clé : chaque page doit lister toutes les versions, y compris elle-même, et chaque version doit renvoyer vers les autres (réciprocité).
- x-default : la version servie quand aucune langue ne correspond, souvent une page de sélection ou la version anglaise.
L’attribut hreflang signale aux moteurs de recherche qu’une page existe en plusieurs versions linguistiques ou régionales et indique laquelle correspond à chaque combinaison langue-pays. Sans lui, Google peut afficher la page en français de France à un internaute belge ou québécois, ou considérer deux versions en espagnol (Espagne, Mexique) comme du contenu dupliqué. Il ne modifie pas le classement ; il choisit la version à afficher.
Syntaxe et codes acceptés
Chaque déclaration prend la forme <link rel="alternate" hreflang="code" href="URL absolue">. Le code combine une langue (ISO 639-1, deux lettres) et, facultativement, une région (ISO 3166-1 alpha-2, deux lettres). La région seule n’est pas acceptée.
| Code | Signification | Remarque |
|---|---|---|
| fr | Français, tous pays | Suffit pour un site sans variantes régionales |
| fr-fr, fr-be, fr-ca, fr-ch | Français de France, de Belgique, du Canada, de Suisse | Utile si prix, devise ou offre diffèrent |
| en-gb, en-us | Anglais britannique, américain | Deux versions au contenu proche : hreflang évite le doublon |
| x-default | Version par défaut | Servie aux langues non couvertes ; recommandée sur tout site multilingue |
| be, eu, uk | Invalides seuls | Région sans langue ; « uk » n’est d’ailleurs pas le code ISO du Royaume-Uni (gb) |
Les trois méthodes d’implémentation
| Méthode | Où | Adaptée à |
|---|---|---|
| Balises link dans le head | Chaque page HTML | Sites de taille modeste, CMS avec extension multilingue |
| En-têtes HTTP Link | Réponse du serveur | Fichiers non HTML (PDF) |
| Sitemap XML avec xhtml:link | Fichier sitemap | Grands sites ; évite d’alourdir le HTML de dizaines de balises |
Quelle que soit la méthode, la règle de réciprocité s’applique : si la page A déclare B comme version allemande, B doit déclarer A comme version française. Une déclaration à sens unique est ignorée. Chaque page doit aussi se déclarer elle-même. Pour un site en 4 langues, chaque page porte donc 4 balises hreflang plus x-default.
Hreflang et canonical
Les deux signaux cohabitent mais ne se substituent pas. Chaque version linguistique doit avoir une balise canonical auto-référente : déclarer la version française comme canonique de la version allemande revient à demander la désindexation de l’allemand, ce qui contredit le hreflang. De même, une URL citée dans un hreflang doit répondre en 200, être indexable et ne pas être redirigée.
Les erreurs les plus fréquentes
- Absence de retour : la cause numéro un des annotations ignorées ; la Search Console la signalait dans l’ancien rapport Ciblage international, aujourd’hui c’est un crawler comme Screaming Frog qui la détecte.
- Codes inventés : « en-uk », « fr-eu », « sp » pour l’espagnol (le code est « es »).
- URL relatives ou pointant vers une version redirigée.
- Hreflang vers une page non traduite : déclarer une version italienne qui affiche en réalité du contenu anglais.
- Oubli du x-default sur les sites qui redirigent automatiquement selon l’adresse IP : Googlebot explore majoritairement depuis les États-Unis et ne voit alors que la version américaine.
- Redirection automatique par géolocalisation sans possibilité de changer de version : elle empêche l’exploration des autres langues.
Le hreflang n’est nécessaire que si plusieurs versions existent réellement. Un site français avec quelques pages en anglais gagne à le déclarer ; un site monolingue n’en a pas besoin. Sa vérification entre dans le volet international d’un audit SEO complet, au même titre que les codes de réponse.
Comment GreenRed vous aide
Plutôt que de jongler entre plusieurs outils, le module Santé du site de GreenRed réunit ces indicateurs dans un seul tableau de bord, les compare dans le temps et vous indique les actions prioritaires. Vous pouvez le tester gratuitement, sans carte bancaire, depuis la page Tarifs.
Questions fréquentes
Hreflang améliore-t-il le classement ?
Non. Hreflang ne fait pas monter une page ; il indique à Google quelle version afficher pour quelle langue et quel pays. Son bénéfice est indirect : moins de contenu dupliqué entre versions proches, meilleur taux de clic et de conversion parce que l’internaute arrive sur la page dans sa langue et sa devise.
Faut-il un hreflang pour un site uniquement en français ?
Non, sauf si des versions régionales existent (France, Belgique, Suisse, Canada) avec des contenus ou des offres différents. Un site en une seule langue et sans variante n’a rien à déclarer ; ajouter hreflang="fr" seul n’apporte aucun bénéfice.
Que se passe-t-il si le hreflang n’est pas réciproque ?
Google ignore l’annotation. Si la page française déclare une version allemande mais que la page allemande ne renvoie pas vers la française, aucune des deux associations n’est retenue. La réciprocité complète, y compris l’auto-référence de chaque page, est la condition de fonctionnement.
Quelle est la différence entre hreflang et balise canonical ?
La canonical désigne la version de référence parmi des doublons et concentre l’indexation sur elle. Le hreflang relie des versions équivalentes qui doivent toutes rester indexées, chacune pour son public. Chaque version linguistique doit porter sa propre canonical auto-référente, jamais une canonical vers une autre langue.