WP Cron no funciona en WordPress y cómo repararlo
Si wp cron no funciona, aprende a detectarlo y repararlo paso a paso para recuperar tareas programadas y evitar fallos recurrentes.
Si wp cron no funciona, WordPress puede dejar tareas pendientes sin ejecutar: publicaciones programadas, avisos por email, copias de seguridad, limpiezas automáticas o procesos de plugins. WP-Cron es el sistema de tareas programadas de WordPress y puede fallar por falta de tráfico, bloqueos del servidor, caché agresiva, errores de PHP o una configuración incompleta.
Conviene entender un punto clave: WP-Cron no es un cron real del sistema. WordPress intenta lanzar tareas cuando recibe visitas y llama al archivo wp-cron.php. Por eso, en sitios con poco tráfico o con restricciones del hosting, los eventos programados pueden retrasarse o no ejecutarse.
Qué significa que WP Cron no funciona y por qué afecta a WordPress
Cuando WP-Cron falla, WordPress sigue funcionando en apariencia, pero su sistema de tareas internas deja eventos en cola o los ejecuta tarde. Esto afecta a funciones nativas y a muchos plugins que dependen de eventos programados.
La diferencia importante es esta: WP-Cron depende de visitas al sitio para activarse, mientras que un cron real del servidor se ejecuta a la hora prevista aunque no entre nadie en la web. En proyectos con tráfico irregular, caché de página completa o políticas restrictivas del hosting, suele ser más fiable el cron del servidor.
Síntomas habituales y causas más comunes del fallo
- Publicaciones programadas que no se publican a la hora.
- Emails automáticos que no salen o llegan con retraso.
- Copias de seguridad o sincronizaciones que no arrancan.
- Actualizaciones automáticas o tareas de mantenimiento pendientes.
- Plugins que muestran colas acumuladas o eventos vencidos.
Las causas pueden variar según el hosting y la configuración. En muchos casos, el problema se debe a poco tráfico, bloqueo de peticiones loopback de WordPress, firewall, autenticación a nivel servidor, caché agresiva, límites de recursos, errores de PHP o constantes mal definidas en wp-config.php.
Comprobaciones rápidas antes de tocar archivos
- Revisar Salud del sitio en WordPress por si detecta fallos de loopback o tareas atrasadas.
- Ver si el problema afecta a un solo plugin o a todas las tareas programadas.
- Comprobar si el sitio tiene muy poco tráfico o mucha caché.
- Revisar errores recientes en logs del hosting o de PHP.
Cómo comprobar si las tareas programadas de WordPress se están ejecutando
La vía más simple es revisar Herramientas > Salud del sitio y confirmar si WordPress informa de tareas programadas perdidas o problemas con solicitudes loopback. También puede ayudar una herramienta habitual como WP Crontrol para ver eventos pendientes, aunque no es imprescindible.
Prueba técnica básica
Si tienes acceso al navegador y no hay bloqueos, cargar manualmente wp-cron.php puede disparar tareas pendientes, pero eso no corrige la causa raíz. Solo sirve como indicio de que el sistema responde en parte.
Si las tareas siguen sin salir, conviene revisar si el servidor bloquea peticiones internas, si hay protección por contraseña, reglas de seguridad o errores fatales de PHP que impiden completar el proceso.
Cómo reparar WP Cron desde WordPress y desde wp-config.php
Desde WordPress
- Desactiva temporalmente plugins de caché, seguridad o automatización si sospechas conflicto.
- Comprueba si las publicaciones programadas y otros eventos vuelven a ejecutarse.
- Revisa Salud del sitio y logs para identificar errores de loopback o de PHP.
Desde wp-config.php
Revisa si existe esta constante:
define( 'DISABLE_WP_CRON', true );Si está activa y no hay un cron real del servidor ejecutando WordPress, las tareas no se lanzarán automáticamente. No es una solución universal: desactiva el disparo interno y exige configurar un cron externo.
También existe ALTERNATE_WP_CRON, pero conviene usarlo solo en casos concretos, por ejemplo cuando el entorno impide el método habitual y tras verificar compatibilidad. No es un remedio general.
Cuándo conviene desactivar WP-Cron y configurar un cron real del servidor
En webs con poco tráfico, caché de página completa o tareas críticas, suele ser mejor desactivar WP-Cron y configurar un cron del servidor. Así las tareas se ejecutan cada cierto intervalo sin depender de visitas reales.
La configuración exacta depende del panel del hosting o del acceso al sistema. Lo importante es hacerlo completo: si activas DISABLE_WP_CRON, debe existir un cron real que invoque WordPress periódicamente. En hosting compartido, esta opción suele gestionarse desde cPanel, Plesk o el panel propio del proveedor.
Si necesitas validar el comportamiento, la documentación oficial de WordPress sobre cron es una referencia útil: developer.wordpress.org/plugins/cron/.
Errores frecuentes, buenas prácticas y siguiente paso si el problema continúa
- Desactivar WP-Cron sin crear un cron real del servidor.
- Pensar que cargar wp-cron.php manualmente resuelve el origen del fallo.
- Ignorar errores de PHP, límites de memoria o bloqueos del hosting.
- No comprobar conflictos entre plugins de caché, seguridad y automatización.
Como buena práctica, revisa primero Salud del sitio, confirma si hay eventos vencidos, comprueba el archivo wp-config.php y valida si el hosting permite correctamente las peticiones loopback. Si el sitio depende de tareas críticas, suele ser preferible usar cron real del servidor.
En resumen, cuando wp cron no funciona, la clave está en distinguir si falla el disparo interno, la ejecución de tareas o el entorno del servidor. Si tras estas comprobaciones el problema continúa, conviene revisar conflictos más a fondo o pedir soporte técnico especializado para evitar que publicaciones, copias o automatizaciones sigan acumulando retrasos.
¿Necesitas orientación personalizada?
Te ayudamos a entender tus opciones y el siguiente paso.