¿Cómo manejan los crawlers de IA el scroll infinito? Nuestro contenido no está siendo indexado

Discussion Technical SEO AI Crawlers
FM
FrontendDev_Marcus
Desarrollador Frontend · 19 de diciembre de 2025

Construimos un sitio moderno en React con scroll infinito para nuestro blog. Gran experiencia de usuario, pero nuestro contenido no aparece en las respuestas de IA en absoluto.

Google lo indexa bien (tras trabajar con SSR). Pero las plataformas de IA parecen omitir la mayor parte de nuestro contenido.

Nuestra configuración:

  • SPA de React con scroll infinito
  • SSR para la carga inicial de la página
  • El contenido adicional se carga vía JavaScript al hacer scroll
  • Más de 500 publicaciones, solo ~50 parecen accesibles para IA

Preguntas:

  • ¿Los crawlers de IA ejecutan JavaScript?
  • ¿El scroll infinito es fundamentalmente incompatible con la visibilidad en IA?
  • ¿Cuál es el mejor enfoque técnico para la accesibilidad de crawlers de IA?
  • ¿Deberíamos rehacer la paginación por completo?

¿Algún desarrollador frontend ha lidiado con esto?

10 comments

10 comentarios

CE
CrawlerTech_Expert Expert Consultor SEO Técnico · 19 de diciembre de 2025

Déjame desglosar cómo diferentes crawlers de IA manejan JavaScript:

Soporte de JavaScript en crawlers de IA:

CrawlerRenderizado JSSimulación de scrollTiempo de espera
GPTBotLimitado/NuloNoMínimo
Google-ExtendedBueno (como Googlebot)NoEstándar
ClaudeBotLimitadoNoMínimo
PerplexityBotVariableNoLimitado
Common CrawlNingunoNoNinguno

El problema principal:

El scroll infinito requiere:

  1. Ejecución de JavaScript
  2. Disparar eventos de scroll
  3. Solicitudes HTTP adicionales
  4. Renderizado del nuevo contenido

La mayoría de los crawlers de IA fallan en el paso 1 o 2.

Por qué SSR no es suficiente:

Tu SSR sirve solo la página inicial. Pero el contenido de scroll infinito no es “inicial”: se carga con interacción. SSR no resuelve la dependencia de la interacción.

El problema fundamental:

El scroll infinito es fundamentalmente incompatible con las capacidades actuales de los crawlers de IA. Necesitas un enfoque alternativo.

FM
FrontendDev_Marcus OP · 19 de diciembre de 2025
Replying to CrawlerTech_Expert
¿Entonces básicamente tenemos que rehacerlo? ¿Cuál es el enfoque recomendado?
CE
CrawlerTech_Expert Expert · 19 de diciembre de 2025
Replying to FrontendDev_Marcus

Enfoques recomendados (ordenados por amigabilidad para IA):

Opción 1: Paginación tradicional (la más amigable para IA)

/blog/page/1
/blog/page/2
/blog/page/3
  • Cada página tiene su propia URL
  • Contenido en el HTML inicial
  • El sitemap incluye todas las páginas
  • Los crawlers de IA pueden acceder a todo

Opción 2: Enfoque híbrido

  • Scroll infinito para usuarios
  • PERO también proveer URLs paginadas
  • El sitemap apunta a las versiones paginadas
  • Usar canonical para evitar duplicados
<!-- Página con scroll infinito -->
<link rel="canonical" href="/blog/page/1" />

<!-- Paginación siempre disponible -->
<nav>
  <a href="/blog/page/1">1</a>
  <a href="/blog/page/2">2</a>
</nav>

Opción 3: Prerender para crawlers de IA

  • Detectar user agents de IA
  • Servir HTML prerenderizado
  • Todo el contenido en la respuesta inicial

Cada opción tiene sus ventajas y desventajas. La Opción 1 es la más simple y confiable para IA. La Opción 2 preserva tu UX mientras añade accesibilidad para IA.

RS
ReactDev_Sarah Desarrolladora React · 19 de diciembre de 2025

Pasamos exactamente por este problema. Aquí está nuestra solución:

Implementación del enfoque híbrido:

