WordPress Missed Scheduled Posts and Cron Issues

Error message:
Missed scheduleWordPress uses a pseudo-cron system (WP-Cron) that fires on page loads. Unlike a real server cron job that runs at fixed intervals, WP-Cron only runs when someone visits your site. On low-traffic sites, this means scheduled posts can be published late and maintenance tasks are missed.
Common Causes
- WP-Cron depends on site visits u2014 low-traffic sites miss scheduled events
- DISABLE_WP_CRON is set to true but no system cron is configured
- Caching plugin serving cached pages instead of triggering wp-cron.php
- Server blocking wp-cron.php requests (firewall or security plugin)
- Long-running cron tasks blocking subsequent executions
How to Fix It
- Set up a real system cron: Add
define('DISABLE_WP_CRON', true);to wp-config.php, then add a system cron:*/5 * * * * curl -s https://yourdomain.com/wp-cron.php > /dev/null 2>&1 - Use WP-CLI cron:
*/5 * * * * cd /path/to/wordpress && wp cron event run --due-now - Check if wp-cron.php is accessible:
curl -I https://yourdomain.com/wp-cron.phpshould return 200 - Manually trigger missed posts: Use WP-CLI
wp post list --post_status=future --fields=ID,post_titleto find and publish them
⚡
Diagnosing WordPress errors?
WP Multitool helps you find and fix performance issues, slow queries, and plugin conflicts without guesswork.
Frequently Asked Questions
Why are my WordPress scheduled posts not publishing on time?
WP-Cron only fires on page visits. If nobody visits your site around the scheduled time, the post won't publish until the next visit. Set up a real system cron job to fix this.
Should I disable WP-Cron?
On production sites, yes u2014 disable WP-Cron and use a real system cron instead. This is more reliable and prevents cron from adding latency to page loads.
Get WordPress Performance Tips
Plugin reviews, speed optimization guides, and error debugging — straight to your inbox.
No spam. Unsubscribe anytime. We respect your privacy.