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
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.
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.
« 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
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.
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 :
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.
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.