Gérer votre sitemap

Signaler les versions localisées de votre page à Google

Utiliser l'attribut "hreflang" ou des sitemaps pour les pages spécifiques à une langue ou à une région

Si vous proposez plusieurs versions linguistiques ou régionales d'une même page, vous pouvez indiquer ces variantes à Google. De cette façon, les internautes seront redirigés vers la version linguistique ou régionale la plus appropriée dans la recherche Google.

Notez que même si vous choisissez de ne pas utiliser cette fonctionnalité, les différentes versions linguistiques de votre page peuvent être détectées par Google. Toutefois, il est généralement préférable de nous indiquer explicitement les pages spécifiques aux langues ou aux régions que vous couvrez.

Voici quelques exemples de scénarios où il conseillé de nous communiquer vos variantes de page linguistiques ou régionales :

  • La langue du contenu principal ne change pas et seul le modèle de la page est traduit, comme les éléments de navigation et le pied de page. C'est souvent le cas sur les pages dont le contenu est généré par l'utilisateur, comme un forum.
  • Votre contenu reste globalement fixe dans une langue donnée, à l'exception de quelques variantes régionales. Par exemple, un contenu en français peut cibler les internautes de Belgique, de France et de Suisse.
  • Le contenu du site est traduit dans son intégralité dans plusieurs langues. Chaque page est disponible en allemand et en français, par exemple.
Creating multi-regional and multilingual sites

Méthodes à suivre pour indiquer des variantes de pages

Trois approches permettent d'indiquer plusieurs versions linguistiques ou régionales d'une page à Google :

Balises HTML

Ajoutez les éléments <link rel="alternate" hreflang="lang_code"... > à l'en-tête de la page pour indiquer à Google toutes ses variantes linguistiques et régionales. Cette méthode est utile si vous n'avez pas de sitemap ou si vous n'avez pas la possibilité de spécifier des en-têtes de réponse HTTP pour votre site.

Chaque variante de page doit inclure un ensemble d'éléments <link> dans l'élément <head>, soit un lien pour chaque variante, y compris la page elle-même. L'ensemble de liens est identique pour chaque version de la page. Consultez les consignes supplémentaires.

Voici la syntaxe de chaque élément link :

<link rel="alternate" hreflang="code_de_langue" href="URL_de_la_page" />

code_de_langue
Code de langue ou de région standard ciblé par cette version de la page, ou attribut x-default pour indiquer toutes les langues qui ne sont pas répertoriées explicitement par une balise hreflang sur la page.
URL_de_la_page
URL complète de la version de cette page pour la langue ou la région spécifiée.
Placez les balises <link> dans la partie supérieure de l'élément <head>. Les balises <link> doivent se trouver dans une section <head> bien formée ou avant tout élément pouvant entraîner la fermeture prématurée de la section <head>, comme <p> ou un pixel de suivi. En cas de doute, collez le code de la page en question dans un outil de validation HTML pour vous assurer que les liens se trouvent bien dans l'élément <head>.

Exemple

Le site Web de l'entreprise Example Widgets, Inc. est destiné aux internautes qui résident en Allemagne, aux États-Unis et en Grande-Bretagne. Le contenu des URL suivantes est globalement le même, mais présente des différences régionales :

  • http://en.example.com/page.html : page d'accueil en anglais générique qui contient des informations sur les frais de port à l'international depuis les États-Unis.
  • http://en-gb.example.com/page.html : page d'accueil destinée au Royaume-Uni et indiquant les prix en livres sterling.
  • http://en-us.example.com/page.html : page d'accueil destinée aux États-Unis et indiquant les prix en dollars américains.
  • http://de.example.com/page.html : page d'accueil en allemand.
  • http://www.example.com/ : page par défaut qui ne cible aucune langue ni aucune région spécifique, avec un outil permettant aux internautes de sélectionner leur langue et leur région.

Notez que les sous-domaines spécifiques à la langue dans ces URL (en, en-gb, en-us, de) ne sont pas utilisés par Google pour déterminer l'audience cible de la page. C'est vous qui devez explicitement associer l'audience cible.

Voici le code HTML à coller dans la section <head> de toutes les pages indiquées ci-dessus. Il renvoie les internautes situés aux États-Unis ou au Royaume-Uni, ainsi que les personnes parlant allemand ou l'anglais standard, vers les pages localisées. Tous les autres utilisateurs sont redirigés vers une page d'accueil générique. La recherche Google propose aux internautes le résultat le plus approprié en fonction de leurs paramètres de navigateur.

