WordPress Missed Schedule Error: Why It Happens and How to Fix It
You schedule a post for 9 AM, check your site later and it is not there. In the dashboard the post carries a red “Missed schedule” label. This WordPress missed schedule error has caught bloggers out for years, including us: in 2009 several of our future-dated posts never went live while we were travelling. Here is why it happens and how to fix it for good in 2026.

Quick answer: WordPress publishes scheduled posts through WP-Cron, which only runs when someone visits your site. If no visit (or a cached visit) triggers it at the right time, the post misses its schedule. The reliable fix is to disable the built-in trigger with DISABLE_WP_CRON in wp-config.php and set up a real server cron job that calls wp-cron.php every few minutes.
Table of Contents
Why WordPress missed schedule happens
WordPress does not have a clock running in the background. Its scheduler, WP-Cron, checks for due tasks (publishing scheduled posts, sending emails, running backups) when a page on your site is loaded. That causes problems when:
- Traffic is low: no visitor arrives near the scheduled time, so nothing triggers the publish.
- Pages are cached: a page cache or CDN serves stored HTML, so WordPress itself never runs for that visit.
- wp-cron.php is blocked: a security plugin, firewall rule or password protection stops WordPress from calling its own cron file.
- The server is busy or briefly down at the exact moment the task should run.
- Time zone is wrong: the time zone in Settings > General does not match the time you meant.
This is exactly what we saw back in 2009: our server logs showed no real downtime, yet posts set to go live while we were away simply stayed unpublished with this label:
![]()
Quick fix for a post that already missed its schedule
- Go to Posts and open the post marked Missed schedule.
- Click Publish (or set a new future time and click Schedule).
- Check Settings > General > Timezone and choose your city rather than a UTC offset, so the time follows daylight saving changes.
Permanent fix: use a real server cron job
The official WordPress developer handbook (external site) explains how to hand WP-Cron to your server’s own task scheduler.
Step 1: turn off the visitor-triggered cron
Add this line to wp-config.php, above the line that says “That’s all, stop editing”:
define( 'DISABLE_WP_CRON', true );Step 2: add a server cron job
In your hosting control panel (most have a “Cron Jobs” section) or with crontab on a VPS, add a job that loads wp-cron.php regularly. For publishing on time, every 5 or 15 minutes works well, for example:
*/15 * * * * wget -q -O /dev/null https://example.com/wp-cron.phpReplace example.com with your own site address (include the folder if WordPress lives in one). If your host offers WP-CLI, the command wp cron event run --due-now run from your site folder is another option.
Step 3: confirm it works
Schedule a test post 20 minutes ahead and check that it goes live without you visiting the site.
Check and debug your cron events
- WP Crontrol (external site) lists every scheduled event, shows when it last ran and lets you run or pause events by hand. It is the quickest way to see if WP-Cron is stuck.
- Tools > Site Health in WordPress warns when scheduled events are late or failing.
- Ask your host whether wp-cron.php is blocked or rate-limited, and whether loopback requests are allowed.
What changed since 2009
When we first wrote about this, we asked WordPress to keep retrying until a missed post went live. WordPress still relies on visits to run WP-Cron, so the problem has not disappeared, especially on cached sites. What has changed is the tooling: the developer handbook now documents the server cron method, Site Health flags late events, and plugins such as WP Crontrol make it easy to see what is going on. For a site that schedules posts regularly, a real cron job is the dependable answer.
WP-Cron also runs other jobs such as automatic plugin and theme updates, so a reliable cron setup helps those too. On a VPS, see how to change cron time in cPanel and WHM.
FAQ
What does “Missed schedule” mean in WordPress?
It means the scheduled publish time has passed but WordPress did not publish the post, usually because WP-Cron did not run at that time.
Is it safe to disable WP-Cron?
Yes, as long as you replace it with a server cron job. If you disable it without a replacement, scheduled posts and other tasks stop running.
How often should the server cron job run?
Every 5 to 15 minutes suits most blogs. Posts then go live within that window of their scheduled time.
Can a caching plugin cause missed schedules?
Yes. If cached pages are served without loading WordPress, WP-Cron is not triggered. A server cron job removes that dependence on visits.
Stuck on a gift? Try our free Gift Idea GeneratorIdeas for anyone by age, job, interests and budget, with Amazon.com and Amazon.in linksFind gifts →Get our free weekly email: new tech guides and tools, no spam.
New and updated tech guides, a free tool worth bookmarking and one useful pick, once a week. No spam, unsubscribe anytime.
One email a week. Unsubscribe anytime. See our privacy policy.







