web-dev-qa-db-fra.com

"Pas de balises de retour" lors de l'utilisation d'un sitemap XML

Cette question est essentiellement une copie de balises hreflang dans les sitemaps - votre site ne contient pas de balises hreflang , qui n'a pas reçu de réponse. Je me pose donc la question à mon tour.

Je n'utilise pas les balises HREFLANG dans mon code HTML; au lieu de cela, je les mets tous dans un sitemap XML, qui est:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/</loc>
     <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/" />
  </url>
  <url>
    <loc>http://www.example.com/quienessomos/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/quienessomos/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/quienessomos/" />
  </url>
  <url>
    <loc>http://www.example.com/comofunciona/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/comofunciona/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/comofunciona/" />
     <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/comofunciona/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/comofunciona/" />
  </url>
  <url>
    <loc>http://www.example.com/contact/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/contact/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/contact/" />
     <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/contact/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/contact/" />    
  </url>

  <url>
    <loc>http://blog.example.com/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://blog.example.com/en/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://blog.example.com/es/" />    
  </url>

</urlset>

Ce plan du site existe depuis des mois sans problèmes: il y a une semaine, cependant, la console de recherche Google a commencé à m'avertir de la présence d'erreurs "pas de balises de retour". Il dit qu'il y a 4 erreurs dans la version "en":

Il dit ensuite qu'il y a les mêmes 4 erreurs dans la version "fr". Curieusement, la version "de" n'indique qu'une erreur, pour l'URL racine ("/" -> " http://www.example.com/de/ ").

Je comprends l'idée que les balises HREFLANG devraient être bidirectionnelles. Ce que je ne comprends pas, c'est comment implémenter cela lorsque je mets les balises dans un sitemap XML. Devrais-je ajouter de nouvelles entrées telles que les suivantes pour chaque langue et page alternatives ou quoi?

<url>
   <loc>http://www.example.com/en/quienessomos/</loc>
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/quienessomos/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/quienessomos/" />
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/quienessomos/" />
     </url>

  <url>
   <loc>http://www.example.com/fr/quienessomos/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/quienessomos/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/quienessomos/" />
</url>

(etc.)

1
PaulJ

en bref: oui. Votre dernier exemple est correct. Chaque URL de plan de site, qui est <loc>, devrait avoir ses équivalents hreflang (le cas échéant).

2
Evgeniy