Solucionar problemas

Diagnosticar "Programación perdida" o "Missed schedule"

Revisado el 3 min de lectura wordpress cron errores

Tras programar una entrada puede aparecer Programación perdida o Missed schedule. El aviso confirma que la publicación no se completó a la hora prevista, pero no determina si faltó tráfico, falló una petición loopback o se produjo un error durante la publicación.

1. Registra una prueba controlada

Programa una entrada de prueba para unos minutos después y anota la hora y zona horaria. Cuando pase la hora, visita la web una vez:

  • Si se publica después de la visita, la ejecución dependiente del tráfico es una hipótesis fuerte.
  • Si sigue pendiente, revisa el registro PHP de esa hora, Herramientas > Salud del sitio y cualquier error de petición loopback.

Comprueba también si wp-config.php contiene define('DISABLE_WP_CRON', true);. Ese valor impide que las visitas inicien WP-Cron; no lo cambies hasta confirmar si existe una tarea cron real en el servidor.

2. Comprueba el evento

Con WP-CLI puedes listar los eventos y comparar su próxima ejecución con la hora actual:

wp cron event list --fields=hook,next_run_gmt,next_run_relative

Localiza el evento de publicación de la prueba. No borres eventos recurrentes sin identificar el componente que los registró. La siguiente orden ejecuta todos los eventos vencidos, no solo la publicación: puede enviar correos o activar tareas de tienda. Úsala en staging o después de revisar y autorizar sus efectos en esa instalación:

wp cron event run --due-now

Comprueba después si la entrada se publica y revisa el registro PHP de la misma hora. Esta ejecución solo confirma que el evento pudo completarse en ese momento; no explica el retraso.

3. Configura un cron real solo si hace falta

Si has confirmado que falta tráfico, sigue la guía para sustituir WP-Cron por una tarea del servidor. Crea y prueba primero la tarea. Después podrás establecer DISABLE_WP_CRON en true para evitar ejecuciones duplicadas.

Programa otra entrada y confirma que se publica sin visitar la web. Revisa varias ejecuciones y conserva un registro temporal de errores. Un plugin de cron puede ayudar a inspeccionar la cola, pero no corrige un loopback bloqueado, un error PHP ni una tarea del servidor mal configurada.

Hora y alcance de la prueba

next_run_gmt se expresa en UTC y puede diferir de la hora configurada para el sitio. Comprueba ambas antes de concluir que el evento está atrasado. Ejecuta WP-CLI desde el directorio correcto y con el PHP y usuario de esa instalación; en multisitio, identifica también el sitio al que pertenece la entrada.

Una entrada de prueba puede hacerse pública y disparar avisos a suscriptores. Utiliza staging o contenido preparado para esa finalidad. wp cron event list muestra la programación actual, no un historial de ejecuciones correctas.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.