Troubleshooting

Diagnose "Missed schedule"

Reviewed on 3 min read wordpress cron errores

After scheduling a post, Missed schedule may appear (Programación perdida on Spanish installations). The notice confirms that publishing did not complete at the planned time, but does not establish whether there was not enough traffic, a loopback request failed or an error occurred while publishing.

1. Run a controlled test

Schedule a test post for a few minutes later and note the time and time zone. When that time has passed, visit the website once:

  • If it is published after the visit, traffic-dependent execution is a strong hypothesis.
  • If it is still pending, check the PHP log for that time, Tools > Site Health and any loopback request error.

Also check whether wp-config.php contains define('DISABLE_WP_CRON', true);. That value stops visits from starting WP-Cron; do not change it until you have confirmed whether a real cron job exists on the server.

2. Check the event

With WP-CLI you can list the events and compare their next run with the current time:

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

Find the test's publishing event. Do not delete recurring events without identifying the component that registered them. The following command runs all due events, not just publishing: it may send emails or trigger shop tasks. Use it on staging or after reviewing and authorising its effects on that installation:

wp cron event run --due-now

Then check whether the post is published and review the PHP log for the same time. This run only confirms that the event could complete at that moment; it does not explain the delay.

3. Set up a real cron job only if needed

If you have confirmed there is not enough traffic, follow the guide to replace WP-Cron with a server task. Create and test the task first. You can then set DISABLE_WP_CRON to true to avoid duplicate runs.

Schedule another post and confirm that it is published without visiting the website. Check several runs and keep a temporary error log. A cron plugin can help you inspect the queue, but it does not fix a blocked loopback, a PHP error or a misconfigured server task.

Time and scope of the test

next_run_gmt is expressed in UTC and may differ from the time configured for the site. Check both before concluding that the event is late. Run WP-CLI from the correct directory and with that installation's PHP and user; on multisite, also identify which site the post belongs to.

A test post may become public and trigger notifications to subscribers. Use staging or content prepared for that purpose. wp cron event list shows the current schedule, not a history of successful runs.

You may also find useful

Something wrong or out of date? Tell us and we will review it.