Guía para decidir mejor
Qué hacer cuando las tareas programadas de WordPress no se ejecutan
Identifica si el evento falta, está atrasado o falla al ejecutarse.
Si las tareas programadas de WordPress no se ejecutan, no desactives WP-Cron de inmediato. Primero identifica qué evento falta, cuándo debió correr y si depende de visitas, una llamada de retorno al propio sitio o una cola del plugin. Publicaciones pendientes, copias, correos y procesos de WooCommerce pueden usar sistemas distintos, así que diagnostica la tarea concreta.
Comprueba si está programada o atrasada
Consulta Salud del sitio y el panel de la extensión responsable. Con acceso técnico, WP-CLI puede listar eventos y sus próximas ejecuciones; no ejecutes toda la cola indiscriminadamente en una tienda. Apunta zona horaria, frecuencia, hora de la última ejecución y error del log. Si el evento nunca aparece, puede faltar su registro; si existe pero está vencido, examina el disparador. La documentación oficial de WP-Cron explica que, por defecto, WordPress comprueba tareas al cargar páginas, no como un servicio que funciona continuamente.
Revisa visitas, loopback y configuración
Un sitio con poco tráfico puede ejecutar una tarea tarde. Un loopback bloqueado, DNS incorrecto, autenticación forzada, firewall o DISABLE_WP_CRON configurado sin alternativa también pueden impedirla. La guía oficial de loopbacks propone revisar estas llamadas cuando fallan publicaciones programadas. Comprueba el código de respuesta de wp-cron.php desde el propio entorno; un 200 aislado no garantiza que el trabajo del plugin terminara.
Ejemplo: un blog pequeño publica a las 17:00, pero la primera visita del día llega a las 18:00. El retraso es coherente con un disparador basado en visitas. En otro caso hay tráfico constante, pero el panel muestra errores de loopback 403 tras una nueva regla de firewall; la solución exige revisar esa regla, no aumentar CPU por intuición.
Decide si conviene un programador del sistema
En proyectos con tareas sensibles al tiempo, acuerda con el proveedor un cron del sistema que invoque WP-Cron a una frecuencia apropiada. Solo después de confirmar que funciona, desactiva el disparador por visitas si el diseño lo requiere; hacerlo antes dejaría la cola detenida. Asegura que la invocación no exponga credenciales y evita ejecuciones solapadas o intervalos excesivos. La orientación de rendimiento de WordPress contempla este reemplazo como opción, no obligación universal.
Prueba la tarea real
Comprueba que un evento de bajo riesgo se ejecuta una vez, que su resultado llegó al destino y que no se duplicó. Para WooCommerce, compara acciones programadas, pedidos y notificaciones sin reejecutar cobros. Revisa el log durante varios ciclos. Si tras una migración faltan tareas, consulta las pruebas posteriores. Solicita ayuda técnica con nombre del evento, próxima fecha y error saneado.
Si la incidencia está en la cola de la tienda, investiga las acciones WooCommerce atrasadas antes de ejecutar lotes pendientes.