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?
- 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.
- WP-Cron is disabled — Someone (maybe you, maybe your host) added
DISABLE_WP_CRONto wp-config.php without setting up a real cron job as a replacement. - Server timeout or resource limits — Your hosting environment kills long-running PHP processes before WP-Cron finishes its queue.
- Plugin conflict — A poorly coded plugin hooks into the cron system and breaks the scheduling pipeline. Caching plugins are frequent offenders.
- 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):