Missed Schedule

Missed Schedule

Elena Rodriguez ·

Symptoms

You scheduled a post for 8 AM and it’s noon — the post still hasn’t gone live. Instead, you see “Missed schedule” in red text next to it in the Posts list. This happens because WordPress relies on a virtual cron system (WP-Cron) that only fires when someone visits your site. No visitors, no cron, no published post.

What Causes Missed Schedule?

  1. Low traffic site — WP-Cron only runs when a page is loaded. If nobody visits your site between the scheduled time and when you check, the cron job never fires.
  2. WP-Cron is disabled — Someone (maybe you, maybe your host) added DISABLE_WP_CRON to wp-config.php without setting up a real cron job as a replacement.
  3. Server timeout or resource limits — Your hosting environment kills long-running PHP processes before WP-Cron finishes its queue.
  4. Plugin conflict — A poorly coded plugin hooks into the cron system and breaks the scheduling pipeline. Caching plugins are frequent offenders.
  5. Timezone mismatch — WordPress is set to one timezone, your server runs another, and the cron comparison logic gets confused about when “now” actually is.

How to Fix It

Step 1: Publish the Stuck Posts

First, deal with the immediate problem. You’ve got posts sitting there with “Missed schedule” that need to go live.

Via WP-CLI (the right way to do this):