SEO avanzado

13 min de lectura

SEO JavaScript para ecommerce

Las plataformas de ecommerce modernas dependen cada vez más de frameworks JavaScript como React, Vue y Angular para ofrecer experiencias de compra dinamicas. Aunque estos frameworks sobresalen en la creación de escaparates ricos e interactivos, introducen desafios significativos para el rastreo e indexación de motores de busqueda. Comprender como Googlebot procesa JavaScript e implementar la estrategia de renderizado correcta puede significar la diferencia entre miles de páginas de producto indexadas y una tienda invisible. Este tema se apoya en los [fundamentos de SEO técnico](/blog/technical-seo-for-ecommerce) con un enfoque especifico en JavaScript.

PorFabian van Til— SEO Lead, EcomSEO
·
Última revisión:

Cómo Googlebot procesa JavaScript

Googlebot utiliza un proceso de indexación en dos fases para las páginas con mucho JavaScript. En la primera fase, rastrea la respuesta HTML sin procesar e indexa el contenido presente en la respuesta inicial del servidor. En la segunda fase, coloca la página en cola para renderizado usando un navegador Chromium sin cabeza, ejecuta el JavaScript y luego indexa el contenido completamente renderizado. El problema critico es la brecha entre estas dos fases.

La cola de renderizado puede tardar desde segundos hasta semanas dependiendo de la asignacion de presupuesto de rastreo de Google para su dominio. Durante este retraso, cualquier contenido que dependa de la ejecucion de JavaScript permanece invisible para Google. Para una tienda de ecommerce con miles de páginas de producto, esto significa que nuevos productos y actualizaciones de precios pueden no aparecer en los resultados de busqueda durante dias.

El motor de renderizado de Googlebot ejecuta una versión relativamente reciente de Chromium, por lo que las API JavaScript modernas generalmente son compatibles. Sin embargo, tiene limitaciones importantes: no interactua con las páginas (sin clics, desplazamiento ni envío de formularios), tiene un tiempo de espera de renderizado de aproximadamente 5 segundos y bloquea ciertos tipos de recursos.

Rendering-Verzoegerung

El robot de Google permite aproximadamente 5 segundos para realizar una pintura significativa inicial. Las páginas con grandes paquetes JS o llamadas API en cascada corren el riesgo de una representación incompleta y de que falte contenido en el índice. aktuelle Daten indexiert.

Googlebot JavaScript-Verarbeitung in zwei Phasen: Crawlen (Sekunden) und Rendern (Minuten bis Tage)
La fase 1 recupera HTML sin formato al instante. La fase 2 procesa JavaScript, pero puede retrasarse días o semanas según el presupuesto de rastreo.
Googlebot primero rastrea el HTML sin procesar, luego pone las páginas en cola para renderizado JavaScript por separado
El retraso de la cola de renderizado puede variar de segundos a semanas segun el presupuesto de rastreo
Googlebot no interactua con las páginas: sin clics, sin desplazamiento, sin envío de formularios
El tiempo de espera de renderizado es de aproximadamente 5 segundos para el primer pintado significativo
Tip

Use la herramienta de inspeccion de URL de Google Search Console con la opcion 'Ver página probada' para ver exactamente lo que Googlebot renderiza. Compare el HTML renderizado con su página en vivo para identificar el contenido que no se carga durante el paso de renderizado.

Estrategias de renderizado: CSR, SSR y SSG

El renderizado del lado del cliente (CSR) es el predeterminado para la mayoria de los frameworks de aplicacion de página unica. El servidor envia una estructura HTML minima y un paquete JavaScript que construye toda la página en el navegador. Para SEO de ecommerce, el CSR puro es la peor opcion. Títulos de producto, descripciones, precios y datos estructurados estan ausentes del HTML inicial.

El renderizado del lado del servidor (SSR) genera el HTML completo en el servidor para cada solicitud, entregando contenido de producto completo inmediatamente. Frameworks como Next.js, Nuxt.js y Angular Universal proporcionan capacidades SSR. Googlebot puede indexar este contenido en la primera fase de rastreo.

La generacion de sitios estaticos (SSG) pre-renderiza páginas en tiempo de compilacion, produciendo archivos HTML estaticos servidos directamente desde un CDN. Para catálogos de ecommerce con datos de producto estables, SSG ofrece los tiempos de carga más rapidos.

La regeneracion estatica incremental (ISR) ofrece un termino medio. Las páginas se generan estaticamente pero pueden ser revalidadas y regeneradas segun un calendario definido.

