Empieza tu prueba gratuita de 7 díasSin tarjeta de crédito

Plataformas

Acelerar WooCommerce sin romper el carrito ni el checkout

Qué páginas de WooCommerce se pueden cachear, cuáles deben seguir siendo dinámicas y cómo hacer tu tienda más rápida sin perder pedidos.

9 min de lectura

Puedes hacer WooCommerce mucho más rápido si cacheas las páginas que todos los clientes ven igual, como las de producto, las categorías y las páginas de contenido, y dejas el carrito, el checkout y la cuenta completamente dinámicos. La mayoría de los carritos rotos tras un proyecto de velocidad vienen de ignorar esa separación. En esta guía verás qué página va a cada lado, cómo comprobarlo y qué más frena una tienda una vez que la caché está en marcha.

Por qué WooCommerce va más lento que un WordPress normal

WooCommerce funciona sobre WordPress, así que todo lo que ralentiza WordPress también le afecta: el hosting, los plugins, el tema y las imágenes. Si todavía no has revisado esos puntos básicos, empieza por por qué va lento un WordPress.

A eso se suma la carga propia de una tienda:

  • Más datos por página. Las fichas de producto consultan precios, variaciones, stock, clases de impuestos, valoraciones y productos relacionados.
  • Sesiones y cookies. En cuanto alguien añade un producto al carrito, WooCommerce inicia una sesión y guarda cookies. A partir de ahí, las peticiones de ese visitante son personales.
  • Peticiones AJAX. Los botones de añadir al carrito, el mini carrito y las actualizaciones del checkout llaman al servidor a través de los endpoints wc-ajax.
  • Trabajo en segundo plano. Los correos de pedidos, la sincronización de stock, los webhooks y las acciones programadas se ejecutan a la vez que el tráfico normal.
  • Extensiones. Pasarelas de pago, calculadoras de envío, filtros de producto y herramientas de marketing añaden cada una sus scripts y consultas.

Por eso el tiempo de respuesta sin caché de una tienda es mayor que el de un blog, y por eso la caché es a la vez más valiosa y más delicada.

Qué puedes cachear y qué no

La regla es sencilla: si la página se ve igual para cualquier visitante anónimo, cachéala. Si depende de quién la mira, no.

Tipo de página¿Cachear para visitantes anónimos?Notas
Portada, páginas de contenido, blogSíVacía la caché después de editar
Archivos de categorías y etiquetasSíLas URL de filtros con parámetros requieren cuidado
Páginas de productoSíVacía la caché cuando cambian el precio o el stock
Carrito (/cart/)NoSiempre es personal
Checkout (/checkout/)NoPersonal, contiene nonces y datos de pago
Mi cuenta (/my-account/)NoZona con sesión iniciada
Enlaces ?add-to-cart=NoModifican la sesión
Peticiones wc-ajax y admin-ajax.phpNoDinámicas por diseño
Cualquier petición con cookie de carrito o de sesiónNoEl visitante tiene un carrito activo

WooCommerce documenta las páginas y cookies que hay que excluir en su guía para configurar plugins de caché (en inglés). Las cookies más importantes son woocommerce_items_in_cart, woocommerce_cart_hash y wp_woocommerce_session_*, además de las cookies de inicio de sesión de WordPress.

Excepción por cookies

Las reglas por URL no bastan. En cuanto un visitante tiene algo en el carrito, incluso una ficha de producto puede mostrar un mini carrito con sus artículos. Una buena configuración de caché se salta cualquier petición que lleve una cookie de sesión o de carrito de WooCommerce, para que un cliente con el carrito lleno nunca vea la página de otra persona.

Prueba el carrito y el checkout después de cada cambio

