WordPress Missed Scheduled Posts and Cron Issues
Notice Frequency: CommonError 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
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.