The fact that our future blog posts may not be published on schedule is very worrying.
I agree that the auto responders should have a built in function to check any schedules that may have been missed due to their own downtimes. Especially just lately auto responders seem to be getting attacked more frequently causing a lot of downtime.
Pauline
There is a plugin to address this issue.
WP Missed Schedule Fix Failed Posts
https://wordpress.org/plugins/wp-missed-schedule/
This has happened to me a couple of times while using the previous versions of wordpress. I have not had any issues with 3.1 version.
I do not know … must try … thanks
In many ways, companies are just like people. ,
I am facing the same problem . I uesd wp 2.8.4 .Plugin can’t work for my blog
well i think its not in 2.7 version, as i haven’t encountered with any of such thing.
This has not happened to me with 2.7.1 so maybe it has been fixed?
this is the problem that i face
how to solve this problem
Try this one: http://blog.5ubliminal.com/posts/missed-schedule-future-posts-scheduled-mias-wordpress-plugin/ .
I’ve run into the same issue on one of my blogs running 2.6.2. Jade, will your fix work on versions older than 2.6.5?
I always use future posting, I spend a few hours researching & writing, then set the posts to publish once a day. That way I’m not tied to my keyboard!
I’ve never missed one, but I did notice the last post I did decided to use a different font & text colour, making the post (a very good one on slow cookers I might add!) invisible! I’ll be keeping a closer eye in future, but if you have to manually cheeck everything that goes live, what’s the point of future posting?
I’ve tried Jade’s fix on three blogs, and it does appear to work on all of them.
The issue has nothing to do with server downtime. It is a bug in the WP chron file since 2.6. Search “wordpress missed schedule” to find the WP thread on this. I might try Jade’s fix.
@QuickOnlineTips – I’m happy to report that out of a dozen or so folks who have tried my fix (that I know of) it has worked for all but 1 of them…perhaps his server environment was the issue as he has been the only one to report so far that this fix didn’t work…I’d say 11 out of 12 ain’t bad…
I was about to write about this, I have had this problem many times, only in WP2.7. Many of my scheduled post missed schedule, no server error or downtimes.
I’ve been pulling my hair out trying to fix this issue since I upgraded to WordPress 2.7 – I looked at some of the fixes around the Internet and some were too complicated with curl and php.ini file edits. So I chose the option of overwriting two files in my WordPress installation that involved the cron jobs trigger and I managed to solve my problem. You can check out my blog post where I detail the fix for this issue http://newbloghelp.com/wordpress/wordpress-missed-schedule-future-posts-fix/
@Jade – Maybe you hit the solution. Did anyone check it out?
I have been using this feature for sometime now, but I haven’t faced any such situation till now. Is it a problem of WordPress 2.7???
Even if the wp-cron has problem to run in the first time, WordPress should try to run it again after some time, says 15 mins later. After several tries, if still fail, then log down the issue and will not retry again. And I think WordPress should implement a logging system to log down all the critical activity in the system so that we can trace the problem.
This could be an issue with your host as well. I have had problems on some hosts where the wp-cron does not run properly. Try a search on the WordPress forums there might be something there that can help you.
Word press is great software. I hope Great developers are working always in optimizing the software to give better experience to the users. I hope they got to know this issue and they might fix it soon. I never came across such an issue why because I don’t have an habit to write future posts…lol… :)
I think this would affect all versions of WordPress. I hope the next version of WordPress takes this issue into account. Future posting is a great tool, but we have to ensure it works.
So I am not alone..
I faced the exact issue this weekend when I planned to travel and saved a couple of posts for future posing and they were never published. I am using WordPress 2.6.5. Though, this was the first time I faced the issue, it has always worked in the past.
There was no obvious reason for it. I hope there is an answer.
I found that the ‘scheduled posting’ stop working since WP 2.6 after I upgraded from ver 2.5.2 at my site protradeshares.com
Since then I never trust the schedule posting anymore. I just post as and when I can.
Well, I guess it is a free software. Can’t expect too much, but WordPress is usually the best!
An excellent catch and it came as a surprise. Its good to know that wordpress handles this but again they should have made the feature of try publish on failure again.
I am sure wordpress will listen to this.
I agree that if the post can’t go live at the specified time for whatever reason, it needs to go live ASAP after that time. Obviously WordPress knows it couldn’t go live at the proper time, and if that happens it should push it live at the next possible time, not wait for you to publish it.
I’d never heard of anything like this happening before, so I’m a bit surprised by it. I’m not entirely familiar with how scheduling works in WordPress in terms of the “cron” daemon it uses, but it seems reasonable that it could check for past-due drafts every 10 or 15 minutes with negligible impact on the server.
This is a timely article, considering that two blog posts I scheduled last week never went live. My point to WordPress is, why have the feature if it only occasionally works? One thought is that WP isn’t aware of the issue, and if they were notified by enough bloggers, a fix might be included in the next WP release. Ugh. Very frustrating, but good to know I’m not the only one to whom this has happened.