Qué es JavaScript SEO: definición y guía completa SEO
JavaScript SEO: Conjunto de técnicas y consideraciones para asegurar que los motores de búsqueda puedan rastrear, renderizar e indexar correctamente el contenido generado o modificado por JavaScript. Es especialmente relevante en SPAs (Single Page Applications) y sitios modernos que dependen de JS para mostrar el contenido principal.
Cómo rastrea e indexa Google el JavaScript
Googlebot procesa JavaScript en dos fases. Primero rastrea el HTML inicial (sin ejecutar JS) y lo indexa si tiene contenido suficiente. Después, en un momento posterior e indeterminado (que puede ser días o semanas más tarde), renderiza la página ejecutando el JavaScript con una versión headless de Chromium. El contenido generado por JS solo está disponible para el ranking tras esta segunda fase. Este retraso de renderizado es el principal problema de las SPAs: el HTML inicial puede ser prácticamente vacío, y hasta que Google renderiza el JS, la página no tiene contenido indexable.
Renderizado del lado del cliente vs servidor: impacto en SEO
El renderizado del lado del cliente (CSR, Client-Side Rendering) genera el HTML completo en el navegador usando JavaScript. El HTML que recibe Googlebot inicialmente está vacío o con contenido mínimo: solo tras ejecutar el JS aparece el contenido real. El renderizado del lado del servidor (SSR, Server-Side Rendering) genera el HTML completo en el servidor antes de enviarlo al navegador: Googlebot recibe el contenido completo en la primera solicitud. El renderizado estático (pre-rendering o SSG) genera el HTML en el momento del build: el rendimiento es máximo y el SEO no tiene las limitaciones del CSR. Para SEO, SSR y SSG son superiores al CSR puro.
Problemas SEO más frecuentes en sitios basados en JavaScript
Los soft 404: en React Router o Vue Router, la navegación entre páginas cambia la URL en el navegador pero Googlebot puede no detectar ese cambio y tratar todas las rutas como la misma página. El contenido en tabs o acordeones cargado con JS puede no ser indexado o recibir menos peso que el contenido visible. Los links generados con JS (onclick, history.pushState) en lugar de etiquetas <a href> estándar pueden no ser seguidos por Googlebot. Los problemas de canonical en SPAs: si todas las rutas comparten el mismo canonical, Google puede no indexar las páginas internas. El contenido que aparece tras login o interacción del usuario obviamente no es indexable.
Cómo auditar un sitio JavaScript para SEO
La herramienta de Inspección de URL en GSC es el punto de partida: muestra la versión renderizada de la página tal como la ve Google (incluyendo el JS ejecutado). Comparar esa versión con el HTML fuente revela qué contenido no está disponible antes del renderizado. Screaming Frog puede configurarse para rastrear con renderizado JavaScript (modo Spider + JavaScript). La extensión de Chrome ‘Web Developer’ y las DevTools permiten deshabilitar JavaScript para ver qué HTML queda: si el contenido desaparece, Google puede no indexarlo correctamente. Lighthouse tiene auditorías específicas de SEO que incluyen comprobaciones relacionadas con JavaScript.
Preguntas frecuentes
¿Google indexa el contenido en acordeones o tabs que requieren clic para ver?
Sí, Google indexa el contenido oculto en acordeones y tabs, pero puede darle menos peso que al contenido visible. En Mobile-First Indexing, Google ha indicado que el contenido oculto puede no recibir el mismo valor de ranking que el contenido visible. Para contenido importante, es preferible tenerlo visible por defecto o en el HTML inicial.
¿Los frameworks de JavaScript como React o Next.js son buenos o malos para SEO?
Depende de cómo se configuren. React con CSR puro es problemático para SEO. Next.js con SSR o SSG es excelente para SEO porque genera HTML completo en el servidor. Nuxt.js (Vue), Gatsby, Astro y SvelteKit ofrecen opciones de renderizado servidor o estático que eliminan los problemas de SEO del JS. El framework en sí no es el problema; el modo de renderizado sí lo es.