JavaScript SEO · Chile y LATAM

JavaScript SEO

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.

HTML inicial · lo que entrega tu servidor
<body>
  <div id="root"></div> ← vacío
  <script src="app.4f2a.js">
</body>
RenderChromium de Google
Googlebot ✓Ejecuta el JavaScript Indexa el HTML renderizado. De ese índice salen AI Overviews y AI Mode.
GPTBot · ClaudeBot ✕No ejecutan JavaScript Leen solo el HTML inicial. Un <div> vacío es una página vacía.
Espera de render en Google 10s mediana Vercel y MERJ · 2024
00 Qué es el JavaScript SEO

Qué es el JavaScript SEO. Que el buscador lea lo que lee tu cliente.

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.

Páginas 200 renderizadas por Google
100%
De más de 100.000 visitas de Googlebot a nextjs.org, sin errores ni noindex. [4]
Espera de render en Google
10 s
Mediana. El 99% de las páginas se renderizó en menos de ~18 horas. [4]
Crawlers de IA medidos que ejecutan JavaScript
0
GPTBot y ClaudeBot descargan archivos JS, pero no los ejecutan. [5]
01 Quién lee tu JavaScript

Google renderiza JavaScript. ChatGPT y Claude, no.

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.

tusitio.cl/servicio/ · HTML renderizado
✓Googlebot ve la página completa, después del render.
tusitio.cl/servicio/ · HTML inicial
<div id="root"></div>Sin contenido
✕GPTBot · ClaudeBot ven solo el contenedor.
Crawler¿Ejecuta JavaScript?Qué alimentaQué significa para tu sitio
GooglebotGoogle SearchSíÍndice de Google, que también usan AI Overviews y AI ModeRenderiza con un Chromium actualizado, pero salta el render en páginas con noindex o con estados distintos de 200. [1]
GPTBotOpenAI · entrenamientoNoEntrenamiento de modelos de OpenAIDescargó archivos JS en el 11,5% de sus visitas y no ejecutó ninguno. [5]
ClaudeBotAnthropic · entrenamientoNoEntrenamiento de modelos de AnthropicDescargó archivos JS en el 23,8% de sus visitas y tampoco los ejecutó. [5]
OAI-SearchBotOpenAI · búsquedaSin evidenciaRespuestas y citas de búsqueda en ChatGPTOpenAI 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.

✦ La consecuencia

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.

02 Dónde se rompe

Ocho errores de JavaScript SEO que te dejan fuera del índice.

Son las que más encontramos en sitios con JavaScript. Cada una está documentada por Google y tiene una corrección concreta.

01

Contenido que solo existe en el navegador

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 prerender
02

Un noindex que se quita con JavaScript

Si 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 HTML
03

Un canonical que cambia al renderizar

Google pide que el canonical inyectado con JavaScript sea el mismo del HTML original. Dos canonicals distintos dan resultados impredecibles.

→ un solo canonical, en HTML
04

Rutas con # y enlaces sin href

Google 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>
05

Soft 404 en la SPA

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 noindex
06

Todas las rutas con el mismo head

Si 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 ruta
07

JS o CSS bloqueado y caché vieja

Google 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 + fingerprinting
08

Contenido tras un clic o un scroll

Google no hace clic en pestañas ni acepta banners. El contenido que aparece solo tras una interacción puede no indexarse.

→ lazy-load compatible
03 Mitos y evidencia

Lo que se repite sobre JavaScript SEO. Y lo que muestran los datos.

Mito

"Google no lee JavaScript."

Evidencia

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]

Mito

"La segunda ola de indexación tarda semanas."

Evidencia

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]

Escala logarítmica · 75% de las páginas renderizadas en menos de 26 s
Mito

"Si Google ve mi contenido, ChatGPT también."

Evidencia

Los crawlers de IA que midieron Vercel y MERJ no ejecutaron JavaScript. Lo que Google renderiza no viaja a otros sistemas. [5]

Mito

"El dynamic rendering es la solución."

Evidencia

Google lo define como un parche, no como solución de largo plazo, y recomienda renderizado en servidor, estático o hidratación. [2]

Mito

"Puedo quitar el noindex con JavaScript cuando la página cargue."

Evidencia

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]