En una tienda, cualquier cambio de velocidad necesita una prueba funcional, no solo una prueba de rendimiento. Cuando actives o modifiques la caché, recorre el proceso de compra completo en una ventana privada:

  1. Abre una página de producto como visitante anónimo.
  2. Añade el producto al carrito y comprueba que el mini carrito se actualiza.
  3. Abre el carrito, cambia la cantidad y aplica un cupón.
  4. Ve al checkout, cambia el país de envío y observa cómo se actualizan los totales.
  5. Haz un pedido de prueba con un método de pago en modo sandbox.
  6. Inicia sesión como cliente y abre el área de cuenta.

Después revisa las cabeceras de respuesta del carrito y del checkout. Deben indicar bypass o miss, nunca hit:

curl -sI https://shop.example.com/checkout/ | grep -i -E "cache|set-cookie"

Mantén frescas las páginas cacheadas

Cachear las fichas de producto plantea una pregunta lógica: ¿qué pasa cuando cambian el precio o el stock?

  • Vacía la caché al actualizar. Cuando edites un producto, vacía su URL y las páginas de categoría en las que aparece. Muchas configuraciones de caché lo hacen automáticamente con un plugin o una llamada a la API.
  • Vida corta para las páginas volátiles. Si el stock cambia constantemente, dale a las fichas de producto una vida en caché más corta en lugar de dejar de cachearlas.
  • Precalienta las páginas importantes. Después de vaciar la caché, el primer visitante provoca un cache miss. Precalentar los productos y categorías principales los mantiene rápidos.
  • Rebajas e importaciones. Antes de que empiecen las rebajas o después de una importación masiva de precios, vacía de forma deliberada las páginas afectadas.

Geolocalización y monedas

Si tu tienda muestra precios según el país del visitante, las páginas cacheadas pueden mostrar impuestos o monedas equivocados. WooCommerce ofrece la opción "Geolocate (with page caching support)" para la ubicación predeterminada del cliente, que añade un parámetro a la URL para que cada ubicación tenga su propia copia en caché. Los plugins de cambio de moneda necesitan un tratamiento parecido. Consulta en su documentación si son compatibles con la caché antes de confiar en ellos.

Acelera las partes dinámicas

El carrito y el checkout nunca se van a cachear, así que su velocidad depende del servidor y del código.

Cart fragments

Los temas clásicos suelen cargar el script wc-cart-fragments, que llama al servidor al cargar la página para refrescar el mini carrito. En una tienda con mucho tráfico eso supone una petición sin caché encima de cada visita a una página cacheada. Comprueba si tu tema lo necesita de verdad. Si no usas un mini carrito en la cabecera, es posible que puedas prescindir de él, y muchos plugins de rendimiento tienen un ajuste para eso.

Checkout

  • Quita los campos y las extensiones del checkout que no necesites: cada plugin de envío o de pago añade scripts y llamadas al servidor.
  • Carga los scripts de pago solo en la página de checkout, no en toda la web.
  • Reduce al mínimo las actualizaciones AJAX del checkout. Cada cambio de dirección o de método de envío recalcula los totales en el servidor.

La agilidad del checkout es justo lo que mide INP: lo rápido que reacciona la página cuando el cliente hace clic o escribe.

Base de datos y tareas en segundo plano

  • Activa High-Performance Order Storage (HPOS) si tus extensiones son compatibles. Guarda los pedidos en tablas propias en lugar de en la tabla de posts.
  • Vigila Action Scheduler. En la pantalla de acciones programadas (WooCommerce > Status > Scheduled Actions en la interfaz en inglés), una lista larga de acciones fallidas o pendientes suele apuntar a una extensión que da problemas.
  • Añade una caché de objetos persistente (Redis o Memcached) para que las consultas repetidas de productos, opciones y sesiones salgan de la memoria.
  • Sustituye WP-Cron por un cron real del servidor para que el trabajo programado no se ejecute dentro de la petición de un cliente.

Para analizar a fondo los tiempos de respuesta del servidor, consulta la guía para reducir el TTFB.

Imágenes y scripts en las fichas de producto

