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.)
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).