Javascrip vs SEO

🚀 Rastreo y JavaScript en SEO: Optimización Avanzada para el Posicionamiento en Buscadores

📢 JavaScript en SEO

El posicionamiento en buscadores es un pilar clave para la visibilidad de cualquier sitio web. Sin embargo, cuando un sitio depende de JavaScript para mostrar contenido o enlaces, la indexación puede verse afectada, lo que impide que las páginas aparezcan correctamente en los resultados de Google.

Google ha mejorado su capacidad de procesar JavaScript con un motor de renderizado avanzado basado en Chromium, pero sigue enfrentando problemas de rastreo y renderizado, lo que puede retrasar o impedir la indexación de páginas críticas.

❓ ¿Cómo afecta JavaScript al SEO?

✔️ Googlebot debe ejecutar JavaScript para ver el contenido, lo que puede retrasar la indexación.
✔️ Algunos frameworks de JavaScript no permiten que los enlaces sean rastreados correctamente.
✔️ Si Googlebot encuentra errores de renderizado, el contenido puede quedar invisible para el buscador.

En este artículo, profundizaremos en cómo Google rastrea e indexa páginas con JavaScript, qué problemas pueden surgir y cómo optimizar un sitio web para garantizar una indexación eficiente.

🔎 Cómo rastrea e indexa Google las páginas con JavaScript

Google usa un sistema de indexación en dos fases cuando se encuentra con páginas que dependen de JavaScript.

1️⃣ Fase 1: Rastreo del HTML inicial

Cuando Googlebot visita una URL, descarga y analiza el código HTML de la página sin ejecutar JavaScript.
Si el contenido clave (textos, imágenes, enlaces) depende exclusivamente de JavaScript, Googlebot no podrá verlo en esta fase.

📌 Ejemplo:

<div id="productos"></div>
<script>
  document.getElementById('productos').innerHTML = '<h2>Producto en Oferta</h2>';
</script>

🔹 Problema: Si el contenido solo se carga con JavaScript, el HTML inicial está vacío.

2️⃣ Fase 2: Renderizado de JavaScript

Google envía la página a su Web Rendering Service (WRS), basado en Chromium, para procesar y ejecutar JavaScript.
Aquí es donde Googlebot interpreta el contenido generado dinámicamente y lo indexa.

🔹 Problema:

  • El renderizado puede tardar días o semanas, retrasando la indexación.
  • Si hay errores en JavaScript o el código depende de eventos de usuario, Googlebot no verá el contenido.

📌 Solución: Asegurar que el contenido crucial esté presente en el HTML base o usar renderizado dinámico.

⚠️ Problemas comunes de JavaScript en SEO y cómo solucionarlos

 

JAVA SEO POICIONAMIENTO JAVASCRIP

🔴 1. Contenido no indexado

Si el contenido principal solo se carga con JavaScript, Googlebot podría no verlo.

Ejemplo de código problemático:

<script>
  fetch('https://api.ejemplo.com/productos')
    .then(response => response.json())
    .then(data => document.getElementById('productos').innerHTML = data.nombre);
</script>

Problema: Googlebot no espera la respuesta del API, por lo que el contenido no se indexa.

Solución:

  • Usar Server-Side Rendering (SSR) para entregar el HTML pre-renderizado.
  • Implementar hydration para mejorar la experiencia del usuario sin afectar el SEO.

🔴 2. Enlaces no rastreables

Googlebot sigue enlaces con href, pero los enlaces creados dinámicamente con JavaScript pueden quedar fuera del rastreo.

Ejemplo de enlace no rastreable:

<button onclick="window.location.href='pagina.html'">Ir</button>

Solución: Usar enlaces HTML estándar:

<a href="pagina.html">Ir</a>

📌 Importante: Evitar enlaces con # o eventos onclick, ya que Googlebot podría ignorarlos.

🔴 3. Bloqueo de recursos JavaScript en robots.txt

Si Google no puede acceder a los archivos JavaScript, no podrá renderizar la página correctamente.

Solución: Asegurar que robots.txt permita el acceso a archivos JS y CSS:

User-agent: Googlebot
Allow: *.js
Allow: *.css

🔴 4. Carga diferida (Lazy Loading) mal implementada

Si las imágenes o el contenido solo aparecen con desplazamiento (scroll), Googlebot podría no cargarlas.

Solución: Usar loading="lazy" en imágenes:

<img src="imagen.jpg" alt="Producto" loading="lazy">

🚀 Estrategias avanzadas para optimizar JavaScript y SEO

Si tu sitio usa JavaScript de manera intensiva, considera estas estrategias para garantizar una indexación eficiente.

📌 1. Server-Side Rendering (SSR) con Next.js o Nuxt.js

El SSR genera el HTML en el servidor antes de enviarlo al navegador, asegurando que Googlebot pueda rastrear el contenido sin esperar el renderizado de JavaScript.

💡 Ejemplo de código con Next.js (React SSR):

export async function getServerSideProps() {
  const res = await fetch('https://api.ejemplo.com/productos');
  const data = await res.json();
  return { props: { productos: data } };
}

Esto garantiza que el contenido esté disponible en el HTML inicial.

📌 2. Pre-renderizado estático (Static Site Generation – SSG)

Si el contenido de una página no cambia con frecuencia, pre-renderizar es una excelente opción para evitar problemas de rastreo.

✅ Frameworks como Gatsby (React) o Hugo generan archivos HTML estáticos listos para indexación.

📌 3. Renderizado dinámico (Dynamic Rendering)

Si el sitio no puede usar SSR o SSG, se puede implementar renderizado dinámico con herramientas como Rendertron.
Esto detecta si el usuario es un bot y entrega una versión HTML estática para facilitar la indexación.

🔹 Ejemplo de configuración en Nginx para Rendertron:

location / {
  if ($http_user_agent ~* "Googlebot|Bingbot|DuckDuckBot") {
    proxy_pass http://rendertron:3000/render/$scheme://$host$request_uri;
  }
}

🔍 Cómo verificar si Google indexa tu JavaScript correctamente

Para asegurarte de que Googlebot puede ver y rastrear tu contenido, usa estas herramientas:

🔹 Google Search Console

📌 Usa la función “Inspeccionar URL” para ver cómo Googlebot renderiza la página.

🔹 Mobile-Friendly Test

📌 Prueba si el contenido es accesible para Google en dispositivos móviles.

🔹 Screaming Frog SEO Spider

📌 Simula el rastreo con y sin ejecución de JavaScript para detectar diferencias.

🔹 Chrome DevTools (Lighthouse)

📌 En DevTools > Rendering, activa “Emular un Googlebot” y revisa qué se carga en la página.

📈 ¿Entonces, que sacamos de esto para el SEO?. JavaScript y el posicionamiento en buscadores pueden coexistir

El uso de JavaScript no tiene por qué afectar el posicionamiento en buscadores, siempre que se implemente correctamente.

Recomendaciones clave:
✔️ Usa SSR o pre-renderizado para evitar problemas de indexación.
✔️ Asegura que los enlaces sean HTML estándar (<a href>).
✔️ Verifica que Google pueda acceder a los archivos JavaScript.
✔️ Usa Google Search Console para analizar el renderizado de Googlebot.

💡 JavaScript y SEO pueden funcionar juntos, pero requieren una optimización avanzada. 🚀