web-dev-qa-db-fra.com

Plan du site: meilleures pratiques pour les sites Web multilingues - Dois-je répertorier mes URL dans chaque langue ou est-ce que l'utilisation de rel = «alternatif» + hreflang est suffisante?

Je travaille sur les plans de site d'un site Web multilingue et j'ai un doute sur la meilleure pratique pour référencer chaque version linguistique d'une page.

Pour un peu de fond, le site fait référence à environ 20 000 lieux avec des commentaires de la communauté et des descriptions. Le site est disponible en 5 langues (website.com/fr; website.com/it ...)

Pour le moment, mon plan du site ne fait référence qu'aux pages en anglais et dans le plan du site pour chaque page, je précise <xhtml:link rel="alternate" hreflang="en" href="URL"/> pour chaque langue (ainsi que l'anglais) selon les recommandations de Google.

Dans la Google Search Console, je constate qu'environ 75% des pages avec une couverture valide sont décrites comme "indexées, non soumises dans le plan du site", ce qui me fait penser que le lien alternatif avec l'attribut hreflang n'est pas suffisant pour "soumettre" la page pour google pour l'indexer.

Dois-je répertorier les pages dans les 5 langues dans mon plan du site et utiliser également <xhtml:link rel="alternate" hreflang="en"... sur chaque lien?

2
EdouardF

Juste pour commencer une question: avez-vous certaines propriétés de la Search Console pour chaque langue? Sinon - envisagez d'établir.

D'après mon expérience, il devrait suffire d'avoir une configuration telle que vous l'avez - un plan du site avec tous les hreflangs. Mais ces configurations sont assez sujettes aux erreurs. De nombreux facteurs influencent la récupération à 100% des URL de sitemap - il n'est pas possible de diagnostiquer à distance ce problème. Vous pouvez peut-être joindre votre plan du site pour le rendre plus facile.

Mais je vais faire le premier essai. Selon votre question, "Dois-je répertorier les pages dans les 5 langues de mon plan de site", semble-t-il, vous ne répertoriez dans votre plan de site que vos URL anglaises avec les URL hreflang correspondantes. Comme ça:

  <url>
    <loc>http://www.example.com/english/page1.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page1.html"/>
  </url>
  <url>

    <url>
    <loc>http://www.example.com/english/page2.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page2.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page2.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page2.html"/>
  </url>
  <url>

Mais, selon Google, il faut répertorier TOUTES les URL dans ce plan du site - signifie, si vous listez une page en anglais comme <loc></loc> avec l'URL hreflang allemande correspondante, vous devez donc répertorier l'URL allemande comme <loc></loc> aussi, avec l'URL hreflang anglaise correspondante. Donc, si vous avez trois URL de langues différentes, vous devriez avoir dans le plan du site trois <url></url> blocs, comme ceci:

  <url>
    <loc>http://www.example.com/english/page1.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page1.html"/>
  </url>

    <url>
    <loc>http://www.example.com/deutsch/page1.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page1.html"/>
  </url>

    <url>
    <loc>http://www.example.com/schweiz-deutsch/page1.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page1.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page1.html"/>
  </url>
1
Evgeniy