// Estructura de URLs
/blog              // Scroll infinito (por defecto para usuarios)
/blog/archive/1    // Paginado (accesible para crawlers)
/blog/archive/2

Detalles clave de implementación:

  1. El sitemap solo incluye URLs paginadas

    • Los crawlers de IA encuentran las páginas /blog/archive/*
    • Estas renderizan todo el contenido del lado del servidor
  2. La página de scroll infinito carga el mismo contenido

    • Usa la API de paginación internamente
    • Mejor UX para humanos
  3. Los enlaces internos apuntan a artículos individuales

    • No a la posición de scroll infinito
    • Cada artículo tiene su propia URL
  4. Guía en robots.txt:

# Permitir a los crawlers enfocarse en los artículos individuales
# No en el contenedor de scroll infinito
Sitemap: /sitemap.xml

Resultados:

  • Experiencia de usuario intacta (scroll infinito)
  • Crawlers de IA acceden a todo el contenido vía páginas de archivo
  • Todos los artículos individuales indexados
  • La tasa de citación aumentó 4 veces después de la implementación
NK
NextJSDev_Kevin · 18 de diciembre de 2025

Enfoque específico para Next.js:

Usando getStaticPaths + getStaticProps:

// pages/blog/page/[page].js
export async function getStaticPaths() {
  const totalPages = await getTotalPages();
  const paths = Array.from({ length: totalPages }, (_, i) => ({
    params: { page: String(i + 1) }
  }));
  return { paths, fallback: false };
}

export async function getStaticProps({ params }) {
  const posts = await getPostsForPage(params.page);
  return { props: { posts, page: params.page } };
}

Ventajas:

  • Páginas estáticas para cada paginación
  • Todo el contenido en el HTML en tiempo de build
  • Los crawlers de IA reciben el contenido completo
  • Carga rápida (estático)

Luego agrega scroll infinito como mejora:

  • El scroll infinito del lado cliente usa la misma API
  • Enfoque de mejora progresiva
  • Funciona también sin JS

Esto te da lo mejor de ambos mundos.

PS
Prerender_Specialist Expert · 18 de diciembre de 2025

Agregando el prerenderizado como opción:

Servicios de prerender para crawlers de IA:

Puedes detectar los user agents de crawlers de IA y servir contenido prerenderizado:

// middleware
if (isAICrawler(req.headers['user-agent'])) {
  return servePrerenderedVersion(req.url);
}

Detección de crawlers de IA:

const aiCrawlers = [
  'GPTBot',
  'ChatGPT-User',
  'Google-Extended',
  'ClaudeBot',
  'PerplexityBot',
  'anthropic-ai'
];

function isAICrawler(userAgent) {
  return aiCrawlers.some(crawler =>
    userAgent.includes(crawler)
  );
}

Opciones de prerender:

  • Prerender.io
  • Rendertron
  • Solución personalizada basada en Puppeteer
  • Prerenderizado en tiempo de build

Precaución:

No todos los crawlers de IA se identifican claramente. Algunos pueden no ser detectados. Este es un enfoque complementario, no un reemplazo de una paginación adecuada.

SL
SEODevOps_Lisa · 18 de diciembre de 2025

Metodología de pruebas para accesibilidad de crawlers de IA:

Pruebas manuales:

  1. Prueba desactivando JavaScript:

    • Abre tu blog en el navegador
    • Desactiva JavaScript
    • ¿Qué contenido es visible?
    • Esto aproxima la vista de un crawler sin JS
  2. Prueba de ver el código fuente:

    • Ver el código fuente de la página (no inspeccionar elemento)
    • ¿Tu contenido está en el HTML?
    • ¿O solo hay marcadores de JavaScript?
  3. Prueba con curl:

    curl -A "GPTBot/1.0" https://yoursite.com/blog/
    
    • ¿La respuesta incluye contenido real?

Pruebas automáticas:

  1. Google Search Console:

    • Herramienta de Inspección de URLs
    • “Ver página renderizada” muestra lo que ve Googlebot
    • (No crawlers de IA, pero renderizado JS similar)
  2. Auditoría Lighthouse:

    • Revisa la categoría “SEO”
    • Se señalarán problemas de rastreo

Lo que debes observar:

  • Contenido en la respuesta HTML inicial
  • Enlaces a todas las páginas descubribles
  • No se requiere JS para la visibilidad del contenido
E
EcommerceDevSEO · 17 de diciembre de 2025

Perspectiva e-commerce:

Tenemos más de 10.000 productos con funcionalidad de “cargar más”. Nuestra solución fue:

Estructura de página de categoría:

/category/shoes                    # Primeros 24 productos + cargar más
/category/shoes?page=2            # Productos 25-48
/category/shoes?page=3            # Productos 49-72

Implementación:

  1. La página inicial siempre tiene enlaces de paginación

    • Incluso con scroll infinito habilitado
    • El pie de página contiene enlaces a página 1, 2, 3…
  2. Los parámetros ?page= son canónicos

    • Cada página tiene su propio contenido
    • No es duplicado de la página principal
  3. El sitemap incluye todas las URLs paginadas

    • No solo la URL base del scroll infinito
  4. Los productos tienen URLs individuales

    • La paginación de categoría es para descubrimiento
    • Los productos son el contenido real

Resultado:

Las plataformas de IA citan nuestras páginas de productos individuales, que descubren gracias a la estructura de categoría paginada.

FM
FrontendDev_Marcus OP Desarrollador Frontend · 17 de diciembre de 2025

Esto ha sido increíblemente útil. Aquí está mi plan de implementación:

Enfoque: paginación híbrida

Fase 1: Agregar rutas paginadas (Semana 1-2)

  • Crear rutas /blog/archive/[page]
  • SSR para contenido completo en HTML
  • Incluir navegación de paginación
  • Actualizar el sitemap para incluir estas

Fase 2: Actualizar scroll infinito existente (Semana 3)

  • Mantener scroll infinito en /blog
  • Usar páginas de archivo como fuente de datos
  • Canonical de /blog a /blog/archive/1

Fase 3: Pruebas y validación (Semana 4)

  • Probar con JS desactivado
  • Pruebas curl para user agents de IA
  • Monitorear tasas de citación en IA

Implementación técnica:

/blog                 → Scroll infinito (humanos, canonical a archive/1)
/blog/archive/1       → Paginado (crawlers, canonical a sí mismo)
/blog/archive/2       → Paginado (crawlers)
/blog/[slug]          → Artículos individuales (contenido principal)

Principios clave:

  • Contenido accesible sin JavaScript
  • Cada pieza de contenido tiene una URL directa
  • El sitemap incluye todas las páginas de contenido
  • El scroll infinito es una mejora, no un requisito

Gracias a todos por la detallada orientación técnica.

Preguntas frecuentes

¿Pueden los crawlers de IA manejar el contenido con scroll infinito?

La mayoría de los crawlers de IA tienen capacidades limitadas de renderizado de JavaScript. El contenido que requiere interacción del usuario (scroll) para cargarse suele ser invisible para los sistemas de IA. Se recomienda el renderizado del lado del servidor o enfoques híbridos.

¿Cuál es el mejor enfoque de paginación para los crawlers de IA?

La paginación tradicional con URLs distintas para cada página es la más amigable para IA. Cada página debe ser accesible vía URL directa, estar incluida en el sitemap y no requerir JavaScript para mostrar el contenido.

¿Los crawlers de IA renderizan JavaScript?

El renderizado de JavaScript por crawlers de IA varía significativamente. GPTBot tiene capacidades JS limitadas. Algunos crawlers solo ven el HTML inicial. Para visibilidad en IA, el contenido crítico debe estar en la respuesta inicial del servidor, no cargado por JavaScript.

¿Cómo puedo probar si los crawlers de IA pueden acceder a mi contenido?

Desactiva JavaScript y visualiza tu página; esto aproxima lo que ven muchos crawlers de IA. Además, revisa el robots.txt para asegurar que los crawlers de IA no estén bloqueados y verifica que el contenido aparezca en el HTML fuente inicial.

Monitorea la visibilidad de tu contenido en IA

Supervisa qué páginas están siendo descubiertas y citadas por plataformas de IA. Identifica problemas de rastreo que afectan tu visibilidad.

Saber más