Indexación en proyectos con Javascript

Suscríbete a la Newsletter

Tabla de Contenidos

La indexación de JavaScript por parte de Google ha sido un tema recurrente en la comunidad SEO. Aunque Google ha avanzado en su capacidad de renderizar y procesar JavaScript, sigue habiendo desafíos que pueden afectar la visibilidad de los sitios web en los resultados de búsqueda.

En este artículo vamos a abordar mitos y realidades (te dejo un artículo ampliado de este tema), factores clave en la indexación y técnicas avanzadas para garantizar que tu contenido en JavaScript sea correctamente interpretado y clasificado por Google.

Te dejo con las claves de indexación y JavaScript, para asegurar una correcta indexación:

Usa SSR o Pre-Rendering para contenido crítico.
Verifica que Googlebot pueda rastrear y renderizar JS
Minimiza el impacto en el crawl budget
Prueba la indexación con herramientas como Search Console

¿Google puede indexar JavaScript?

✅ Google puede renderizar y ejecutar JavaScript, pero con condiciones

Google tiene un proceso en dos etapas para la indexación:

  1. Crawling inicial: Googlebot descarga el HTML, pero sin ejecutar el JavaScript inmediatamente.
  2. Renderización diferida: Un segundo proceso ejecuta JavaScript para descubrir contenido adicional.

❌ Google indexa todo el contenido en JavaScript igual que el HTML estático

No siempre es así. Si los recursos de JavaScript son bloqueados en robots.txt, requieren eventos de usuario o se cargan con retraso, Google podría no indexarlos correctamente.

❌ Si el contenido es visible en el navegador, Google también lo ve

No siempre. Algunas técnicas como lazy loading mal configurado o contenido generado tras eventos de usuario pueden impedir que Googlebot acceda al contenido.

La indexación es una parte fundamental para posicionar tu web en Google (u otros buscadores), por eso, tenemos un curso completo sobre indexación en Google en la Academia de VisibilidadOn.

Factores Clave en la Indexación de JavaScript

Para asegurarnos de que Google indexe correctamente nuestras páginas en JavaScript, debemos prestar atención, entre otros, a los siguientes puntos:

1. Renderización del Contenido

Hay tres tipos de renderizado que afectan la indexación:

  • Renderizado en el Cliente (Client-Side Rendering, CSR): Todo el contenido se carga vía JavaScript en el navegador. Riesgoso para SEO si Google no ejecuta correctamente los scripts.
  • Renderizado en el Servidor (Server-Side Rendering, SSR): El contenido se genera en el servidor antes de enviarse al navegador. Ideal para SEO, ya que Google recibe un HTML ya renderizado.
  • Renderizado Híbrido (Hydration o Pre-Rendering): Se genera una versión estática inicial y luego se carga JavaScript para funcionalidades adicionales. Recomendado para sitios que dependen de interactividad.

2. Optimización del Crawl Budget

Google asigna un presupuesto de rastreo a cada sitio. Si las páginas tardan en renderizarse o requieren muchas peticiones, Google podría no procesarlas por completo. Para optimizarlo:

✔️ Evita redirecciones innecesarias.
✔️ Minimiza peticiones externas de JS y CSS.
✔️ Usa un CDN para mejorar la carga de archivos estáticos.

3. Uso de las Directivas de Indexación Correctas

El archivo robots.txt, las metaetiquetas <meta name="robots" content="index,follow"> y los X-Robots-Tag en encabezados HTTP deben permitir el rastreo de los archivos JavaScript necesarios.

Errores comunes:

❌ Bloquear accidentalmente /js/ en robots.txt.
❌ Usar display:none en CSS para ocultar contenido crítico.

4. Sitemap XML y Enlaces Internos

El contenido generado dinámicamente con JavaScript debe estar enlazado correctamente y listado en un sitemap XML para mejorar la indexación.

Estrategias avanzadas para una indexación óptima

Ahora que entendemos los fundamentos, veamos estrategias avanzadas para maximizar la indexabilidad de sitios con JavaScript.

1. Implementar Dynamic Rendering

Si tu sitio depende en gran medida de JavaScript, Google recomienda el Dynamic Rendering, que permite servir una versión estática para Googlebot y una dinámica para usuarios.

📌 Herramientas útiles:

  • Rendertron: Renderiza páginas en servidores intermedios antes de enviarlas a Google.
  • Prerender.io: Genera versiones estáticas para bots.

2. Pruebas con Google Search Console y Lighthouse

Google ofrece herramientas como:

  • Google Search Console (Inspección de URL): Para verificar cómo Google ve tu contenido.
  • Lighthouse en Chrome DevTools: Para comprobar el rendimiento y accesibilidad del sitio.

3. Indexación con Intersection Observer API

Para evitar problemas con Lazy Loading mal implementado, usa IntersectionObserver para cargar imágenes y contenido de forma progresiva sin afectar la indexación.

javascriptCopyEditlet observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.src = entry.target.dataset.src;
}
});
});
document.querySelectorAll("img.lazy").forEach((img) => {
observer.observe(img);
});

4. Servir Contenido con SSR y mejora progresiva

Si tu sitio usa React, Angular o Vue, considera:

✔️ Next.js o Nuxt.js: Frameworks con renderizado en servidor para mejorar SEO.
✔️ Hydration: Pre-renderizar contenido y luego añadir JavaScript.

AUTOR