Le Guide Complet Hreflang 2026 (avec des exemples Next.js)
Votre site web peut être techniquement parfait en anglais et pourtant invisible pour la majeure partie du monde.

Votre site web peut être techniquement parfait en anglais et rester invisible pour la majeure partie du monde.
L'anglais ne couvre que 49,7 % de tout le contenu web (W3Techs, mai 2026). Cela signifie que l'autre moitié du web opère dans d'autres langues — et sans le bon signal, Google doit deviner quelle version de votre page appartient à quel public. Vos visiteurs allemands obtiennent une page en anglais. Ils rebondissent. Vous perdez la conversion.
Hreflang est l'attribut HTML qui corrige cela. Et il est défectueux sur la majorité des sites multilingues.
Dans ce guide, nous expliquons ce qu'est hreflang, comment l'écrire sans les erreurs courantes qui piègent la plupart des développeurs, et exactement comment l'implémenter dans un projet Next.js 15 App Router — y compris les modèles que nous utilisons pour gérer 10 variantes linguistiques à travers des builds multilingues.
Points Clés à Retenir
- 58 % des sites web multilingues ont des conflits hreflang internes dans leur code source (Semrush, 2023)
- 76 % des acheteurs en ligne préfèrent acheter dans leur langue maternelle — 40 % n'achèteront pas du tout sur un site dans une langue différente (CSA Research, 2020)
- Google traite hreflang comme un indice, pas une directive — les balises non fiables sont ignorées, mais le problème de contenu dupliqué demeure
- Dans Next.js 15 App Router,
alternates.languagesà l'intérieur degenerateMetadata()est la méthode d'implémentation correcte sans dépendance- 96 % des sites avec des conflits hreflang manquent la balise d'auto-référence — une simple omission brise l'ensemble du cluster (Semrush, 2023)
Qu'est-ce que Hreflang et Pourquoi Est-ce Important pour Votre Classement ?
Seuls 25,9 % des internautes naviguent principalement en ligne en anglais (Internet World Stats via Wikipedia, 2025). Pourtant, le travail de Google est de servir à chaque utilisateur du contenu dans sa propre langue — et sans hreflang, il doit deviner à partir des seuls signaux contextuels. Hreflang est un attribut HTML qui indique précisément à Google quelle version linguistique et régionale d'une page montrer à quel utilisateur.
La syntaxe de base ressemble à ceci :
``html ``
Ce bloc doit apparaître sur toutes les versions linguistiques de la page — y compris la version anglaise qui renvoie à elle-même. Oubliez cette auto-référence sur une seule page et l'ensemble du cluster hreflang pour cette URL devient non fiable aux yeux de Google.
Pourquoi est-il crucial de bien faire les choses pour les résultats commerciaux ? Une enquête de CSA Research menée auprès de 8 709 consommateurs dans 29 pays a révélé que 76 % préfèrent acheter des produits avec des informations dans leur langue maternelle, et 65 % choisiraient une page en langue maternelle même si la qualité de la traduction est inférieure à une alternative en anglais (CSA Research "Can't Read, Won't Buy", 2020). Hreflang n'aide pas seulement le classement — il détermine si le trafic traduit se convertit.

