WooCommerce / Rendimiento
Problemas de rendimiento en WooCommerce
Las tiendas WooCommerce se ralentizan de formas que una web corporativa nunca conoce: el carrito, el checkout y la cuenta no se pueden cachear, los pedidos hacen crecer la base de datos cada día y las tareas en segundo plano compiten con los clientes por los mismos procesos PHP.
Respuesta corta
Mide primero el tiempo de respuesta del servidor en las peticiones lentas, no las puntuaciones de velocidad. Después averigua a dónde va ese tiempo: consultas a la base de datos, ejecución PHP, llamadas HTTP externas o espera de un proceso PHP libre. Carrito, checkout y cuenta no se pueden cachear, así que su velocidad depende de PHP, la base de datos, la caché de objetos y las tareas en segundo plano.
Recursos técnicos
Guías de rendimiento
- WooCommerce / Rendimiento Problemas con Action Scheduler en WooCommerce Acciones programadas vencidas, fallidas y atascadas: cómo funciona la cola, por qué se detiene y cómo arreglarlo sin perder trabajo pendiente.
- WooCommerce / Rendimiento Checkout lento en WooCommerce: qué revisar Separa el tiempo de PHP, las consultas a la base de datos y las llamadas a APIs externas antes de cambiar la caché o el hosting.
Problemas concretos
A dónde se va el tiempo en WooCommerce
Checkout lento
Llamadas de envío, impuestos o ERP dentro de la petición del checkout; hooks pesados al crear el pedido.
Consultas lentas
Tablas de meta enormes, búsquedas sin índice, opciones autocargadas sobredimensionadas.
Colas de Action Scheduler
Miles de acciones pendientes o fallidas: webhooks, emails, sincronizaciones.
Problemas con WP-Cron
Tareas que solo se ejecutan cuando alguien visita la web, o todas de golpe con el tráfico.
Procesos PHP saturados
Errores 502/504 cuando las peticiones lentas ocupan todos los procesos.
Caché de objetos ausente o inútil
Sin Redis ni Memcached, o una caché que se vacía demasiado a menudo para servir de algo.
Mide antes de optimizar
Las herramientas de velocidad miden el front-end de una visita anónima a una página en caché. La lentitud de WooCommerce suele estar en otro sitio: en las peticiones sin caché (carrito, checkout, cuenta, administración), en consultas que crecen con el número de pedidos y en el trabajo en segundo plano. Empieza por el tiempo de respuesta del servidor (TTFB) de las peticiones lentas concretas y después desglósalo.
| Señal | Cuello de botella probable |
|---|---|
| Lento solo en carrito, checkout y cuenta | Trabajo PHP y de base de datos por petición, llamadas externas |
| Pantalla de pedidos de la administración lenta | Consultas de pedidos, recuentos, extensiones que añaden columnas |
| 502/504 con carga | Procesos de PHP-FPM agotados por peticiones lentas |
| Emails, webhooks o sincronizaciones con retraso | Cola de Action Scheduler acumulada, WP-Cron que no se ejecuta |
| Todo lento tras crecer | Tamaño de la base de datos, opciones autocargadas, falta de caché de objetos |
Qué suele ayudar y qué no
Sacar las llamadas externas de la petición del checkout, ejecutar el trabajo pesado mediante Action Scheduler, añadir una caché de objetos persistente, limpiar sesiones caducadas y opciones sobredimensionadas y dimensionar PHP-FPM para el tráfico real suelen marcar una diferencia medible. Añadir un segundo plugin de caché de páginas, «optimizar» la base de datos con herramientas que borran datos que no entiendes o contratar más hosting sin medir no suelen hacerlo.
Preguntas frecuentes
¿Por qué el checkout de WooCommerce es lento?
El checkout no se puede cachear, así que cada petición ejecuta PHP y consultas a la base de datos. Los culpables habituales son las llamadas síncronas a servicios de envío, impuestos o ERP, los hooks a medida pesados al crear el pedido y la falta de caché de objetos.
¿Qué es Action Scheduler?
La cola de tareas en segundo plano que usa WooCommerce para webhooks, emails, renovaciones de suscripciones y muchas extensiones. Se ve en Herramientas → Acciones programadas. Un número creciente de acciones pendientes o fallidas es una señal de alerta temprana.
¿Debería desactivar WP-Cron?
En tiendas con mucho tráfico, sustituir el WP-Cron que depende de las visitas por una tarea cron real del servidor que lo ejecute cada minuto suele ser más fiable. Desactivarlo sin sustituirlo detiene todo el trabajo programado.
$ describe el problema
¿Tienes un problema con WooCommerce?Solicita un diagnóstico.
Cuéntanos qué falla, qué ha cambiado últimamente y cómo afecta al negocio. Revisamos cada solicitud y te recomendamos el siguiente paso.
Nunca envíes contraseñas, claves API ni datos de tarjetas a través del formulario.