Plugin Sitemap - pas d'URL ?page=… dans le sitemap par défaut

Le plugin sitemap n’inclut aucune URL ?page=… dans les sitemaps par défaut, par exemple https://meta.discourse.org/sitemap_4.xml

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810
  </loc>
  <lastmod>2022-02-25T21:55:40Z</lastmod>
</url>

Dans le sitemap récent, les URL de pagination sont incluses - par exemple https://meta.discourse.org/sitemap_recent.xml

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810?page=18
  </loc>
  <lastmod>2022-03-07T12:03:50Z</lastmod>
</url>

Il n’y a pas d’URL ?page=… dans les sitemaps par défaut par conception ?
Toutes ces URL ?page=… sont des URL canoniques et devraient donc être ajoutées au sitemap par défaut - par exemple

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810
  </loc>
  <lastmod>2022-02-25T21:55:40Z</lastmod>
</url>
<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810?page=2
  </loc>
  <lastmod>2022-03-02T19:08:07Z</lastmod>
</url>

[...]

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810?page=18
  </loc>
  <lastmod>2022-03-07T12:03:50Z</lastmod>
</url>

sources

2 « J'aime »

Je ne pense pas que ce soit intentionnel, pouvez-vous faire une PR pour corriger ?

Merci @rrit, il y a quelques mois j’avais remarqué ça aussi mais j’avais toujours pensé que c’était normal :man_facepalming:t2:

Je peux implémenter une solution simple qui n’est pas très spécifique à la date de dernière modification : par exemple, toutes les pages d’un sujet utiliseront la même date du dernier article modifié.
Ainsi, lors de la publication d’un nouvel article dans un sujet (avec de nombreux articles et de nombreuses pages), toutes les pages obtiendront une nouvelle date de dernière modification, même si seule la dernière page a besoin de la nouvelle date.

Est-ce une solution réalisable ?


Sinon, nous devons regrouper tous les articles d’un sujet par paquets de 20 articles (par page). Et ensuite calculer la date de dernière modification pour chaque paquet lui-même.

Honnêtement, j’ai examiné cela et je suis partagé quant à tout changement ici, le problème n’est pas que Google a du mal à découvrir du contenu sur les forums Discourse.

C’est qu’il découvre, explore et ensuite, en raison d’une « prise de décision arbitraire », décide que le contenu n’appartient pas à l’index.

1 « J'aime »

« Prise de décision arbitraire » implique-t-elle l’un de ces points :
(Voir Page indexing report - Search Console Help)


Avantage d’ajouter toutes ces URL canoniques ?page=… au sitemap :
Cela donne à Google un indice fort sur \u003clastmod\u003e pour ces URL. Ainsi, Google n’a aucune raison de ré-explorer les URL ?page=… inchangées et pourrait utiliser son précieux budget d’exploration pour des URL plus importantes.

Si les URL ?page=… sont manquantes dans le sitemap, Google les trouve quand même et effectue une ré-exploration « arbitraire » - même si c’est totalement inutile car il n’y a pas de nouveaux changements dans le contenu.

Voir Build and Submit a Sitemap | Google Search Central  |  Documentation  |  Google for Developers


Google garde vraiment une trace et fait une différence quant à l’origine de sa connaissance des URL :
« Toutes les pages soumises » (sitemap) ou « Toutes les pages connues » (liens, etc.)
Voir Google Search Console –\u003e Index –\u003e Rapport de couverture

  • « Un sitemap est un moyen important pour Google de découvrir des URL sur votre site. » voir
  • « Google choisit la page canonique en fonction d’un certain nombre de facteurs (ou signaux), tels que […], la présence de l’URL dans un sitemap, […]. » voir
  • « L’utilisation d’un sitemap ne garantit pas que tous les éléments de votre sitemap seront explorés et indexés, car les processus de Google reposent sur des algorithmes complexes pour planifier l’exploration. » voir
1 « J'aime »

J’espère que cela sera implémenté en même temps que ceci :slight_smile:

2 « J'aime »

C’est certainement quelque chose que @Roman devra garder à l’esprit lorsqu’il intégrera cela au cœur du système.

Je préfère de loin fusionner d’abord le sitemap avant d’ajouter d’autres modifications, mais une fois que cela sera fait… peut-être pourrons-nous commencer avec des URL basées sur des pages canoniques sur _recent. Nous avons maintenant une URL canonique qui est utilisable dans posts.rss avec une mise en cache adéquate, elle peut également être utilisable dans les sitemaps.

3 « J'aime »

J’ai des problèmes avec la Google Search Console qui essaie d’indexer des URL comme https://example.com/t/title-slug/1234?page=3, ce qui fait que Discourse renvoie une erreur 404. La suppression du paramètre ?page=x rend l’URL valide.

Je suppose qu’il s’agit d’un effet secondaire de Discourse qui ajoute la pagination à la version du site qu’il sert aux robots d’exploration :

les URL de page fonctionnent bien, il vous suffit d’avoir plus que N publications.

Avez-vous par hasard une tonne de publications supprimées sur ledit sujet ?

Salut Sam, merci pour ta réponse. Après avoir posté ceci, j’ai trouvé ton explication ici :

Mais dans mon cas, non, les sujets avec ce problème que j’ai examinés ne montrent aucune modification au fil de discussion d’origine. La seule chose est qu’ils ont été importés de Drupal. Mais je dois creuser davantage d’autres exemples pour voir si des sujets qui ont été initialement créés dans Discourse sont également affectés, car malheureusement, il y en a des tonnes, probablement des milliers.

1 « J'aime »

Oups, est-ce que des tonnes ont été importées de Drupal ? Est-ce le point commun ici ?

Ouais, près de 100 000 sujets et environ 2 millions de messages. Je ne suis pas sûr si ce problème ne concerne que les sujets importés, je reviendrai bientôt ici si je trouve d’autres anomalies.

1 « J'aime »