04 SSR, SSG o CSR

SSR, SSG o CSR: el renderizado se decide por plantilla.

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.

ModoEficiencia para GoogleLegible sin JavaScriptCuándo conviene
SSGGeneración estáticaExcelenteSíContenido que cambia poco: blog, landings, documentación, páginas de servicio.
ISRRegeneración incrementalExcelenteSíCatálogos grandes que cambian cada cierto tiempo: precios, stock, fichas.
SSRRenderizado en servidorMuy buenaSíContenido que cambia en cada visita o depende de parámetros: búsqueda, filtros.
PrerenderSnapshot de la SPABuenaSíSPA existente que no puede migrar a un framework con SSR en el corto plazo.
CSRSolo en el navegadorBajaNoÁ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.

05 Qué incluye el servicio

Qué incluye el servicio de JavaScript SEO. Del diagnóstico a la indexación.

01

Auditoría de renderizado

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.

HTML inicial vs. renderizadoURL InspectionLogs
Entrega: mapa de qué ve cada crawler
02

Estrategia de renderizado

Definimos SSR, SSG, ISR o prerender para cada tipo de página según tu stack, tu equipo y el costo de cambiarlo.

SSRSSG · ISRNext.js · Nuxt
Entrega: plan técnico por plantilla
03

Head y metadatos por ruta

Título, meta description, canonical, robots y JSON-LD propios por ruta, entregados en el HTML del servidor y no inyectados después.

Title por rutaCanonicalJSON-LD en servidor
Entrega: especificación del head
04

Enlaces y estados HTTP

Enlaces internos con <a href>, rutas con History API, 404 reales y redirecciones limpias para eliminar los soft 404.

<a href>History APISoft 404
Entrega: checklist para tu equipo dev
05

Recursos y rendimiento

Recursos accesibles en robots.txt, nombres de archivo con fingerprinting, hidratación sin bloquear y Core Web Vitals medidos en datos de campo.

robots.txtFingerprintingCore Web Vitals
Entrega: prioridades de rendimiento
06

Legibilidad para IA

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.

OAI-SearchBotGPTBotClaudeBot
Entrega: política de crawlers · ver AEO / GEO →
06 Diagnóstico rápido

¿Tu sitio en React depende del JavaScript? Pruébalo tú.

Tres pruebas que puedes hacer hoy, sin herramientas pagadas. Si alguna falla, el problema existe y conviene medir su tamaño.

Prueba 01 · Lo que lee un crawler sin JavaScript

Pide la página como un bot

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"
0La frase no está en el HTML inicial: depende del JavaScript.1+La frase llega en el HTML: cualquier crawler la puede leer.
Prueba 02 · Lo que ve Google

Inspecciona la URL en Search Console

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.

Prueba 03 · Lo que indexó Google

Búscate entre comillas

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.

07 Cómo trabajamos

Cómo trabajamos: SEO y código, con tu equipo de desarrollo.

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.

  1. Diagnosticar

    Qué ve cada crawler

    Rastreo con y sin JavaScript, inspección en Search Console y revisión de logs.

    → Informe de renderizado
  2. Priorizar

    Qué arreglar primero

    Ordenamos por impacto en páginas que generan negocio, no por cantidad de errores.

    → Backlog priorizado
  3. Implementar

    Con tu equipo dev

    Tu equipo implementa con nuestra especificación. Si no tienes equipo, lo resolvemos con nuestro servicio de desarrollo web.

    → Tickets y revisión de código
  4. Medir

    Indexación real

    Validamos en Search Console y seguimos la cobertura por plantilla, no solo la URL de prueba.

    → Validación GSC
  5. Escalar

    Que no vuelva a romperse

    Pruebas automáticas de HTML inicial en cada despliegue para detectar regresiones.

    → Control en CI
Indexación
  • URLs indexadas por plantilla
  • Paridad HTML inicial vs. renderizado
  • Soft 404 y errores de rastreo
Demanda
  • Impresiones y clics en Search Console
  • Informe de rendimiento de IA generativa
  • Citas en IA con muestreo repetido
Negocio
  • Leads y ventas desde orgánico
  • Conversión por plantilla
  • Core Web Vitals en datos de campo
08 Quién lo ejecuta

