Estamos observando que un gran número de URLs de enlaces permanentes de temas y de paginación caen en la categoría “Rastreadas - actualmente no indexadas” de Google Search Console (aproximadamente 35.000 URLs en un foro importado de unos 20 años de antigüedad, versión de Discourse v2026.9.0-latest, autoalojado).
Lo que hemos encontrado:
Discourse sirve enlaces de paginación ?page=N a los rastreadores para temas largos (ya que la interfaz real utiliza desplazamiento infinito). Cuando un cliente con capacidad para JavaScript (incluido el renderizador de Googlebot) carga una de estas URLs ?page=N, Discourse emite una redirección del lado del cliente hacia /t/slug//<post_number>.
Reproducción:
- Obtener una URL de tema en frío, con cualquier sufijo de número de publicación o ?page=:
GET /t///14 →
GET /t// → mismo canónico
GET /t///1 → mismo canónico
GET /t//?page=127 → (autoreferente, NO normalizado) - Cargar el sitio de forma normal (con JS activado) y navegar, a través del router de Ember, a una URL que incluya un sufijo de número de publicación (por ejemplo, haciendo clic en un enlace de “ir al primer mensaje no leído” desde Temas Sugeridos). Una vez que la transición de la SPA se completa, document.querySelector(‘link[rel=canonical]’).href es igual a la URL actual con número de publicación; no apunta de vuelta al tema base.
Esto contradice la intención de diseño declarada por el propio Discourse. En este hilo de 2015, @sam fue explícito:
▎ Temas: el canónico debe apuntar al tema base para evitar que las páginas de publicaciones individuales aparezcan como resultados de búsqueda discretos.
▎ Páginas de categoría/listado: se eliminó el canónico por completo, ya que los listados paginados no son duplicados según la propia guía de Google.
Lo que estamos viendo hoy rompe eso de dos maneras:
- Un tema con ?page=N (paginación del rastreador) tiene la URL paginada en el HTML del servidor en bruto, en lugar del tema base, a pesar de que los temas (a diferencia de las listas de categorías) debían explícitamente colapsarse siempre a la URL base.
- Después de la redirección del lado del cliente de ?page=N a /t/slug/id/<post_number>, el canónico del DOM renderizado también permanece en esa URL con número de publicación en lugar de restablecerse al tema base.
Ambos parecen ser regresiones respecto al objetivo de diseño de 2015, no un comportamiento actual intencional.
Por qué esto importa para la indexación: Google utiliza el DOM renderizado para la señal de canónico. Cualquier URL con sufijo de número de publicación/página a la que Google acceda directamente —ya sea a través de la función “enlace para compartir la publicación” (muy utilizada en nuestro foro vía WhatsApp/Discord), a través de backlinks externos antiguos (estamos mapeando los enlaces permanentes ?p= de vBulletin heredados a URLs con número de publicación), o a través del propio rastreador— declara su propio canónico en lugar de consolidarse en el tema base. En Search Console, esto aparece como miles de URLs casi duplicadas atascadas en “rastreadas - no indexadas”.
Muestra de URLs afectadas de nuestro informe de GSC (todas rastreadas por última vez a principios de septiembre de 2026):
/t/tengo-que-pasar-la-itv/21100/10
/t/new-honda-nsx-proyect/4910/69
/t/hacer-tubo-recto-sin-silencioso-del-catalizador-hacia-atras/25579/25
/t/kedada-japo-en-cataluna-2014/28148/75
/t/el-diario-de-patricio-de-la-plana/13286?p
Pregunta para el equipo: dado que esto lleva más de 10 años así, ¿cambió algo desde entonces que haga que el canónico autoreferente en estas URLs sea intencional ahora? ¿O vale la pena reexaminarlo como una regresión? Estoy dispuesto a proporcionar archivos HAR o más ejemplos de reproducción si es útil.