¿Leen los bots de IA el JavaScript? GPTBot y el renderizado
OpenAI no documenta si GPTBot ejecuta JavaScript; Google sí renderiza, pero recomienda HTML de servidor. Qué implica para ChatGPT y AI Mode y cómo comprobarlo.
OpenAI no documenta si GPTBot, OAI-SearchBot o ChatGPT-User ejecutan JavaScript: su página oficial sobre rastreadores explica para qué sirve cada uno, pero no menciona el renderizado. Google sí documenta que Googlebot ejecuta JavaScript con un Chromium sin interfaz, y aun así recomienda el renderizado en servidor porque, según sus propias palabras, no todos los bots pueden ejecutar JavaScript. La regla práctica para salir en ChatGPT, Gemini y Google AI Mode es sencilla: el texto que quieres que una IA lea y cite tiene que estar en el HTML que devuelve tu servidor, antes de que se ejecute ningún script.
Abajo tienes qué documenta cada empresa, qué partes de una web suelen depender de JavaScript, cómo comprobarlo en cinco minutos y qué soluciones técnicas recomienda Google.
Qué significa renderizar una página
Renderizar es convertir el código de una página en el contenido final que ve el usuario. En una web tradicional, el servidor envía el HTML ya completo; en una web construida con JavaScript, el servidor envía una estructura casi vacía y el navegador ejecuta scripts que piden los datos y pintan el texto. Para un bot, la diferencia es decisiva: si no ejecuta esos scripts, solo ve la estructura vacía.
La guía de Google sobre renderizado en la web, escrita por Addy Osmani y Jason Miller y actualizada en enero de 2026, define así las opciones principales:
| Técnica | Qué hace | Qué recibe un bot que no ejecuta JavaScript |
|---|---|---|
| Renderizado en servidor | El servidor genera el HTML completo en cada petición | El contenido completo |
| Renderizado estático | El HTML de cada URL se genera al publicar (en el momento de compilar la web) | El contenido completo |
| Prerrenderizado | Se ejecuta la aplicación al compilar y se guarda su estado inicial como HTML estático | El contenido del estado inicial |
| Hidratación | Un HTML ya renderizado en servidor recibe después los scripts que lo hacen interactivo | El contenido completo; la interactividad llega después |
| Renderizado en cliente | El navegador ejecuta JavaScript para construir la página | Solo lo que esté en el HTML inicial, a menudo casi nada |
La misma guía señala que los rastreadores pueden entender JavaScript, pero que a menudo hay limitaciones en cómo lo renderizan, y que el renderizado en cliente puede funcionar para la búsqueda, pero suele exigir más pruebas y trabajo.
Qué documenta cada empresa sobre JavaScript
La respuesta depende del motor. Esto es lo que dicen las fuentes oficiales consultadas en octubre de 2026:
| Motor | Bot o sistema | ¿Documenta que ejecuta JavaScript? | Qué dice la documentación |
|---|---|---|---|
| Google (Búsqueda, AI Overviews, AI Mode) | Googlebot | Sí | Las páginas con código 200 pasan a una cola de renderizado; un Chromium sin interfaz ejecuta el JavaScript y Google indexa el HTML renderizado |
| Gemini (grounding con la Búsqueda) | Índice de Google | Indirectamente | Google-Extended controla el uso del contenido del índice de la Búsqueda que se da al modelo cuando responde; ese índice se construye con lo que rastrea y renderiza Google |
| ChatGPT | GPTBot, OAI-SearchBot, ChatGPT-User | No lo menciona | La página de OpenAI describe la función de cada bot, los rangos de IP y el plazo de unas 24 horas para aplicar cambios de robots.txt, pero no habla de JavaScript |
| Perplexity | PerplexityBot, Perplexity-User | No lo menciona | Su página de rastreadores no trata el renderizado |
Dos conclusiones salen de esta tabla:
- Para Google, el JavaScript bien implementado puede funcionar. Si Googlebot renderiza e indexa tu contenido, esa página cumple el requisito técnico que Google pone para AI Overviews y AI Mode: estar indexada y poder mostrarse con fragmento. Google añade que no hacen falta optimizaciones especiales para esas funciones y que el contenido importante debe estar disponible en forma de texto.
- Para ChatGPT no hay garantía documentada. Sin una declaración de OpenAI, no puedes dar por hecho que sus bots ejecutan JavaScript. Hay mediciones de terceros que circulan en internet; no las usamos aquí porque no son documentación oficial y pueden cambiar con cada versión de los bots. Lo único seguro es servir el contenido en el HTML.
Si quieres repasar qué hace cada bot de OpenAI, Google o Perplexity y cómo permitirlos o bloquearlos, lo tienes en la guía de robots.txt para bots de IA.
Por qué Google también recomienda HTML del servidor
Aunque Googlebot ejecute JavaScript, la guía básica de SEO para JavaScript de Google (actualizada en marzo de 2026) sigue recomendando el renderizado en servidor o el prerrenderizado por dos motivos: hace la web más rápida para usuarios y rastreadores, y no todos los bots pueden ejecutar JavaScript.
Hay además un retraso que conviene tener en cuenta. Google explica que una página puede quedarse en la cola de renderizado unos segundos o más tiempo, y que la fase no siempre es visible. Si tu contenido cambia a menudo, cada cambio que dependa de JavaScript tarda más en llegar al índice que uno que ya está en el HTML.
Qué partes de una web suelen depender de JavaScript
Estas son las piezas que con más frecuencia faltan en el HTML inicial. Revísalas primero, porque coinciden con el contenido que una IA necesita para recomendarte:
- Descripciones de producto y precios que se cargan desde una API después de abrir la página.
- Reseñas y valoraciones mostradas con un widget externo que inserta el texto con un script.
- Pestañas y acordeones cuyo contenido se descarga al hacer clic. Si el texto ya está en el HTML y solo se oculta, el problema no existe; si se pide al servidor con el clic, el bot no lo ve.
- Preguntas frecuentes que se construyen a partir de un archivo de datos en el navegador.
- Listados con desplazamiento infinito o con botón «ver más» que cargan los siguientes elementos por script.
- Menús y enlaces que navegan con eventos de JavaScript en lugar de enlaces normales.
- Títulos, descripciones, etiquetas canónicas y datos estructurados que se añaden o modifican por script.
- Páginas de error en aplicaciones de una sola página que muestran «no encontrado» pero devuelven un código 200.
El patrón común es que la página parece completa en el navegador, pero el HTML que sale del servidor no contiene el texto que importa.
Cómo comprobar qué ve un bot sin ejecutar JavaScript
Esta prueba la puedes hacer tú mismo con cualquier página. No te dice qué hace internamente cada bot, pero sí qué contenido está disponible para un bot que no renderiza.
- Mira el código fuente, no el inspector. En el navegador, abre «Ver código fuente de la página» (Ctrl+U). El inspector de elementos muestra el resultado después de ejecutar JavaScript; el código fuente muestra lo que envió el servidor.
- Busca una frase de tu contenido principal. Elige una frase de la descripción del producto, del primer párrafo del artículo o de una respuesta de tus preguntas frecuentes. Si no está en el código fuente, depende de JavaScript.
- Descarga la página con curl. Desde una terminal:
curl -s https://www.example.com/tu-pagina | grep -i "frase de tu contenido"
Si la orden no devuelve nada, el texto no está en el HTML inicial. Repite la prueba añadiendo -A "GPTBot" para comprobar que tu servidor no devuelve algo distinto cuando el agente de usuario contiene el nombre de un bot.
- Desactiva JavaScript en el navegador y recarga la página. Lo que veas es, en esencia, lo que recibe un bot que no renderiza.
- Para Google, usa la inspección de URLs de Search Console. Muestra el HTML que recibió Googlebot y el resultado del renderizado, y permite pedir un nuevo rastreo.
- Mira tus registros del servidor. Filtra las peticiones de GPTBot, OAI-SearchBot o ChatGPT-User y fíjate en qué archivos piden. Que un bot descargue o no tus archivos JavaScript es una pista sobre su comportamiento en tu web, no una prueba de que los ejecute. Te explicamos cómo filtrarlos en logs del servidor: cómo ver qué bots de IA visitan tu web.
Soluciones según cómo esté hecha tu web
La solución que recomienda Google es que el servidor entregue el contenido ya renderizado. En su documentación sobre renderizado dinámico, Google dice que aquella técnica fue una solución provisional, que ya no la recomienda porque añade complejidad y recursos, y que es mejor usar el renderizado en servidor, el renderizado estático o la hidratación.
| Situación de tu web | Qué hacer | Esfuerzo orientativo |
|---|---|---|
| Web corporativa o blog generado en el navegador | Pasar a renderizado estático: generar el HTML de cada página al publicar | Medio, suele bastar con cambiar la configuración de compilación |
| Tienda o catálogo con datos que cambian a menudo | Renderizado en servidor con hidratación para la parte interactiva | Alto si la web es una aplicación en cliente pura |
| Páginas concretas con widgets externos (reseñas, preguntas frecuentes) | Insertar ese texto en el HTML desde el servidor y dejar el widget solo para la interacción | Bajo o medio |
| Aplicación privada (área de clientes, panel) | Nada: no necesitas que una IA la lea; protégela con autenticación | Ninguno |
| Ya usas renderizado dinámico | Planificar la migración; mientras tanto, asegúrate de que bots y usuarios reciben el mismo contenido | Variable |
Sobre este último punto, Google aclara que en general no considera encubrimiento (mostrar a los buscadores algo distinto de lo que ven los usuarios) el renderizado dinámico, siempre que el contenido sea similar. Servir un contenido completamente distinto a los bots sí puede serlo.
No hace falta rehacer toda la web. Empieza por las plantillas que generan las páginas que quieres que te citen: fichas de producto, categorías, artículos, páginas de precios y páginas de comparación.
Errores técnicos que te dejan fuera aunque el bot renderice
Incluso con un bot que ejecuta JavaScript, como Googlebot, hay fallos documentados por Google que impiden que el contenido llegue al índice:
- Bloquear los archivos JavaScript en robots.txt. Google no renderiza el JavaScript de archivos o páginas bloqueados. Revisa que no tengas reglas
Disallowsobre las carpetas de scripts. - Poner
noindexen el HTML y quitarlo con JavaScript. Cuando Google venoindex, puede saltarse el renderizado, así que el script que lo elimina nunca llega a ejecutarse. Si quieres indexar la página, no incluyasnoindexen el código original. - Navegar sin enlaces reales. Google pide enlaces
<a>con atributohref. Los botones que cambian de página con un evento de JavaScript no se siguen. - Contenido solo accesible desde el buscador interno. La guía de Google para tiendas online advierte de que Googlebot en general no hace búsquedas al rastrear, así que los productos a los que solo se llega por el buscador del sitio pueden quedarse fuera.
- Errores 404 suaves. En una aplicación de una sola página, una URL inexistente puede devolver 200 con un mensaje de error. Google propone redirigir con JavaScript a una URL que devuelva 404 o añadir
noindexen las vistas de error. - Etiqueta canónica contradictoria. Si la defines con JavaScript, debe coincidir con la del HTML original, y solo debe haber una.
Checklist para que las IA lean tu contenido
Ordenada de más a menos impacto:
- Comprueba con el código fuente que el texto principal de tus 20 páginas más importantes está en el HTML inicial.
- Mueve al servidor las descripciones, precios, reseñas y preguntas frecuentes que hoy carga un script.
- Asegúrate de que título, descripción, etiqueta canónica y datos estructurados están en el HTML original. Si quieres profundizar en el marcado, revisa la guía de datos estructurados para la búsqueda con IA.
- Sustituye la navegación por eventos por enlaces
<a href>. - Revisa que robots.txt no bloquea scripts ni hojas de estilo que necesita Googlebot y que permites los bots de búsqueda de IA que te interesan.
- Corrige los 404 suaves de tu aplicación.
- Verifica en Search Console que Google ve el contenido renderizado.
- Repite la prueba con curl cada vez que cambies de plantilla, de tema o de proveedor de comercio electrónico.
Por qué esto influye en que te citen
Que un bot pueda leer tu página es una condición previa, no una garantía. Para que ChatGPT, Gemini o AI Mode te citen, además, tu página tiene que aparecer en las búsquedas que lanza la IA y aportar una respuesta clara. Ese proceso lo explicamos en cómo eligen las IA qué fuentes citar y, para Google, en cómo aparecer en AI Overviews y AI Mode.
Lo que sí puedes medir es el antes y el después. Si migras tus fichas de producto o tus artículos a HTML de servidor, apunta la fecha y sigue durante las semanas siguientes si tu marca empieza a aparecer, o a citarse con más frecuencia, en los prompts (las preguntas que se hacen a la IA) de tu sector. DeepMention, nuestra herramienta, ejecuta cada día los prompts que eliges en ChatGPT, Gemini y Google AI Mode desde tu país y te muestra tu visibilidad, las fuentes que citan esas respuestas y cómo evoluciona frente a la competencia. No cubre Perplexity, Claude ni Copilot. Puedes probarla gratis 7 días o consultar los planes y precios.
Fuentes
- OpenAI, «Overview of OpenAI Crawlers»
- Perplexity, «Perplexity Crawlers»
- Google Search Central, «Understand JavaScript SEO basics», actualizado el 4 de marzo de 2026
- Google Search Central, «Dynamic rendering as a workaround»
- Google Search Central, «AI features and your website»
- Google, «List of Google's common crawlers» (Google-Extended)
- Google Search Central, «Ecommerce website navigation structure»
- Addy Osmani y Jason Miller, «Rendering on the Web», web.dev, publicado el 6 de febrero de 2019 y actualizado el 5 de enero de 2026
Preguntas frecuentes
¿GPTBot ejecuta el JavaScript de mi web?
OpenAI no lo documenta: su página oficial sobre rastreadores explica para qué sirve cada bot, pero no dice nada sobre JavaScript ni renderizado. Como no hay garantía, lo prudente es que todo el contenido que quieres que ChatGPT lea esté ya en el HTML que devuelve el servidor.
¿Google renderiza el JavaScript para AI Overviews y AI Mode?
Google documenta que Googlebot ejecuta el JavaScript con una versión sin interfaz de Chromium e indexa el HTML renderizado. AI Overviews y AI Mode solo usan páginas indexadas, así que el contenido que Google haya renderizado puede llegar a ellas. Aun así, Google recomienda el renderizado en servidor porque es más rápido y porque no todos los bots pueden ejecutar JavaScript.
¿Cómo sé si un bot de IA ve el contenido de mi página?
Abre el código fuente de la página (no el inspector del navegador) o descárgala con curl y busca una frase de tu contenido principal. Si no aparece, ese texto depende de JavaScript. Para Google, la herramienta de inspección de URLs de Search Console muestra el HTML que recibió Googlebot.
¿El renderizado dinámico sigue siendo una buena solución?
Google lo describe como una solución provisional que ya no recomienda, porque añade complejidad y consumo de recursos. En su lugar propone el renderizado en servidor, el renderizado estático o la hidratación.
¿Una web hecha como aplicación de una sola página puede aparecer en ChatGPT?
Puede, siempre que el contenido importante llegue en el HTML inicial. Si la página se construye entera en el navegador, depende de que cada bot ejecute JavaScript, algo que OpenAI no garantiza. Lo más seguro es servir ese contenido renderizado desde el servidor o generado en el momento de publicar.