Quién ejecuta el JavaScript SEO y para quién es.

Felipe Meza Corredoira, Founder de Focus Ads

Felipe Meza Corredoira

Founder & Head of Strategy & Performance

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.

Matías de la Barra (EXT)

Head of SEO & AI Search

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.

Es para ti si
  • Tu sitio o producto está hecho en React, Vue, Angular o un framework similar.
  • Tienes páginas que deberían posicionar y no aparecen en Google.
  • Vas a migrar de stack y no quieres perder tráfico.
No es para ti si
  • Tu sitio es un WordPress estándar sin JavaScript pesado.
  • Buscas una garantía de "primer lugar".
Stacks con los que trabajamosReactNext.jsVueNuxtAngularAstroSvelteKitShopify headless
10 Preguntas frecuentes

JavaScript SEO, sin jerga.

Respuestas cortas y con fuente. Si tu caso no está aquí, escríbenos a hola@focus-ads.cl.

Actualizado: 27-10-2026
¿Qué es el JavaScript SEO? +
Es la parte del SEO técnico que asegura que un sitio construido con JavaScript pueda ser rastreado, renderizado e indexado por Google, y leído por los crawlers de IA. Resuelve el caso en que la página se ve completa para el usuario, pero el HTML que entrega el servidor está casi vacío.
¿Google indexa sitios hechos en React, Vue o Angular? +
Sí. Google renderiza las páginas con un Chromium actualizado y puede indexar el contenido que genera JavaScript. Hay condiciones: la página debe responder 200, no tener noindex en el HTML inicial y no bloquear sus archivos JavaScript o CSS en robots.txt.
¿Cuánto tarda Google en renderizar el JavaScript? +
Menos de lo que se suele decir. En un estudio de Vercel y MERJ con más de 37.000 páginas, la mediana entre rastreo y render fue de 10 segundos, el percentil 90 cerca de 3 horas y el percentil 99 cerca de 18 horas. La idea de que la segunda ola tarda semanas no describe a la mayoría de las páginas.
¿ChatGPT y Claude leen el contenido que carga JavaScript? +
Según el estudio de Vercel y MERJ, no. GPTBot y ClaudeBot descargan archivos JavaScript, pero no los ejecutan, así que solo leen el HTML inicial. Si tu contenido se arma en el navegador, para esos crawlers la página está vacía.
¿Y Gemini o los AI Overviews de Google? +
Las funciones de IA de Google, como AI Overviews y AI Mode, toman contenido del índice de Google. Si Google renderizó e indexó tu página, puede aparecer ahí. La condición es la misma que para la búsqueda: estar indexada y ser elegible para mostrarse con snippet.
¿SSR, SSG o CSR: cuál conviene para SEO? +
Para las páginas que deben posicionar, SSR o SSG, porque entregan el contenido listo en el HTML. SSG conviene para contenido que cambia poco, SSR para contenido que cambia en cada visita y CSR solo para áreas que no necesitan posicionar, como paneles con login.
¿El dynamic rendering sigue siendo una opción? +
Google lo considera un parche y no una solución de largo plazo, porque agrega complejidad y costo. Recomienda renderizado en servidor, estático o hidratación. Puede servir como paso intermedio mientras migras, no como destino.
¿Puedo definir el título, la meta y el canonical con JavaScript? +
El título y la meta description, sí. El canonical se puede inyectar con JavaScript, pero debe ser el mismo del HTML original o no existir en él. Un noindex en el HTML inicial no se debe quitar con JavaScript: Google puede no ejecutar ese código.
¿Qué es un soft 404 en una SPA y cómo se evita? +
Es una página inexistente que responde 200 con un mensaje de error, algo común cuando el enrutamiento ocurre en el navegador. Google recomienda redirigir con JavaScript a una URL que responda 404 o agregar un noindex a esas páginas de error.
¿Cómo sé si mi sitio tiene un problema de JavaScript SEO? +
Descarga el HTML inicial con curl y busca una frase visible; revisa el HTML rastreado en la inspección de URLs de Search Console; y busca una frase exacta en Google entre comillas. Si el contenido no aparece en alguna de las tres, hay un problema que medir.
12 Diagnóstico

¿Qué está viendo Google en tu sitio?

En 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)