El renderizado hibrido, donde diferentes tipos de página usan diferentes estrategias, es el enfoque pragmatico para la mayoria de tiendas de ecommerce.

Rendering-Empfehlung

La CSR pura deja invisibles los títulos de los productos, los precios y los datos estructurados hasta que el robot de Google genera JavaScript. SSR ofrece HTML completo en cada solicitud, lo que permite la indexación de primer paso sin demora.

Diagrama comparativo de estrategias de renderizado CSR, SSR, SSG e ISR que muestra sus ventajas y desventajas de SEO para tiendas de comercio electrónico
Utilice un enfoque híbrido: SSG para páginas de categorías, SSR para páginas de detalles de productos con precios dinámicos y CSR solo para funciones específicas del usuario como carrito y lista de deseos.
El CSR puro deja el contenido critico del producto invisible hasta que Googlebot renderiza JavaScript
SSR entrega HTML completo en cada solicitud, permitiendo indexación en el primer paso
SSG pre-renderiza páginas en tiempo de compilacion para maxima velocidad y rastreabilidad garantizada
ISR combina rendimiento estatico con frescura periodica de datos sin reconstrucciones completas
Las estrategias hibridas asignan diferentes métodos de renderizado a diferentes tipos de página segun las necesidades de indexación

Elementos SEO criticos en frameworks JavaScript

Las meta etiquetas, URLs canonicas y datos estructurados deben estar presentes en el HTML renderizado del servidor, no inyectados del lado del cliente. Si su framework genera la etiqueta <title>, la meta descripcion y el enlace canonico via JavaScript despues de la carga, Googlebot puede omitirlos en el primer paso de rastreo. Use la solucion de gestion del head de su framework.

El enlazado interno esta frecuentemente roto en tiendas ecommerce renderizadas con JavaScript. Menus de navegación, migas de pan, enlaces de categoría y paginacion basados en manejadores de eventos JavaScript en lugar de etiquetas <a href> estándar son invisibles para Googlebot. Cada enlace de navegación debe usar elementos ancla correctos con atributos href completos.

La carga perezosa de imagenes de producto puede ser compatible con SEO si se implementa correctamente. Use el atributo nativo loading='lazy' para imagenes debajo del pliegue, pero asegurese de que las imagenes principales del producto se carguen inmediatamente.

La gestion de URLs a traves de la API History debe producir URLs reales y rastreables. Si su sistema de filtrado de productos cambia la visualizacion sin actualizar la URL o usa enrutamiento basado en hash, los motores de busqueda no pueden descubrir esos estados.

Renderizar meta etiquetas, canonicas y datos estructurados del lado del servidor, no via JavaScript del cliente
Usar elementos ancla <a href> correctos para toda la navegación, migas de pan y enlaces de paginacion
Implementar carga perezosa con el atributo nativo loading='lazy' para imagenes bajo el pliegue
Usar History API pushState para URLs reales resolubles por el servidor en lugar de enrutamiento hash
Tip

Ejecute una prueba de 'Deshabilitar JavaScript' en cada tipo de página critica: detalle de producto, categoría, resultados de busqueda y página de inicio. Si la página esta vacia o le falta información del producto con JavaScript deshabilitado, su implementación SSR esta rota y necesita atención inmediata.

Optimización de bundles JavaScript para eficiencia de rastreo

Los paquetes JavaScript grandes impactan directamente tanto la experiencia del usuario como la capacidad de Googlebot para renderizar sus páginas. Cada kilobyte de JavaScript que debe descargarse, analizarse y ejecutarse retrasa el renderizado de su contenido de producto. El presupuesto de rastreo de Google es finito, y el JavaScript ineficiente desperdicia recursos de renderizado.

El code splitting es esencial para tiendas de ecommerce. Divida su paquete JavaScript por ruta para que las páginas de producto solo carguen el codigo necesario para la visualizacion del producto. Las importaciones dinamicas permiten diferir funcionalidad no critica.

El tree shaking elimina codigo no utilizado de sus paquetes. Audite sus dependencias regularmente ya que muchas tiendas importan bibliotecas de utilidades completas cuando solo usan unas pocas funciones.

Los scripts de terceros son la fuente más comun de hinchamiento JavaScript en ecommerce. Widgets de chat, plataformas de analytics, motores de recomendacion y pixeles de retargeting anaden cada uno JavaScript que compite con el renderizado de sus productos. Cargue scripts de terceros asincronamente con atributos async o defer.