Le taux de conflit interne de 58 % est frappant, mais la cause profonde est presque toujours la même : les développeurs ajoutent hreflang au modèle de page en anglais et oublient de reproduire l'ensemble du cluster sur les pages traduites. Une auto-référence manquante sur la page allemande invalide la connexion dont Google a besoin pour confirmer que les pages anglaise et allemande sont de véritables variantes l'une de l'autre — et non des doublons.
Comment Google Utilise-t-il Réellement Hreflang ?
Voici ce que la plupart des guides hreflang omettent : Google a confirmé que les balises hreflang sont traitées comme des indices, et non des directives. Google ne pénalisera pas un hreflang défectueux — il ignorera silencieusement les balises qu'il juge non fiables. Le danger réside dans ce qui se passe sans cet indice : Google traite vos variantes linguistiques comme des pages distinctes en concurrence pour le même mot-clé, affichant souvent la mauvaise langue aux chercheurs ou créant une situation de contenu dupliqué auto-concurrentiel.
L'exigence de réciprocité est la règle fondamentale. Chaque version linguistique d'une page doit inclure des balises hreflang pointant vers toutes les autres versions, y compris elle-même. Si votre page anglaise renvoie à la page allemande mais que la page allemande ne renvoie pas à la page anglaise, le cluster est brisé.
Ce que Google valide sur chaque balise hreflang : - La valeur hreflang correspond à la langue réelle de la page liée - Le href est l'URL canonique absolue — les URL relatives échouent silencieusement - Toutes les pages du cluster se référencent mutuellement de manière bidirectionnelle
Une non-concordance linguistique — déclarer hreflang="de" sur une page qui est en réalité en anglais — signale à Google que l'ensemble de votre configuration hreflang pourrait être non fiable. L'étude Semrush a révélé que 21 % des sites multilingues ont ce problème (Semrush, 2023). Cela se produit généralement lorsqu'une page n'a pas encore été traduite mais contient toujours des balises hreflang pointant vers le contenu anglais.
Comment Écrire Correctement les Attributs Hreflang
La partie la plus sujette aux erreurs de hreflang n'est pas le nom de l'attribut — c'est la valeur du code de langue. Une étude Semrush a révélé que 15 % des sites multilingues utilisent des formats de code hreflang invalides, généralement en confondant le caractère séparateur ou en mélangeant les codes de langue et de pays (Semrush, 2023).
Les règles : - Utilisez les codes de langue à deux lettres ISO 639-1 : en, de, fr, sv - Combinez éventuellement avec les codes de pays ISO 3166-1 Alpha-2 en utilisant un tiret : en-GB, de-CH, pt-BR - N'utilisez jamais de tirets bas — en_US est incorrect ; en-US est correct - Incluez toujours x-default pour la page de secours
| Langue Visée | Hreflang Correct | Valeur Erronée Courante |
|---|---|---|
| Anglais (global) | en |
en-EN, english |
| Anglais (Royaume-Uni) | en-GB |
en_GB, eng-UK |
| Allemand (Allemagne) | de |
ger, de_DE avec tiret bas |
| Allemand (Suisse) | de-CH |
ch, de_CH avec tiret bas |
| Suédois | sv |
sw, swe |
| Norvégien Bokmål | nb |
no |
| Portugais (Brésil) | pt-BR |
pt_BR avec tiret bas |
| Page de secours / sélecteur | x-default |
default, x_default |
Les entrées suédoise et norvégienne sont les plus mal comprises. Le code ISO 639-1 du suédois est sv, pas sw. Le norvégien a deux standards écrits : nb (Bokmål) et nn (Nynorsk). La plupart des sites norvégiens devraient utiliser nb. Utiliser no dans hreflang est techniquement incorrect — il ne correspond pas à un sous-tag de langue IANA valide.
L'allemand suisse mérite une note à part : ch est le code pays de la Suisse, pas un code de langue. La valeur hreflang pour le contenu en allemand suisse est de-CH. Utiliser ch seul comme valeur hreflang est invalide et sera ignoré.
Comment Implémenter Hreflang dans Next.js 15 App Router
L'App Router de Next.js 15 rend l'implémentation de hreflang propre et native au framework — aucun package SEO tiers n'est nécessaire. Nous gérons 10 variantes linguistiques à travers nos builds multilingues (anglais, finnois, français, allemand, italien, norvégien, allemand suisse, serbe, espagnol et suédois) et le modèle ci-dessous est celui que nous utilisons en production.
La clé est le champ alternates.languages à l'intérieur de generateMetadata(). Next.js le rend automatiquement sous forme de balises dans le , sans nécessiter de rendu personnalisé.
Étape 1 : Construire un mappage explicite des codes de langue
Vos clés de langue d'URL internes ne correspondent pas toujours aux codes hreflang ISO. Construisez une carte explicite pour éviter les bugs d'exécution :
``typescript // src/lib/hreflang.ts export const HREFLANG_CODE: Record``
Deux pièges réels en production : la valeur hreflang du norvégien est nb, pas no. Et le code ISO du suédois est sv — utiliser sw (qui est pratique en interne comme préfixe de table de base de données) dans l'attribut hreflang est invalide. Cette carte explicite est ce qui empêche ces bugs d'atteindre la production.
Étape 2 : Construire une fonction d'aide centralisée getAlternates
```typescript // src/lib/hreflang.ts (continued) const BASE_URL = 'https://fridamarketing.com'; const LANG_CODES = ['fi', 'fr', 'de', 'it', 'no', 'ch', 'sr', 'es', 'sw']; // URL prefix for each lang key (ch → no prefix needed? no → /no) const LANG_URL: Record
export function getAlternates(routeKey: string, currentLang?: string) { const languages: Record${BASE_URL}/${routeKey}, };
for (const lang of LANG_CODES) { const urlPrefix = LANG_URL[lang]; const hreflangCode = HREFLANG_CODE[lang]; languages[hreflangCode] = ${BASE_URL}/${urlPrefix}/${routeKey}; }
const canonical = currentLang ? ${BASE_URL}/${LANG_URL[currentLang] || currentLang}/${routeKey} : ${BASE_URL}/${routeKey};
return { canonical, languages: { ...languages, 'x-default': ${BASE_URL}/${routeKey} }, }; } ```
Étape 3 : L'utiliser à l'intérieur de generateMetadata()
Pour la page anglaise :
```typescript // app/about/page.tsx import { getAlternates } from '@/lib/hreflang';
export async function generateMetadata() { return { title: 'About Us | Frida Marketing', description: 'Next.js development and multilingual SEO agency.', alternates: getAlternates('about'), }; } ```
Pour les variantes linguistiques :
```typescript // app/[lang]/about/page.tsx import { getAlternates } from '@/lib/hreflang';
export async function generateMetadata({ params }: { params: { lang: string } }) { return { title: 'About Us | Frida Marketing', description: 'Next.js development and multilingual SEO agency.', alternates: getAlternates('about', params.lang), }; } ```
Next.js compile l'objet alternates.languages dans l'ensemble complet des balises automatiquement. Chaque langue, y compris l'auto-référence pour la page actuelle, est rendue correctement tant que le mappage est complet.
Selon une enquête de DeepL et Regina Corso Consulting auprès de responsables marketing aux États-Unis, en Allemagne, au Japon et en France, 96 % ont déclaré un ROI positif grâce aux efforts de traduction et de localisation, et 65 % ont signalé un retour sur investissement de 3x ou plus (BusinessWire, 2024). La charge technique d'un hreflang correct est modeste comparée aux revenus qu'il permet de débloquer.

