Tu web se ve perfecta en tu navegador, con sus textos, productos y botones. Pero tu navegador ejecuta JavaScript sin pestañear y el robot de Google no siempre ve exactamente lo mismo. Cuando una parte del contenido solo existe después de ejecutar scripts, aparece un riesgo: que Google no lo vea, lo vea tarde o no lo indexe.
No significa que haya que huir de JavaScript, sino saber en qué se apoya tu web y comprobar qué recibe Google.
Cómo procesa Google una página con JavaScript
Google trabaja en tres fases. Primero rastrea: descarga el HTML de la URL, si robots.txt se lo permite. Después renderiza: ejecuta el JavaScript con una versión actualizada del navegador Chromium para obtener la página tal y como la vería una persona. Por último indexa el resultado.
Lo que debes tener presente es que el renderizado puede producirse después del rastreo, a veces con cierta demora, y que el robot no se comporta como un visitante. No hace clic, no se desplaza esperando que se cargue más contenido, no inicia sesión ni rellena formularios. Lo que solo aparece tras una de esas acciones, para Google normalmente no existe.
Renderizado en servidor frente a renderizado en cliente
En el renderizado en cliente, el servidor envía un HTML casi vacío (algo como un <div id="app"></div>) y el navegador construye el contenido al ejecutar los scripts. En el renderizado en servidor (SSR), el HTML llega ya completo y el JavaScript solo añade interactividad. Existe también la generación estática o el prerrenderizado, donde las páginas se preparan de antemano.
Servir el contenido importante ya en el HTML inicial es lo más seguro: no depende de que el renderizado funcione bien, se muestra antes y lo entienden los rastreadores que no ejecutan JavaScript, que existen. Esto último es relevante porque varios buscadores alternativos y bots de asistentes de IA pueden no renderizar scripts. Google ha descrito el llamado "renderizado dinámico" como una solución provisional, no como la recomendación a largo plazo.
Contenido que no se indexa por cargarse tarde
Los fallos más habituales son estos:
- Contenido que solo se pide al servidor cuando el usuario pulsa una pestaña, un acordeón o un botón "ver más". Si ya está en la página y solo está oculto, Google suele verlo; si se carga al hacer clic, no.
- Scroll infinito sin URLs paginadas con enlaces: el robot no desplaza la página para cargar más.
- Enlaces que no son enlaces: botones con onclick, o direcciones con #. Para que Google los siga, deben ser <a href="..."> con una URL real.
- Archivos JavaScript, CSS o llamadas a la API bloqueados en robots.txt: si Google no puede cargarlos, renderiza una página incompleta.
- Etiquetas críticas (noindex, canonical, título) que se modifican con JavaScript. Si el HTML original ya trae noindex, Google puede no llegar a renderizar la página.
- Páginas "no encontradas" en aplicaciones de una sola página que devuelven código 200 en lugar de 404.
Cómo comprobar lo que ve Google
Compara tres vistas:
- HTML original: el código fuente (Ctrl+U) o curl https://tusitio.es/pagina muestran lo que llega antes de ejecutar scripts. Si tu texto no está ahí, depende de JavaScript.
- HTML renderizado: en las herramientas de desarrollo del navegador, la pestaña Elementos muestra la página ya construida.
- Lo que ve Google: en Search Console, usa la Inspección de URL, pulsa "Probar URL publicada" y luego "Ver página probada". Verás el HTML renderizado, una captura y, en "Más información", los recursos que no se pudieron cargar y los errores de consola de JavaScript.
Para una prueba rápida, desactiva JavaScript desde las herramientas de desarrollo (Ctrl+Shift+P y escribe "Disable JavaScript") y recarga: lo que desaparece es lo que depende de los scripts. Y puedes buscar en Google una frase literal entre comillas con site:tusitio.es para saber si ese texto está indexado.
Cuándo no te debe preocupar y qué preguntar a tu equipo
Si tu web es un sitio tradicional (por ejemplo, PHP o WordPress) cuyo HTML sale ya completo del servidor y el JavaScript solo añade menús, carruseles o animaciones, el riesgo es bajo. Si está construida con un framework como React, Vue o Angular, pregunta a quien la desarrolla: si usa renderizado en servidor o prerrenderizado, si los enlaces son enlaces reales, si las páginas inexistentes devuelven un 404 de verdad y si título, descripción y canonical están en el HTML inicial.
Preguntas frecuentes
¿Google puede indexar contenido generado con JavaScript?
Sí, en general lo hace, pero con un paso extra de renderizado que añade retraso y puede fallar. Por eso, para el contenido que te importa posicionar, es más fiable que ya venga en el HTML.
¿Es mejor siempre el renderizado en servidor?
Para páginas que quieres posicionar suele ser la opción más segura. Para zonas privadas o herramientas tras un acceso con usuario, que Google no necesita indexar, el renderizado en cliente no supone ningún problema SEO.
¿Los asistentes de IA ven el contenido que carga con JavaScript?
Depende de cada uno, y varios bots pueden no ejecutar scripts. Si quieres que tu contenido sea legible para ellos, lo más prudente es que el texto esencial esté en el HTML inicial.