J'ai un site Web multilingue comme celui-ci:
example.com/de/about
example.com/fr/about
example.com/about (English)
J'ai décidé de mettre les éléments de lien hreflang dans le <head>
de chaque fichier. Maintenant, je me demande s'il suffit de mettre l'URL anglaise par défaut dans le sitemap comme ceci:
<url>
<loc>example.com/about</loc>
</url>
ou dois-je mettre chaque version linguistique dans le sitemap:
<url>
<loc>example.com/de/about</loc>
</url>
<url>
<loc>example.com/fr/about</loc>
</url>
<url>
<loc>example.com/about</loc>
</url>
Où que vous mettiez le hreflang est bon, vous devez utiliser une seule des méthodes ci-dessus. Trouvez les méthodes suggérées par Google ici: Informez Google des versions localisées de votre page
Méthodes pour indiquer vos pages de remplacement Il existe trois façons d'indiquer à Google plusieurs versions d'une même langue ou de plusieurs paramètres régionaux:
- Balises HTML
- En-têtes HTTP
- Plan du site
D'après mon expérience personnelle, je suggérerais d'utiliser la méthode de la tête
Sitemap:
Avantages: Plus de contrôle sur les pages qui ont une langue alternative Configuration facile (exploration et définition)
Inconvénients: mise à jour mensuelle
Tête:
Avantages: le processus peut être automatisé à l'aide d'une variété de plug-ins et de scripts
Inconvénients: vous pouvez facilement avoir des problèmes hreflang sur des pages sans autre langue (sauf si c'est fait manuellement, ignorer ceci)
Remarque: je ne suis pas vraiment sûr de ce qui se passera si vous conservez les deux, mais je trouve cela inutile, simple et sain pour éviter les erreurs et, éventuellement, ignorer votre hreflang sur Google.
Exemples
Utilisation de hreflang sur un sitemap.
Sitemap devrait ressembler à ceci:
<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>
L'en-tête ne devrait pas inclure hreflang car nous l'avons sur le sitemap.
<head> no hreflang </head>
Utiliser hreflang sur l'en-tête
Sitemap devrait ressembler à ceci
<url>
<loc>http://www.example.com/english/page.html</loc>
</url>
L'en-tête devrait ressembler à ceci:
<link rel="alternate" href="http://www.example.com/deutsch/page.html" hreflang="de">
<link rel="alternate" href="http://www.example.com/schweiz-deutsch/page.html" hreflang="de-ch">
<link rel="alternate" href="http://www.example.com/english/page.html" hreflang="en">
<link rel="alternate" href="http://www.example.com/english/page.html" hreflang="x-default">
Vous devez spécifier chaque URL spécifique à la langue dans votre sitemap. Google a publié un article sur sa page webmasters que vous pouvez vérifier. Il contient une section spécifique consacrée aux sitemaps et aux versions localisées de votre site, avec un exemple détaillé. Dans cette section, on lit:
Vous pouvez utiliser un plan Sitemap pour indiquer à Google toutes les variantes de langue et de région pour chaque URL. Pour ce faire, ajoutez un élément spécifiant une URL unique, avec des entrées enfants répertoriant toutes les variantes de langue/paramètres régionaux de la page, y compris la personne elle-même. Par conséquent, si vous avez 3 versions d'une page, votre sitemap aura 3 entrées, chacune avec 3 entrées enfants identiques.