Quelle Méthode Hreflang Devriez-vous Utiliser ?
Il existe trois façons de déclarer hreflang : les balises HTML , les entrées de sitemap XML ou les en-têtes de réponse HTTP. Les trois sont valides pour Google — le bon choix dépend de votre stack et du volume de contenu.
| Méthode | Fonctionnement | Idéal pour |
|---|---|---|
Balises HTML |
injecté dans le de chaque page |
Next.js App Router via generateMetadata() |
| Sitemap XML | à l'intérieur de chaque bloc dans sitemap.xml |
Sites gérés par CMS, grands volumes de pages |
| En-têtes HTTP | En-tête Link: dans la réponse du serveur |
Contenu non-HTML (PDF, points de terminaison JSON) |
Pour Next.js, l'approche generateMetadata() est le bon choix par défaut. Elle maintient les déclarations hreflang colocalisées avec la logique de la page, est vérifiée au moment de la compilation et ne nécessite aucune maintenance de sitemap séparée. L'approche du sitemap est un complément utile sur les grands sites mais ne devrait pas être la seule source de hreflang lorsque le framework le gère nativement.
Une chose à noter : vous pouvez déclarer hreflang à la fois dans les balises et dans le sitemap sur le même site. Google accepte les deux et ils ne sont pas en conflit. Mais maintenir deux sources de vérité pour les mêmes données est à éviter — gardez-le dans generateMetadata() et laissez le sitemap gérer la priorité d'exploration séparément.
Comment Tester et Valider Votre Configuration Hreflang
Déployer hreflang est la moitié du travail. Valider que Google l'a correctement pris en compte est l'autre moitié. Ces quatre outils couvrent différents modes de défaillance — utilisez-en au moins deux.
Google Search Console — Rapport de ciblage international Après le déploiement, ouvrez GSC → Outils hérités → Ciblage international. Il montre quelles variantes linguistiques Google a indexées et signale toute erreur de configuration hreflang détectée. C'est votre vérité fondamentale — si GSC affiche un drapeau de langue ou de région levé, enquêtez avant toute autre chose.
Audit de site Semrush Effectuez un audit complet et filtrez les problèmes hreflang. Semrush détecte les auto-références manquantes, les URL hreflang brisées et les non-concordances linguistiques — les trois modes de défaillance les plus courants sur 20 000 sites testés.
Audit de site Ahrefs Ahrefs signale les pages manquantes dans un cluster hreflang complet, ce qui est précieux lorsque vous avez 10 langues et que vous devez confirmer que chaque variante se référence mutuellement. Il trouve des lacunes que Semrush manque parfois.
hreflang.org — vérificateur d'URL unique gratuit Collez une URL, obtenez toutes ses balises hreflang affichées et vérifiez que le cluster est réciproque. Rapide pour des vérifications ponctuelles pendant le développement avant un audit de site complet.
Une chose que les outils d'audit ne détecteront pas : un hreflang techniquement valide mais sémantiquement incorrect. Si vous déclarez hreflang="de-CH" sur une page qui sert du contenu allemand générique plutôt que du contenu allemand suisse, les balises passent tous les validateurs. Mais Google finit par déduire des signaux comportementaux que les utilisateurs suisses ne sont pas bien servis, et la confiance dans votre cluster hreflang diminue avec le temps. La validation technique n'est que la base — faire correspondre le contenu au locale déclaré est le véritable objectif.
---
Nous construisons des sites Next.js multilingues avec une implémentation hreflang complète dès le premier jour — mappage correct des codes de langue, sitemaps traduits, balisage de schéma spécifique à la langue, et audits hreflang structurés après le lancement. Contactez-nous pour discuter de votre projet, ou consultez nos tarifs pour les forfaits de développement multilingue et de SEO.
---
Foire Aux Questions
Qu'est-ce que hreflang et à quoi sert-il ?
Hreflang est un attribut de lien HTML qui indique à Google quelle version linguistique d'une page servir aux utilisateurs dans des régions ou des langues spécifiques. Une implémentation correcte empêche Google d'afficher la mauvaise version linguistique, réduit le taux de rebond et évite les pénalités de contenu dupliqué entre les variantes linguistiques.
Hreflang améliore-t-il directement le classement Google ?
Google traite hreflang comme un indice, pas une directive — il ignore les balises qu'il juge non fiables. Une implémentation correcte empêche l'affichage de la mauvaise langue aux chercheurs, réduisant le taux de rebond et améliorant les signaux d'engagement qui augmentent indirectement le classement. Un hreflang défectueux crée une concurrence de contenu dupliqué entre vos propres variantes linguistiques.
Quelles sont les erreurs hreflang les plus courantes ?
Une étude Semrush portant sur 20 000 sites web multilingues a révélé que 58 % ont des conflits de code source internes, 37 % renvoient vers des URL brisées ou redirigées, 21 % présentent une non-concordance linguistique entre la valeur hreflang déclarée et la langue réelle de la page, et 15 % utilisent des codes de langue ou de pays invalides (Semrush, 2023).
Comment implémenter hreflang dans Next.js 15 App Router ?
Dans Next.js 15, exportez un objet alternates.languages depuis generateMetadata(). Utilisez les codes de langue ISO 639-1 comme clés et les URL canoniques absolues comme valeurs. Incluez x-default pointant vers votre locale par défaut. Next.js rend automatiquement ces éléments sous forme de balises dans l'en-tête du document — aucun rendu séparé ni bibliothèque tierce n'est nécessaire.
À quoi sert x-default hreflang ?
x-default désigne une page de secours pour les utilisateurs dont la langue ou la région ne correspond à aucune de vos valeurs hreflang déclarées. Il s'agit généralement de la version anglaise ou d'une page de destination avec sélecteur de langue. Incluez-le toujours — cela signale à Google que vous avez intentionnellement pris en compte les visiteurs des locales non listées plutôt que d'avoir simplement oublié la balise.
Conclusion
Hreflang est l'un de ces éléments SEO techniques qu'il est facile de maîtriser partiellement et difficile de maîtriser entièrement. La syntaxe est simple, mais les modes de défaillance — auto-références manquantes, URL relatives, codes ISO incorrects, liens non réciproques entre les variantes linguistiques — sont subtils et n'apparaissent pas comme des erreurs visibles tant que vous n'observez pas le mauvais classement linguistique sur le mauvais marché.
Dans Next.js 15, l'API alternates.languages de generateMetadata() gère le rendu proprement et sans packages supplémentaires. Le véritable investissement réside dans la couche de mappage : s'assurer que chaque clé de langue interne se résout en un code hreflang ISO valide, et que les URL canoniques que vous transmettez sont absolues et pointent vers la page réellement indexée.
Si vous construisez un site Next.js multilingue et souhaitez une révision de votre configuration hreflang, contactez-nous — nous identifierons précisément quels clusters présentent des problèmes avant que Google ne les signale.

