SEO y AEO: cómo deciden los buscadores y las IA · Lección 4 de 5
El problema del JavaScript: HTML inicial y prerenderizado
Muchos sitios modernos arman la página con JavaScript en el navegador. Google lo ejecuta, aunque más tarde, pero muchos robots de IA no ejecutan JavaScript: si el contenido no está en el HTML que manda el servidor, para ellos no existe. La solución es entregar el HTML completo desde el principio (prerenderizado o render en el servidor).
Qué pasa con una página armada con JavaScript
En un sitio hecho con React, Vue o Angular sin render en el servidor, el HTML que llega tiene casi nada: un <div id="root"></div> vacío y un script. El contenido aparece cuando el navegador ejecuta ese script.
- Google pone la página en una segunda cola de renderizado y la ejecuta más tarde: se indexa, pero con demora y con más riesgo de error.
- Bing también renderiza, con menos recursos.
- Los robots de los asistentes de IA y muchos otros lectores automáticos descargan el HTML y no ejecutan JavaScript: ven la página vacía.
Cómo comprobarlo en dos minutos
- Abrí la página y tocá Ctrl+U («Ver código fuente»). Eso es lo que manda el servidor.
- Buscá con Ctrl+F una frase del texto principal, el precio o el nombre del producto.
- Si no aparece en el código fuente pero sí en la pantalla, la página depende de JavaScript.
- Para una prueba más estricta, desactivá JavaScript en el navegador y recargá.
Las soluciones
| Técnica | Cómo funciona | Cuándo conviene |
|---|---|---|
| Prerenderizado (generación estática) | Al compilar se genera un HTML completo por cada ruta | Sitios de contenido, cursos, catálogos que cambian poco |
| Render en el servidor (SSR) | El servidor arma el HTML en cada pedido | Tiendas con precios o stock que cambian seguido |
| Copia de texto en el HTML | El servidor agrega una versión en texto del contenido además de la app | Apps ya hechas que no se pueden rehacer |
Este mismo sitio usa prerenderizado: cada lección es un archivo HTML con todo el texto adentro, y en el navegador no se ejecuta JavaScript.
Ejercicio sobre tu sitio
- Hacé la prueba de Ctrl+U en la portada y en una página interna de tu sitio: ¿aparece el texto principal en el código fuente?
- Buscá en el código fuente las etiquetas
<img>: ¿están las fotos importantes? - Si tu sitio depende de JavaScript, anotá qué técnica de la tabla te conviene y por qué.
Preguntas frecuentes
¿Google indexa sitios hechos con React?
Sí, porque ejecuta JavaScript, pero lo hace en una segunda etapa y con demora. Entregar el HTML completo desde el servidor es más rápido, más seguro y sirve también para los robots que no ejecutan JavaScript.
¿Mostrar a los robots un HTML distinto que a las personas es trampa?
Es «cloaking» si el contenido es diferente. Entregar a todos el mismo contenido ya armado en el HTML, como hace el prerenderizado, es la práctica recomendada.