# SEO international : l’attribut hreflang — un guide complet

> URL: https://4eck-media.de/fr/blog/12172/  
> Language: fr  
> Description: Optimise ton site pour les marchés internationaux : comment utiliser correctement les balises hreflang et éviter les erreurs SEO. En savoir plus !

---

Dans les campagnes SEO internationales, où existent différentes versions linguistiques d’un site, les balises hreflang sont incontournables. Selon les données du [Web Almanac 2022 du HTTP Archive](https://almanac.httparchive.org/en/2022/seo), 9,6 % des sites utilisaient des balises hreflang en 2022. Ce chiffre représentait une légère hausse par rapport à 2021, où 9,0 % des sites utilisaient des balises hreflang. Il existe trois méthodes courantes pour implémenter les balises hreflang : via la section *<head>* de la page HTML, via les en-têtes Link, ou via les sitemaps XML. Les données du Web Almanac ne concernent que l’évaluation des sections *<head>* et des en-têtes Link. Les sitemaps XML n’ont pas été pris en compte, donc la valeur réelle sera un peu plus élevée.

## 

Notre [agence GEO](https://4eck-media.de/fr/competences/optimisation-llm-geo-ia/) rend les informations aussi compréhensibles pour les moteurs de recherche classiques que pour les systèmes de réponse génératifs.

### 

Notre [agence SEO](https://4eck-media.de/fr/competences/agence-seo-4eck-media-nous-vous-hissons-en-haut/) associe des bases techniques propres à des contenus qui répondent à de vraies requêtes de recherche.

## 

### 

### 

```
<link rel="alternate" href="URL" hreflang="Sprachcode-Ländercode" />
```

rel= »alternate » : indique que l’URL liée est une version alternative de la page actuelle.  
href= »URL » : indique l’URL de la version alternative en langue.  
hreflang= »code-langue-code-pays » : ce paramètre indique la langue et le pays pour lesquels la version alternative est destinée.

```
<link rel="alternate" href="https://www.example.com/de/" hreflang="de-DE" />
<link rel="alternate" href="https://www.example.com/en/" hreflang="en-US" />
```

### 

- Code langue : un [code à deux lettres selon ISO 639-1](https://de.wikipedia.org/wiki/Liste_der_ISO-639-Sprachcodes) qui indique la langue (par ex. « de » pour l’allemand, « en » pour l’anglais, « fr » pour le français).
- Code pays : un code à deux lettres selon la norme ISO 3166-1 alpha-2 qui indique le pays (p. ex. « DE » pour l’Allemagne, « US » pour les États-Unis, « FR » pour la France).

- 
- 
- 
- 
- 
- 
- 

```
<link rel="alternate" href="https://www.example.com/es/" hreflang="es" />
```

    
        
            
                
                    

![Sprachcode-Filterung in der Search Console](https://4eck-media.de/wp-content/uploads/2025/11/sprachcode_ausgabe_search_console_e6e6fec497-1920x1080.avif)
                
            
        
    

## 

### 

### 

```
<link rel="alternate" href="https://www.example.com/en-us/" hreflang="en-US" />
<link rel="alternate" href="https://www.example.com/en-gb/" hreflang="en-GB" />
```

### 

## 

1. 
2. 
3. 
4. 

Google lui-même a expliqué dans son [podcast SEARCH OFF THE RECORDS du 25 juillet 2024](https://search-off-the-record.libsyn.com/internationalization-hreflang) qu’il est, en théorie, indifférent que les informations hreflang soient fournies dans le HTML, dans les en-têtes HTTP ou dans les sitemaps. Voir aussi la vidéo intégrée ci-dessous.

### 

```
<head>
 <link rel="alternate" href="https://www.example.com/de/" hreflang="de-DE" />
 <link rel="alternate" href="https://www.example.com/en/" hreflang="en-US" />
 <link rel="alternate" href="https://www.example.com/fr/" hreflang="fr-FR" />
</head>
```

### 

```
Link: <https://www.example.com/de/>; rel="alternate"; hreflang="de-DE"
Link: <https://www.example.com/en/>; rel="alternate"; hreflang="en-US"
```

    
        
            

## Mehrsprachig erfolgreich wachsen

                            

Ces articles montrent comment des sites web internationaux sont réalisés de manière techniquement propre, linguistiquement cohérente et convaincante pour les moteurs de recherche comme pour de nouveaux marchés.

                    
        
                            
                    
                        [![Problème HREFLANG & Canonical](https://4eck-media.de/wp-content/uploads/2025/10/hreflang-canonical-url-problem-720x480.avif "Problème HREFLANG & Canonical")](https://4eck-media.de/fr/blog/12166/ "SEO international : quand Google donne des résultats inattendus malgré un HREFLANG correct")
                        
                            [SEO international : quand Google donne des résultats inattendus malgré un HREFLANG correct](https://4eck-media.de/fr/blog/12166/)
                                                            
                                    Matthias Petri
                                
                            

                                                    
                    
                

                            
                    
                        [![Structure web, domaine et URL pour le SEO international](https://4eck-media.de/wp-content/uploads/2025/10/web-domain-url-struktur-international-seo-720x480.avif "Structure web, domaine et URL pour le SEO international")](https://4eck-media.de/fr/blog/12174/ "Structure de domaine et d’URL (ccTLD, sous-domaines, sous-répertoires) pour les sites internationaux (SEO international)")
                        
                            [Structure de domaine et d’URL (ccTLD, sous-domaines, sous-répertoires) pour les sites internationaux (SEO international)](https://4eck-media.de/fr/blog/12174/)
                                                            
                                    Matthias Petri
                                
                            

                                                    
                    
                

                            
                    
                        [![Leistung bei Google](https://4eck-media.de/wp-content/uploads/2025/10/leistung-google-seo-720x480.avif "Leistung bei Google")](https://4eck-media.de/fr/blog/12159/ "Notre année SEO 2024 : meilleurs cas e-commerce, SEO d’images & SEO international")
                        
                            [Notre année SEO 2024 : meilleurs cas e-commerce, SEO d’images & SEO international](https://4eck-media.de/fr/blog/12159/)
                                                            
                                    Matthias Petri
                                
                            

                                                    
                    
                

                            
                    
                        [![Recommandé par ChatGPT, mandaté depuis Tokyo : le site web corporate bilingue IME.eus](https://4eck-media.de/wp-content/uploads/2026/07/tokia-website-case-study.avif "Recommandé par ChatGPT, mandaté depuis Tokyo : le site web corporate bilingue IME.eus")](https://4eck-media.de/fr/blog/recommande-par-chatgpt-mandate-depuis-tokyo-le-site-web-corporate-bilingue-ime-eus/ "Recommandé par ChatGPT, mandaté depuis Tokyo : le site web corporate bilingue IME.eus")
                        
                            [Recommandé par ChatGPT, mandaté depuis Tokyo : le site web corporate bilingue IME.eus](https://4eck-media.de/fr/blog/recommande-par-chatgpt-mandate-depuis-tokyo-le-site-web-corporate-bilingue-ime-eus/)
                                                            
                                    Matthias Petri
                                
                            

                                                    
                    
                

                    
    

### 

```
<url>
 <loc>https://www.example.com/de/</loc>
 <xhtml:link rel="alternate" hreflang="de-DE" href="https://www.example.com/de/"/>
 <xhtml:link rel="alternate" hreflang="en-US" href="https://www.example.com/en/"/>
 <xhtml:link rel="alternate" hreflang="fr-FR" href="https://www.example.com/fr/"/>
</url>
```

Cette méthode a l’avantage de gérer tous les attributs hreflang à un seul endroit, ce qui facilite la maintenance et les mises à jour. De plus, le sitemap XML est traité efficacement par les moteurs de recherche. C’est aussi la raison principale pour laquelle nous avons décidé, pour notre projet TutKit.com, d’implémenter HREFLANG via le sitemap XML. Une autre raison était que, avec le grand nombre de langues (actuellement 26 !), nous ne voulions pas surcharger le code HTML. L’approche via le sitemap XML nécessite une implémentation unique et l’assurance que toutes les nouvelles pages y sont bien intégrées. Ensuite, tout fonctionne automatiquement. Le sitemap doit être déclaré dans la Google Search Console afin que Google puisse rapidement détecter les nouvelles pages.

    
        
            
                
                    

![HREFLANG in Sitemap](https://4eck-media.de/wp-content/uploads/2025/11/sitemap_tutkit_hreflang_9baf1a4771-1-1920x1080.avif)
                
            
        
    

### 

```
<link rel="canonical" href="https://www.example.com/de/" />
<link rel="alternate" href="https://www.example.com/de/" hreflang="de-DE" />
<link rel="alternate" href="https://www.example.com/en/" hreflang="en-US" />
```

Tu peux te passer des balises hreflang *rel= »alternate »* dans le code HTML si tu les as déjà implémentées dans la sitemap XML, comme dans mon exemple ci-dessus. Effet collatéral sympathique : cela permet de **réduire le code-bloat**. Supprimer les balises *rel= »alternate »* du HTML réduit la taille du fichier et peut rendre la page légèrement plus rapide au chargement.

    
        
            
                
                    

![Sitemap Search Console](https://4eck-media.de/wp-content/uploads/2025/11/eingereichte_sitemaps_search_console_google_e5fa6e7cd6-1920x1080.avif)
                
            
        
    

## 

- 
- 
- 
- 

### 

Utilise donc les bons **codes ISO**. Utilise toujours les [codes ISO 639-1 officiels pour les langues](https://de.wikipedia.org/wiki/Liste_der_ISO-639-Sprachcodes) et les [codes ISO 3166-1 Alpha-2 pour les pays](https://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste). Par exemple, « de » désigne la langue allemande et « DE » l’Allemagne, tandis que « en » désigne l’anglais et « US » les États-Unis.

Évite les combinaisons inutiles. Utilise uniquement les **combinaisons code-langue / code-pays** dont tu as réellement besoin. Si ta page doit s’adresser à tous les utilisateurs germanophones, indépendamment du pays, hreflang= »de » suffit, plutôt que hreflang= »de-DE ». C’est ainsi que nous procédons aussi avec TutKit.com. Et cela fonctionne très bien avec le trafic sur les pages non germanophones, qui dépasse désormais le trafic germanophone.

### 

Il est important que tu implémentes correctement les balises hreflang sur chaque page et que tu t’assures que toutes les versions linguistiques sont reliées entre elles. Si tu as besoin d’aide pour générer les attributs HREFLANG, voici un outil en ligne [HREFLANG Tags Generator](https://www.aleydasolis.com/english/international-seo-tools/hreflang-tags-generator/). Tu peux ensuite sécuriser ton implémentation avec un validateur HREFLANG. Plus de détails ci-dessous.

Chaque version linguistique de ta page doit pointer vers toutes les autres versions linguistiques — on parle de **liaison bidirectionnelle**. Si la version allemande pointe vers la version anglaise, la version anglaise doit aussi pointer vers la version allemande.

Veille à ce que l’attribut hreflang soit implémenté **sur toutes les pages pertinentes** de ton site, pas seulement sur les pages principales.

Assure-toi que tes **balises hreflang ne pointent pas vers des pages d’erreur** (par ex. des pages 404) ou vers des URL inexistantes. Cela pourrait avoir des effets négatifs sur ton SEO.

    
        
            
                
                    

![ ](https://4eck-media.de/wp-content/uploads/2025/11/hreflang_ref_ee7485c93c-1920x1080.avif "Liens de page hreflang")
                
            
        
    

### 

1. Utilise dans la mesure du possible des **URL séparées pour les différentes versions langue et pays**, par ex. https://www.example.com/de/ pour l’allemand et https://www.example.com/fr/ pour le français. Cela facilite l’implémentation et la gestion de l’attribut hreflang. C’est ce que nous faisons aussi avec TutKit.com, comme mentionné plus haut. Lis aussi mon article sur la [structure d’URL des projets multilingues](https://4eck-media.de/fr/blog/12174/).
2. Uniquement si ta page est différenciée **à la fois linguistiquement et régionalement** (par ex. anglais pour le Royaume-Uni et anglais pour l’Australie), tu devrais adapter l’attribut hreflang en conséquence (hreflang= »en-GB » pour le Royaume-Uni, hreflang= »en-AU » pour l’Australie). Sinon, la simple variante de langue sans code régional suffit.
3. Si tu ne peux pas proposer de version spécifique langue ou pays pour certaines pages, fournis une **version fallback générale (hreflang= »x-default »)**, par ex. une page anglaise à portée internationale (hreflang= »en »). Exemple : si ton utilisateur italien est sur une page allemande et veut l’afficher en italien via le sélecteur de langue, c’est la variante anglaise qui doit s’afficher si aucune page italienne n’est disponible. Sur TutKit.com, nous avons même résolu cela de manière à ce que, lorsque tu es sur une sous-page, le sélecteur de langue n’affiche que les langues pour lesquelles une traduction existe.

    
        
            
                
                    

![Language Switcher](https://4eck-media.de/wp-content/uploads/2025/11/language_switcher_tutkit_f18d045784-1920x1080.avif)
                
            
        
    

*Le sélecteur de langue n’affiche que les langues pour lesquelles il existe une version traduite de cette page de catégorie.*

## 

L’**attribut hreflang= »x-default »** est utilisé pour désigner une version générale, par défaut, d’une page qui s’affiche lorsqu’aucune version langue ou pays spécifique n’est disponible. Il fait office de **version fallback** et est particulièrement utile pour garantir que les utilisateurs voient une page pertinente lorsque leur langue ou région n’est pas couverte.

L’attribut *hreflang= »x-default »* est important car il aide les moteurs de recherche à afficher une version universelle de la page lorsqu’aucune version plus spécifique n’est disponible. Il garantit que les utilisateurs n’atterrissent pas sur une page vide ou non pertinente, mais voient la page qui correspond le mieux à leurs besoins lorsqu’aucune option plus précise n’est disponible.

Exemple : si ton site propose une version anglaise générale comme valeur par défaut pour tous les marchés non spécifiquement couverts, tu peux utiliser l’attribut *hreflang= »x-default »* pour t’assurer que cette version s’affiche si une version langue ou pays spécifique n’est pas disponible.

L’attribut *hreflang= »x-default »* est inséré dans la section <head> d’une page HTML ou utilisé dans ta sitemap XML. Il doit pointer vers la version la plus générale de ta page, qui sert de fallback pour toutes les langues ou régions non spécifiées.

```
<head>
  <link rel="alternate" hreflang="en" href="https://www.example.com/en/" />
  <link rel="alternate" hreflang="de" href="https://www.example.com/de/" />
  <link rel="alternate" hreflang="x-default" href="https://www.example.com/" />
</head>
```

```
<url>
  <loc>https://www.example.com/</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/" />
  <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/" />
</url>
```

Assure-toi que *hreflang= »x-default »* pointe vers une page pertinente pour les utilisateurs de toutes les régions non spécifiées ou avec des langues non prises en charge. Utilise *hreflang= »x-default »* en combinaison avec des balises hreflang spécifiques pour différentes langues et régions afin de garantir une couverture complète et de meilleurs classements dans les moteurs de recherche.

## 

L’une des erreurs les plus fréquentes consiste à **utiliser des codes de langue ou de pays incorrects** ou à oublier les balises hreflang sur certaines pages. Veille à ce que tous les codes langue et pays soient corrects et à ce que chaque page pertinente porte les bonnes balises hreflang.

Il est important que toutes les versions linguistiques de ta page soient **liées entre elles**. Si la page allemande pointe vers la page anglaise, la page anglaise doit aussi pointer en retour vers la page allemande. Cette liaison bidirectionnelle est essentielle pour que l’attribut hreflang fonctionne correctement.

Une autre erreur fréquente est le **placement incorrect des balises Canonical**, qui entrent en conflit avec les balises hreflang. Assure-toi que la balise Canonical pointe vers la version linguistique correspondante de la page et n’aille pas à l’encontre des balises hreflang.

Une **section head défectueuse** dans le code HTML peut elle aussi empêcher Google de reconnaître les balises hreflang. Cette erreur est particulièrement traître car elle n’apparaît pas comme telle dans la Google Search Console. Si Google ne reconnaît pas la balise, rien ne le pousse à considérer le site comme international. Veille donc à ne pas utiliser d’éléments qui s’écartent des méta-balises connues.

Si les URL dans tes balises hreflang ne sont pas correctes, cela génère également des problèmes. Vérifie que toutes les URL sont exactes et qu’il n’y a **ni faute de frappe ni lien obsolète**. C’est particulièrement important sur les grands sites avec de nombreuses versions linguistiques. C’est pourquoi le système devrait toujours générer les balises de façon automatisée. Quelques erreurs ne posent pas de problème.

### 

Il existe des outils en ligne spécifiques, comme le [HREFLANG Validator de Sistrix](https://app.sistrix.com/de/hreflang-validator) ou de [Merkle](https://technicalseo.com/tools/hreflang/), conçus pour vérifier l’implémentation des balises hreflang. Ces outils parcourent ta page et te font un retour sur les éventuelles erreurs. L’outil indique aussi si des erreurs ont eu lieu dans l’implémentation de la balise hreflang= »x-default ».

De nombreux outils SEO proposent également, dans le cadre de leur crawling, des rapports d’erreurs. L’[outil SEO d’Audisto](https://audisto.com/) que nous utilisons effectue par exemple les contrôles suivants. Chez nous, tout est à 0 car — comme mentionné plus haut — nous pilotons les HREFLANG via notre sitemap. Nous misons donc sur une validation de la sitemap. Si tes balises hreflang sont définies dans le code source, ces outils sont également indispensables pour le monitoring, au cas où des erreurs s’introduiraient plus tard à la suite de refactorings ou de déploiements.

    
        
            
                
                    

![HREFLANG Hints](https://4eck-media.de/wp-content/uploads/2025/11/hreflang_validator_audisto_a99db7ddad-1920x1080.avif)
                
            
        
    

## 

Consulte aussi, en lien avec le multilinguisme, la [documentation Google sur les pages localisées](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=de). Le podcast Google SEARCH OFF THE RECORD du 25/07/2024, consacré à l’internationalisation et au HREFLANG, est intéressant. Les informations clés ont été intégrées à cet article. Une perspective y a déjà été évoquée : Google envisage de détecter automatiquement la langue et l’orientation régionale. Voici l’épisode complet.

[YouTube video](https://www.youtube-nocookie.com/embed/WcNTOKdh8Ss)

##
