¿Es que no hay URLs ?page=… en los sitemaps predeterminados por diseño?
Todas estas URLs ?page=… son URLs canónicas y, por lo tanto, deberían añadirse al sitemap predeterminado, por ejemplo:
Puedo implementar una solución fácil que no es muy específica sobre la fecha de la última edición: por ejemplo, todas las páginas de un tema usarán la misma fecha de la última publicación editada.
Por lo tanto, en una nueva publicación de un tema (con muchas publicaciones y muchas páginas), todas las páginas obtendrán una nueva fecha de última modificación, incluso cuando solo la última página necesite la nueva fecha.
¿Es esta una solución factible?
De lo contrario, necesitamos agrupar todas las publicaciones de un tema en paquetes de 20 publicaciones (por página). Y luego calcular la fecha de la última modificación para cada paquete.
Honestamente, miré esto y estoy indeciso sobre cualquier cambio aquí, el problema no es que Google tenga problemas para descubrir contenido en los foros de Discourse.
Es que está descubriendo, rastreando y luego, debido a una “toma de decisiones arbitraria”, decide que el contenido no pertenece al índice.
En el lado positivo de añadir todas estas URLs canónicas ?page=… al sitemap:
Le da a Google una fuerte indicación sobre \u003clastmod\u003e para estas URLs. Por lo tanto, Google no tiene motivos para volver a rastrear URLs ?page=… sin cambios y podría utilizar su valioso presupuesto de rastreo para URLs más importantes.
Si las URLs ?page=… faltan en el sitemap, Google las encuentra de todos modos y realiza un rastreo “arbitrario”, incluso si es totalmente innecesario, ya que no hay cambios nuevos en el contenido.
“Un sitemap es una forma importante para que Google descubra URLs en tu sitio.” ver
“Google elige la página canónica basándose en varios factores (o señales), como […], la presencia de la URL en un sitemap, […].” ver
“El uso de un sitemap no garantiza que todos los elementos de tu sitemap se rastreen e indexen, ya que los procesos de Google se basan en algoritmos complejos para programar el rastreo.” ver
Esto es algo que @Roman debe tener en cuenta al integrarlo en el núcleo.
Prefiero fusionar primero el sitemap antes de aplicar más cambios, pero una vez hecho eso… quizás podamos empezar con URLs basadas en páginas canónicas en _recent. Ahora tenemos URL canónicas que se pueden usar en posts.rss con un almacenamiento en caché adecuado, también se pueden usar en sitemaps.
Tengo problemas con Google Search Console al intentar indexar URL como https://example.com/t/title-slug/1234?page=3, que hacen que Discourse devuelva un 404. Eliminar el parámetro ?page=x hace que la URL sea válida.
Supongo que esto es algún tipo de efecto secundario de Discourse al añadir paginación a la versión del sitio que sirve a los rastreadores:
Hola Sam, gracias por la respuesta. Después de publicar esto, encontré tu explicación aquí:
Pero en mi caso, no, los temas con este problema que he examinado no muestran ninguna modificación en el hilo original. Lo único es que fueron importados de Drupal. Pero necesito investigar más sobre otros ejemplos para ver si también se ven afectados los temas que se crearon originalmente en Discourse, porque desafortunadamente hay toneladas de ellos, probablemente miles.
Sí, cerca de 100 mil temas y ~2 millones de publicaciones. No estoy seguro si este problema es solo con los temas importados, pero volveré a publicar aquí pronto si encuentro más anomalías.