WordPress “Missed Schedule” Posting Error

"Missed Schedule" -- why your blog post never got published and how to fix it.

Hi Ashley!
I have been noticing a lot lately that my scheduled WordPress.org blog posts are not getting posted. I’ll go check on them, and they will say “Missed Schedule”. The date and time are correct on them, so I know that should have gone live. Why is this happening, and what can I do? It’s hard, because sometimes my posts MUST go up on time. Thanks!
Jana

Hi Jana!

So I’m going to talk about two separate things here: cron jobs, and WP-Cron.

A cron job is kind of like a timer on the server. You set it up to go off at a certain time, then when the timer goes off, the server performs a specific action. So if you were to think about it in terms of scheduling posts, it would work like this:

You schedule a post for January 1st, 2014 at 3pm. You have the cron job set up to run every 30 minutes. So every 30 minutes it checks to see, “Does anything need to be done?” It checks at 2:30, and nothing needs to be done because there are no posts scheduled. Then it checks again at 3:00, and it sees that a post needs to be published, so it completes that action.

However, this is NOT the system that WordPress uses.

Why WordPress doesn’t use cron jobs.

WordPress doesn’t use “real” cron jobs because in order to set them up, you have to configure things on your server, and WordPress doesn’t have direct access to that. It’s something you have to set up manually. So instead, WordPress has created a workaround called WP-Cron.

WP-Cron gets loaded at the start of every page load. It checks to see if it’s supposed to publish anything, and if so, then it publishes it. However, since WP-Cron gets activated on page loads, it ONLY works when the page gets loaded.

If no one visits your site when a post is scheduled to be published, the WP-Cron doesn’t load and the post doesn’t publish.

Here’s an example…

Let’s say you schedule a post for January 1st, 2014 at 3:00 pm. But in this example, no one visits your blog at all between 1pm and 5pm on that day. Then, WP-Cron never gets loaded, because your site got zero page loads at 3pm, when your post was supposed to be scheduled. If WP-Cron never gets loaded, then it can’t publish the post. This can result in a “Missed Schedule”.

A real cron job, however, runs on time regardless of whether there are page loads or not. That’s why it’s a superior solution.

But you can set up WordPress to use real cron jobs instead!

The best solution is to change your WordPress installation to use real cron jobs instead of the WP-Cron alternative. Here’s a great guide you can follow: Using a Real WordPress Cron Job for Increased Reliability. This is what I’ve done on my own site, and I highly recommend it.

Alternatively, you could try installing this plugin: WP Missed Schedule Fix Failed Future Posts. Setting up a real cron job is a much better solution, but if you can’t (or really don’t want to) do it for some reason, give this plugin a try. I’ve never used it, so I can’t vouch for it, but it might be a decent solution.

Photo of Ashley
I'm a 30-something California girl living in England (I fell in love with a Brit!). My three great passions are: books, coding, and fitness. more »

Don't miss my next post!

Sign up to get my blog posts sent directly to your inbox (plus exclusive store discounts!).

You might like these

25 comments

  1. I use the WP Missed Schedule Fix Plugin and I can definitely vouch for it. With it I’ve never missed a scheduled post since πŸ™‚

    But thanks Ashley for explaining this! I had always wondered why WP could miss scheduled posts and it never seemed to make sense to me.

    Charlotte @ Gypsy Reviews recently posted: The First Blogoversary!
  2. I’ve used the Missed Schedule plugin and it works really well. I googled this problem a few months ago and it was suggested. Haven’t missed another since. The only bad thing about it that I have noticed (but doesn’t seem to be a common problem) is that every time WordPress updates, the plugin disables itself and I have to go reactivate it. Not a big deal, but it can be annoying if you don’t look at your plugin page often with updates.

    I had no idea this was why I needed the plugin though, I might just set mine up for real cron jobs so I can ditch the plugin. I don’t like using a whole bunch of plugins and that seems like one I could clean house with.

  3. While the plugin you suggested usually works great, everyone needs to be aware of a major issue that it caused a few months ago.

    WordPress had recently issued an update, so of course all the plugin developers scrambled to issue updates for their plugins. But a glitch in this particular update caused all FUTURE posts to suddenly go live. Those of us who updated the plugin inadvertently posted future content which was then automatically sent out via RSS and Twitter feeds. For me, that was 183 posts that I had to scramble to take down. Fortunately, I did not have this plugin on my book reviews site, but I can only imagine what would have happened if all my cover reveals and book reviews had posted earlier than they were supposed to.

    I’m not saying it’s a bad plugin — it’s actually pretty awesome. But just make sure you check the plugin’s support tickets anytime a new update is released and BEFORE you update. That way you’ll see if hundreds of people are all freaking out about a new problem.

  4. Thanks for this tip. I’ve never gotten the error, once is a while my scheduled posts just don’t publish.

    Question: when you said this, “Let’s say no one visits your blog at all between 1pm and 5pm on that day. Then, WP-Cron never gets loaded, because your site got zero page loads at 3pm, when your post was supposed to be scheduled.”

    Did you mean it NEVER gets loaded or that it doesn’t load UNTIL the next page load after the scheduled time?

    Today I had a post scheduled at 9:00 am on one of my blogs. When I checked at 9:11 it wasn’t there, but once I went to the backend to check the schedule and then reloaded the home page, it was there.

    Alison Moore Smith recently posted: The Obvious Thing About Childhood Accidents
    1. It usually means that it loads when someone visits the page, but one of two things will happen:

      1. It will publish the post late (often happens if it’s just within a few minutes)
      2. It will not publish anything at all and will instead give you that “missed schedule” error.

  5. ASHLEY! This happened to me today. it hasn’t happened in a couple years!! But I can see that people DID visit my post around that time. Like multiple people. Are there other reasons this can happen?? After I manually published it this morning I saw on my dashboard it told me to update to the new WP (when the heck did that come up or did I just not notice it lol) so I did that. Maybe some sort of issue bc I hadn’t updated? I just don’t know why it happened when I can’t even tell you the last time this happened to me!

  6. I set up a Real Cron Job to run (through CPanel) last night. It is supposed to run every 30 minutes.

    I have now run into a problem where my site’s scheduled posts are coming up as “missed.” I never had this problem before. Why is this happening after setting up Real Cron Jobs, which are supposed to be superior to WordPress’s virtual cron?

    Do I have to schedule posts to occur on the half hour, since that is when my real cron job runs? Example: I scheduled a post to publish at 3:21. It came up as “missed schedule.” I check again at 3:30, thinking that might be when my real cron job runs, to see if it published it then instead. No dice, the post has yet to be published. Not sure why this is happening, any feedback from you would be awesome. Thanks!

    1. My best guess is that the cron job either isn’t working or wasn’t set up correctly. You may need to double check that or even talk to your host!

  7. Thanks for the Wonderful Post Ashley, I too also use WP Missed Schedule Fix Plugin for Missed Schedule issue on my site and thats works fine.

  8. Hi, there was one plugin named “Missed Schedule fix Wp failed future posts”. That worked great for this issue. But it’s removed now. Anyone know any alternative plugins??

Recent Posts

    Random Posts