Las galerías de producto suelen ser la parte más pesada de una tienda. Usa WebP o AVIF, sirve tamaños que encajen con el diseño de la galería y no apliques lazy loading a la imagen principal del producto, porque normalmente es tu elemento LCP. Los scripts de zoom, lightbox y sliders deberían cargarse solo en las fichas de producto, no en todas las páginas de la web.

Revisa también tus scripts de seguimiento y de marketing. Cada píxel, widget de chat y sello de valoraciones compite con el código de la propia tienda en el hilo principal.

Si gestionas o comparas otros sistemas de tienda, la guía de rendimiento de Shopware 6 trata la misma separación entre caché y contenido dinámico para la caché HTTP de Shopware.

Cómo te ayuda fast.site

fast.site se coloca delante de tu hosting de WooCommerce. Mantienes tu proveedor: añades tu dominio en el panel y cambias tus servidores de nombres a fast.site. A partir de ahí, fast.site gestiona tu DNS, así que todos los registros existentes, incluidos los registros MX del correo de tu tienda, tienen que estar en la zona DNS de fast.site.

Fast Edge Cache™ puede servir desde el edge las páginas de producto, de categoría y de contenido para visitantes anónimos, en las regiones disponibles en tu plan. Un cache HIT nunca llega a tu servidor de origen, lo que deja más capacidad para el carrito y el checkout en las horas punta. El carrito, el checkout, las páginas de cuenta y las sesiones deben saltarse la caché, y la cabecera fs-cache muestra BYPASS en esos casos, así que puedes comprobar cada página con la prueba de checkout de arriba. Cuando cambian los precios o el stock, vacías las URL desde el panel o mediante la API, y el precalentador de caché mantiene listas las páginas importantes.

fast.site también puede convertir las imágenes de producto a WebP al vuelo (AVIF según tu plan) y filtrar bots maliciosos e inundaciones HTTP en el edge antes de que lleguen a tu tienda. Encontrarás los detalles de configuración en la página de WooCommerce y en el artículo sobre la integración con WooCommerce.

Mide tu tienda antes y después, incluido un recorrido completo por el checkout. Puedes empezar con una prueba gratuita de 7 días, sin tarjeta de crédito.

Preguntas frecuentes

¿Se pueden cachear las páginas de WooCommerce?

Sí. Para visitantes anónimos puedes cachear la portada, las páginas de contenido, los archivos de categorías y las fichas de producto. El carrito, el checkout, el área de cuenta, las peticiones AJAX y cualquier visitante con una cookie de carrito o de sesión deben saltarse la caché.

¿Por qué va lento el checkout de WooCommerce?

El checkout nunca se cachea, así que refleja la velocidad real de tu servidor y de tus extensiones. Las causas habituales son un hosting lento, muchos plugins de pago y de envío, llamadas a APIs externas para tarifas de envío o impuestos y recálculos frecuentes mientras el cliente rellena el formulario.

¿La caché rompe el carrito de WooCommerce?

Solo si está mal configurada. Los problemas aparecen cuando se cachean el carrito, el checkout o las peticiones con cookies de sesión de WooCommerce. Exclúyelos y prueba después el proceso de compra completo en dos navegadores a la vez.

¿Cómo mantengo actualizados los precios y el stock con la caché activa?

Vacía la URL del producto y sus páginas de categoría cada vez que cambies un producto, y hazlo de forma deliberada antes de unas rebajas o después de una importación. En tiendas donde el stock cambia constantemente, usa vidas en caché más cortas para las fichas de producto.

¿Debo desactivar los cart fragments?

Si tu tema no muestra un mini carrito, la petición de cart fragments suele ser carga innecesaria. Si lo muestra, mantenla o cambia a una solución compatible con tu tema, y comprueba que el contador del carrito sigue actualizándose al añadir un producto.

Prueba fast.site con tu propia web

fast.site añade caché en el edge, optimización de imágenes y protección DDoS a tu hosting actual. Conecta tu dominio y mide la diferencia en tus propias páginas.

Dale 7 días a tu web. Que decidan los resultados.

Empieza con tu dominio, tu tráfico y una idea clara de lo que ocurre después.