
Felipe Meza Corredoira
Founder & Head of Strategy & PerformanceMás de 7 años en performance y growth marketing. Define la estrategia y conecta la visibilidad orgánica con las finanzas del negocio: CAC, margen y payback.
Que Google y la IA lean tu web. Tu sitio en React, Vue o Angular puede verse perfecto y llegarle vacío a un buscador. Hacemos que el contenido esté en el HTML.
<body> <div id="root"></div> ← vacío <script src="app.4f2a.js"> </body>
El JavaScript SEO es la parte del SEO técnico que asegura que un sitio construido con JavaScript —una SPA en React, Vue o Angular, o un sitio en Next.js o Nuxt— pueda ser rastreado, renderizado e indexado por Google, y leído por los crawlers de IA. Resuelve un problema concreto: la página se ve completa para el usuario, pero el HTML que entrega el servidor está casi vacío.
También se le llama SEO para React o SEO para SPA. No se trata de dejar JavaScript. Se trata de decidir qué contenido tiene que venir listo en el HTML y cuál puede cargarse después, sin perder la experiencia que hace bueno a tu producto.
Una SPA puede estar bien indexada en Google y no existir para ChatGPT o Claude. No es un problema de contenido: es qué recibe cada crawler cuando visita tu URL.
<div id="root"></div>Sin contenido| Crawler | ¿Ejecuta JavaScript? | Qué alimenta | Qué significa para tu sitio |
|---|---|---|---|
| GooglebotGoogle Search | Sí | Índice de Google, que también usan AI Overviews y AI Mode | Renderiza con un Chromium actualizado, pero salta el render en páginas con noindex o con estados distintos de 200. [1] |
| GPTBotOpenAI · entrenamiento | No | Entrenamiento de modelos de OpenAI | Descargó archivos JS en el 11,5% de sus visitas y no ejecutó ninguno. [5] |
| ClaudeBotAnthropic · entrenamiento | No | Entrenamiento de modelos de Anthropic | Descargó archivos JS en el 23,8% de sus visitas y tampoco los ejecutó. [5] |
| OAI-SearchBotOpenAI · búsqueda | Sin evidencia | Respuestas y citas de búsqueda en ChatGPT | OpenAI no documenta que ejecute JavaScript. Lo tratamos como si leyera solo el HTML inicial. [6] |
"Sin evidencia" es una hipótesis de trabajo, no un hecho: no hay estudio público sobre OAI-SearchBot. Si tu contenido está en el HTML inicial, la pregunta deja de importar.
Entregar el contenido en el HTML —con SSR, SSG o prerender— resuelve dos frentes con el mismo trabajo: Google indexa sin depender de la cola de render y los crawlers de IA que no ejecutan JavaScript pueden leerte y citarte. Por eso el JavaScript SEO es también la base técnica del AEO y el GEO.
Son las que más encontramos en sitios con JavaScript. Cada una está documentada por Google y tiene una corrección concreta.
El servidor entrega un <div id="root"> vacío y el texto lo arma el JavaScript. Google lo ve después del render; los crawlers de IA medidos, nunca.
→ SSR, SSG o prerenderSi el HTML inicial trae noindex, Google puede saltarse el render y nunca ve el JavaScript que lo elimina. La página queda fuera.
→ robots correcto en el HTMLGoogle pide que el canonical inyectado con JavaScript sea el mismo del HTML original. Dos canonicals distintos dan resultados impredecibles.
→ un solo canonical, en HTMLGoogle solo descubre enlaces que son <a> con href. Las rutas con fragmentos (#/productos) o los onclick no se resuelven como URLs.
→ History API + <a href>Con enrutamiento en el cliente, una página inexistente responde 200 con un mensaje de error. Google la trata como soft 404 y gasta rastreo en ella.
→ 404 real o noindexSi el título, la meta description y el canonical no cambian por ruta, todas tus URLs parecen la misma página en Google.
→ head por rutaGoogle no renderiza recursos bloqueados en robots.txt y cachea de forma agresiva: puede usar un bundle antiguo si el nombre del archivo no cambia.
→ robots.txt + fingerprintingGoogle no hace clic en pestañas ni acepta banners. El contenido que aparece solo tras una interacción puede no indexarse.
→ lazy-load compatible"Google no lee JavaScript."
Google renderiza con un Chromium actualizado. En marzo de 2026 retiró de su guía la advertencia de que cargar contenido con JavaScript "lo hace más difícil" para la búsqueda. [1] [8]
"La segunda ola de indexación tarda semanas."
En 37.000 páginas medidas, la espera entre rastreo y render fue de segundos para la mayoría. Las demoras largas existen, pero son la excepción. [4]
"Si Google ve mi contenido, ChatGPT también."
Los crawlers de IA que midieron Vercel y MERJ no ejecutaron JavaScript. Lo que Google renderiza no viaja a otros sistemas. [5]
"El dynamic rendering es la solución."
Google lo define como un parche, no como solución de largo plazo, y recomienda renderizado en servidor, estático o hidratación. [2]
"Puedo quitar el noindex con JavaScript cuando la página cargue."
Con noindex en el HTML inicial, Google puede no ejecutar el JavaScript. En la medición de Vercel y MERJ, esas páginas no se renderizaron. [1] [4]
No hay un modo correcto para todo el sitio. Un blog, una ficha de producto y un panel con login tienen necesidades distintas. Esta es la matriz que usamos para decidir.
| Modo | Eficiencia para Google | Legible sin JavaScript | Cuándo conviene |
|---|---|---|---|
| SSGGeneración estática | Excelente | Sí | Contenido que cambia poco: blog, landings, documentación, páginas de servicio. |
| ISRRegeneración incremental | Excelente | Sí | Catálogos grandes que cambian cada cierto tiempo: precios, stock, fichas. |
| SSRRenderizado en servidor | Muy buena | Sí | Contenido que cambia en cada visita o depende de parámetros: búsqueda, filtros. |
| PrerenderSnapshot de la SPA | Buena | Sí | SPA existente que no puede migrar a un framework con SSR en el corto plazo. |
| CSRSolo en el navegador | Baja | No | Áreas privadas, paneles y vistas que no necesitan posicionar. |
Eficiencia para Google según la comparación de Vercel y MERJ [4]. "Legible sin JavaScript" indica si el contenido llega en el HTML inicial. Frameworks como Next.js, Nuxt, Astro o SvelteKit permiten mezclar modos por ruta.
Comparamos el HTML inicial con el renderizado, plantilla por plantilla, y lo cruzamos con la inspección de URLs de Search Console y los logs del servidor.
Definimos SSR, SSG, ISR o prerender para cada tipo de página según tu stack, tu equipo y el costo de cambiarlo.
Título, meta description, canonical, robots y JSON-LD propios por ruta, entregados en el HTML del servidor y no inyectados después.
Enlaces internos con <a href>, rutas con History API, 404 reales y redirecciones limpias para eliminar los soft 404.
Recursos accesibles en robots.txt, nombres de archivo con fingerprinting, hidratación sin bloquear y Core Web Vitals medidos en datos de campo.
Verificamos que el contenido crítico esté en el HTML inicial y que robots.txt distinga los crawlers de búsqueda de los de entrenamiento, según tu decisión.
Tres pruebas que puedes hacer hoy, sin herramientas pagadas. Si alguna falla, el problema existe y conviene medir su tamaño.
Descarga el HTML inicial y busca una frase que veas en pantalla. Es lo que reciben los crawlers que no ejecutan JavaScript.
# Reemplaza la URL y la frase por las tuyas curl -s -A "GPTBot" https://tusitio.cl/tu-ruta/ \ | grep -c "una frase visible de tu página"
Abre Inspección de URLs, prueba la URL publicada y revisa el HTML rastreado. Si falta tu contenido o los enlaces, Google no lo está viendo.
Copia una frase exacta de una página interna y búscala en Google con "frase" y site:tusitio.cl. Si no aparece, revisa si la URL está indexada.
El JavaScript SEO cae entre dos sillas: quien sabe SEO no toca el código y quien programa no piensa en Google. Trabajamos con tu equipo de desarrollo bajo Focus Growth OS.
Rastreo con y sin JavaScript, inspección en Search Console y revisión de logs.
→ Informe de renderizadoOrdenamos por impacto en páginas que generan negocio, no por cantidad de errores.
→ Backlog priorizadoTu equipo implementa con nuestra especificación. Si no tienes equipo, lo resolvemos con nuestro servicio de desarrollo web.
→ Tickets y revisión de códigoValidamos en Search Console y seguimos la cobertura por plantilla, no solo la URL de prueba.
→ Validación GSCPruebas automáticas de HTML inicial en cada despliegue para detectar regresiones.
→ Control en CI
Más de 7 años en performance y growth marketing. Define la estrategia y conecta la visibilidad orgánica con las finanzas del negocio: CAC, margen y payback.
Ejecuta el pilar orgánico: auditoría técnica, keyword research, contenido, prompts y medición. Es quien valida el renderizado con tu equipo de desarrollo.
Respuestas cortas y con fuente. Si tu caso no está aquí, escríbenos a hola@focus-ads.cl.
Actualizado: 27-10-2026En el diagnóstico revisamos qué recibe Googlebot y qué reciben los crawlers de IA en tus plantillas principales, y qué contenido se está quedando fuera. Sales con una lista priorizada, contrates o no.
Respuesta el mismo día hábil · Lunes a viernes, 9:00 a 18:00 (hora de Chile)