Écrit par
Andrija IlićPlus d'articles
Blog →
Next.js vs WordPress : Lequel est le meilleur pour le SEO en 2026 ?
WordPress alimente toujours environ 42% de tous les sites web et près de 60% de chaque site utilisant un CMS connu ([W3Techs](https://w3techs.com/technologies/details/cm-wordpress), 2026). Pourtant, il ne réussit les Core Web Vitals de Google que sur 45% des sites mobiles — l'un des taux les plus bas parmi toutes les plateformes majeures ([HTTP Archive Web Almanac](https://almanac.httparchive.org/en/2025/cms), 2025).
Lire la suite →
Comment se classer dans ChatGPT, Perplexity et Google AI (Guide Pratique 2026)
La moitié des consommateurs recherchent désormais intentionnellement des moteurs de recherche basés sur l'IA, et 44% déclarent que l'IA est leur principale source d'information — devant Google traditionnel ([McKinsey](https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights/new-front-door-to-the-internet-winning-in-the-age-of-ai-search), 2025). ChatGPT a atteint 900 millions d'utilisateurs actifs hebdomadaires en février 2026. Perplexity a traité 780 millions de requêtes rien qu'en mai 2025.
Lire la suite →Qu'est-ce que l'optimisation pour les moteurs génératifs (GEO) ? Le guide complet 2026
Le volume de recherche traditionnel devrait chuter de 25 % d'ici 2026, les chatbots IA et les agents virtuels prenant le relais des requêtes d'information ([Gartner](https://www.gartner.com/en/newsroom/press-releases/2024-02-19-gartner-predicts-search-engine-volume-will-drop-25-percent-by-2026-due-to-ai-chatbots-and-other-virtual-agents), 2024). L'optimisation pour les moteurs génératifs — GEO — est la manière dont les entreprises adaptent leur contenu afin que les systèmes d'IA les citent plutôt que leurs concurrents lors de ces requêtes.
Lire la suite →