<head>
  <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
        href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
        href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
        href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
        href="http://de.example.com/page.html" />
  <link rel="alternate" hreflang="x-default"
        href="http://www.example.com/" />
</head>

 

En-têtes HTTP

Vous pouvez renvoyer un en-tête HTTP avec la réponse GET de votre page pour indiquer à Google toutes ses variantes linguistiques et régionales. Cette option est utile pour les fichiers non HTML (comme les fichiers PDF).

Voici le format de l'en-tête :

Link: <url1>; rel="alternate"; hreflang="code_de_langue_1", <url2>; rel="alternate"; hreflang="code_de_langue_2", ...

<url_x>
URL complète de la variante de page correspondant à la chaîne de paramètres régionaux affectée à l'attribut hreflang associé. L'URL doit être délimitée par les signes < et >. Exemple : <https://www.google.com>.
code_de_langue_x
Code de langue ou de région ciblé par cette version de la page, ou attribut x-default pour indiquer toutes les langues qui ne sont pas répertoriées explicitement par une balise hreflang sur la page.

Vous devez spécifier un ensemble de valeurs <url>, rel="alternate" et hreflang pour chaque version de la page, y compris la version demandée, en veillant à les séparer par une virgule (cf. exemple ci-dessous). L'en-tête "Link:" affiché pour chaque version d'une page est identique. Consultez les consignes supplémentaires.

Exemple

Voici un exemple d'en-tête Link: affiché par un site incluant trois versions d'un fichier PDF : une pour les anglophones, une pour les Suisses allemands et une pour tous les autres germanophones.

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

 

Sitemap

Vous pouvez utiliser un sitemap afin d'indiquer à Google toutes les variantes linguistiques et régionales pour chaque URL. Pour ce faire, ajoutez un élément <loc> spécifiant une seule URL, avec des entrées <xhtml:link> enfant répertoriant toutes les variantes linguistiques et régionales de la page, y compris la page d'origine elle-même. Par conséquent, si vous proposez trois versions d'une page, le sitemap comportera trois entrées, chacune avec trois entrées enfant identiques.

Règles relatives aux sitemaps :

  • Spécifiez l'espace de noms xhtml comme suit :
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Créez un élément <url> distinct pour chaque URL.
  • Chaque élément <url> doit inclure une entrée enfant <loc> indiquant l'URL de la page.
  • Chaque élément <url> doit inclure un élément enfant <xhtml:link rel="alternate" hreflang="code_de_langue_accepté"> répertoriant toutes les variantes de la page, y compris la page elle-même.  L'ordre de ces éléments <xhtml:link> enfant n'a pas d'importance. Toutefois, il est conseillé de les conserver dans le même ordre pour faciliter leur vérification.
  • Consultez les consignes supplémentaires.

Exemple

Voici un exemple d'URL possibles pour une page en anglais destinée aux anglophones du monde entier, avec une variante destinée aux germanophones et une autre variante pour les Suisses allemands :

  • www.example.com/english/page.html pour les anglophones
  • www.example.com/deutsch/page.html pour les germanophones
  • www.example.com/schweiz-deutsch/page.html pour les germanophones de Suisse

Voici le sitemap de ces trois pages :

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

Consignes applicables à toutes les méthodes

  • Chaque version linguistique doit se référencer elle-même et indiquer aussi toutes les autres versions linguistiques de la page.
  • Les URL des variantes doivent être complètes et doivent mentionner le mode de transport (http ou https).
     Autrement dit, les URL comme https://example.com/foo sont acceptées, mais pas //example.com/foo ni /foo.
  • Le domaine associé aux URL des variantes ne doit pas nécessairement être le même. 
  • Si vous utilisez plusieurs URL de variantes ciblant des internautes parlant la même langue, mais situés dans des régions différentes, il est également recommandé de fournir une URL collectrice pour ceux dont la zone géographique n'est pas spécifiée. Par exemple, vous pouvez définir plusieurs URL qui ciblent les internautes francophones de Belgique (fr-be), du Canada (fr-ca) et de la Suisse (fr-ch), mais nous vous conseillons de fournir également une page générique en français (fr) pour les internautes situés en France et dans toutes les autres régions francophones. Si vous le souhaitez, vous pouvez utiliser l'une des pages ciblant déjà une variante linguistique.
  • Si deux pages ne redirigent pas l'une vers l'autre, les balises sont ignorées. Cette précaution a pour objectif d'empêcher le propriétaire d'un autre site de créer arbitrairement une balise indiquant qu'il s'agit d'une variante de l'une de vos pages alors que ce n'est pas le cas.
  • S'il devient difficile de gérer un ensemble complet de liens bidirectionnels pour chaque langue, vous pouvez omettre certaines langues sur certaines pages. Nous traiterons tout de même celles qui renvoient les unes vers les autres. Cependant, il est important de créer des liens bidirectionnels entre les pages proposées dans des nouvelles langues et la langue d'origine ou principale. Par exemple, si votre site a été à l'origine créé en français, avec des URL en .fr, il est plus important de lier de manière bidirectionnelle les pages mexicaines (.mx) et espagnoles (.es) plus récentes à votre présence déjà établie en .fr que de créer un lien bidirectionnel entre les nouvelles variantes espagnoles (.mx et .es) de vos pages.
  • Envisagez d'ajouter une page de substitution pour les langues sans correspondance, notamment pour les outils de sélection de la langue ou du pays, ou pour les pages d'accueil redirigeant automatiquement l'internaute. Utilisez la valeur x-default :
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