Monitorice su tiempo de ejecucion JavaScript con la pestana Performance de Chrome DevTools y Lighthouse. Apunte a un tiempo de bloqueo total inferior a 200ms y un time-to-interactive inferior a 3,8 segundos. Para profundizar, consulta nuestra guia de optimización de velocidad del sitio.

Dividir paquetes JavaScript por ruta para cargar solo codigo especifico de la página
Aplicar tree shaking y auditar dependencias para eliminar codigo no utilizado
Cargar scripts de terceros asincronamente con atributos async o defer
Apuntar a un tiempo de bloqueo total inferior a 200ms y time-to-interactive inferior a 3,8 segundos

Manejo de contenido dinamico de producto

Las páginas de producto en tiendas de ecommerce contienen multiples tipos de contenido dinamico: precios que cambian con promociones, estado de inventario en tiempo real, resenas que se acumulan con el tiempo e información especifica de variantes. Cada tipo requiere un enfoque diferente para asegurar la visibilidad en motores de busqueda.

Los precios y la disponibilidad deben renderizarse del lado del servidor con la información de la variante predeterminada o canonica. Cuando un usuario selecciona una talla o color diferente, JavaScript del lado del cliente puede actualizar el precio mostrado. El estado predeterminado renderizado del servidor es lo que Googlebot indexara.

Las resenas de productos son criticas para SEO porque proporcionan contenido unico, cobertura de palabras clave de cola larga y datos estructurados AggregateRating. Si las resenas se cargan asincronamente via llamadas API, pueden no estar disponibles cuando Googlebot renderiza la página.

La navegación facetada y los filtros de producto presentan un desafio complejo de JavaScript SEO. Las interacciones de filtro deben actualizar la URL con parametros rastreables, pero la mayoria de combinaciones de filtros deben bloquearse de la indexación para prevenir la inflación del indice.

Renderizar precios y disponibilidad de la variante predeterminada del lado del servidor para la indexación del primer paso
Incluir schema AggregateRating del lado del servidor aunque las resenas individuales se carguen asincronamente
Usar enlaces <a href> correctos en widgets de recomendacion para descubrimiento de enlaces internos
Controlar la indexación de navegación facetada haciendo rastreables solo las combinaciones de filtro de alto valor
Tip

Cree una lista de verificación de pruebas de renderizado que verifique cada elemento de página de producto contra el HTML renderizado del servidor y el DOM completamente renderizado. Automatice esta prueba para ejecutarse cada noche en una muestra de páginas de producto.

Pruebas y monitoreo de JavaScript SEO

El monitoreo continuo de su pipeline de renderizado JavaScript es esencial porque las actualizaciones de framework, los cambios en scripts de terceros y las modificaciones del CMS pueden romper el renderizado del servidor sin sintomas visibles para el usuario. Una página que funciona perfectamente para los usuarios puede estar completamente vacia para Googlebot si SSR falla silenciosamente.

El informe de Cobertura de Google Search Console es su herramienta de monitoreo principal. Vigile los picos en las categorías 'Descubierta - actualmente no indexada' o 'Rastreada - actualmente no indexada', que a menudo indican fallos de renderizado.

Configure pruebas de renderizado automatizadas usando scripts de Chrome headless o Puppeteer que simulen el comportamiento de Googlebot. Estas pruebas deben deshabilitar JavaScript, capturar el HTML renderizado del servidor, luego rehabilitar JavaScript y comparar el DOM renderizado.

Monitorice sus tasas de error JavaScript en producción con servicios de seguimiento de errores como Sentry o Datadog. Los errores que previenen el renderizado en el entorno de Googlebot pueden no manifestarse en navegadores regulares.

Rastree el rendimiento de renderizado de su página especificamente desde la perspectiva SSR. Monitorice los tiempos de respuesta SSR por separado y configure alertas para tiempos de respuesta que excedan 1-2 segundos. Una auditoria de SEO técnico siempre debe incluir verificaciones de renderizado JavaScript.

Monitorear Cobertura de Search Console para picos en páginas no indexadas o errores de renderizado
Automatizar comparaciones de renderizado entre HTML del servidor y DOM renderizado por JavaScript
Rastrear errores JavaScript en contextos de navegador headless con servicios de monitoreo de errores
Monitorear tiempos de respuesta SSR por separado y alertar ante degradacion más alla de 1-2 segundos

Trabaja con expertos SEO que entienden el e-commerce

La primera agencia SEO del mundo fundada por e-commerce

SEO JavaScript para ecommerce - EcomSEO Academia | EcomSEO