Codes de langue et de région acceptés

La valeur de l'attribut hreflang permet d'indiquer la langue (au format ISO 639-1) ainsi que la région (facultatif, au format ISO 3166-1 Alpha 2) d'une autre version de l'URL. Exemple :

  • de : contenu en allemand, quelle que soit la région
  • en-GB : contenu en anglais destiné aux internautes situés au Royaume-Uni
  • de-ES : contenu en allemand destiné aux internautes situés en Espagne

N'utilisez pas un code pays seul. Nous ne sommes pas en mesure de déterminer automatiquement la langue à partir d'un code pays uniquement. Si vous souhaitez simplifier le balisage, utilisez un code de langue seul.  Vous pouvez également ajouter le code pays après la langue pour restreindre l'affichage de la page à une région en particulier.  Exemples :

  • be : biélorusse quelle que soit la région, et non français de Belgique ;
  • nl-be : néerlandais pour la Belgique ;
  • fr-be : français pour la Belgique. 

Dans le cas des variantes linguistiques, le script adéquat est déterminé en fonction du pays. Par exemple, avec le code zh-TW ciblant les internautes situés à Taïwan, le script correspond automatiquement au chinois traditionnel. Vous pouvez également spécifier explicitement le script au format ISO 15924, comme suit :

  • zh-Hant : chinois (traditionnel)
  • zh-Hans : chinois (simplifié)

Il est possible de combiner un script et une région. Par exemple, le code zh-Hans-TW désigne les internautes de Taïwan qui parlent le chinois simplifié.

Utiliser la balise x-default pour les langues sans correspondance

La valeur réservée hreflang="x-default" est utilisée quand aucune autre langue ou région ne correspond aux paramètres de navigateur de l'utilisateur. Bien que cette valeur soit facultative, nous vous recommandons de la spécifier afin de déterminer la page à afficher dans ce cas de figure. Il peut être intéressant de cibler la page d'accueil de votre site et d'y inclure une carte cliquable permettant aux internautes de sélectionner leur pays.

Dépannage

Erreurs fréquentes

Voici les erreurs fréquentes liées à l'utilisation de l'attribut hreflang :

  • Liens de renvoi manquants : si la page X renvoie vers la page Y, cette dernière doit également renvoyer vers la page X. Si ce n'est pas le cas pour toutes les pages qui utilisent des annotations "hreflang", ces annotations peuvent être ignorées ou mal interprétées.
  • Codes de langue incorrects : assurez-vous que tous les codes de langue que vous utilisez indiquent la langue (au format ISO 639-1) ainsi que la région (facultatif, au format ISO 3166-1 Alpha 2) d'une autre version de l'URL. Indiquer simplement la région n'est pas suffisant.

Corriger les erreurs liées à l'attribut hreflang

Reportez-vous au Rapport sur le ciblage international pour corriger les erreurs fréquentes. Assurez-vous que vos pages ont été explorées par Google, puis cliquez sur l'onglet Langue du rapport pour voir si des erreurs ont été détectées.

De nombreux outils tiers sont également disponibles, tels que les outils populaires proposés ci-dessous. Sachez toutefois qu'ils ne sont ni gérés, ni vérifiés par Google.

Cet article vous a-t-il été utile ?
Comment pouvons-nous l'améliorer ?