Scheduling a WordPress post in advance is simple. You wrap up editing, set a date, and then you’re free to focus on other things. The problem is that WordPress sometimes fails to publish those scheduled posts, which can mess up your editorial calendar.
The underlying functionality that makes scheduling posts in WordPress possible is called a “cron”, and on occasion it doesn’t run as expected. However, there are a couple of ways you can prevent this problem from happening in the future.
In this article, we’ll show you what the missed schedule error looks like and dig deeper into why it happens. Then we’ll discuss two ways to fix the problem, so your website never lets you down again when you schedule a post. Let’s get to it!
What the WordPress Missed Schedule Error Is
When you wrap up a new post in WordPress, you have several options about what to do next. You can save it as a draft, publish it right away, and of course, schedule it for a later date.
Usually, the entire process goes off without a hitch. The date arrives, and WordPress checks to see if there are any posts due for publication. If there are, it goes ahead and makes them public. In the meantime, you can kick back and focus on other aspects of running your site and business.
However, sometimes WordPress misses the publication date you set entirely. When that happens, you’ll see an error like this one if you check out your Posts tab:
You can always access those problem posts and publish them manually. However, WordPress doesn’t let you know when there’s a scheduled post error. This means that if you want to avoid any hiccups, you’ll need to double-check to see if your posts went through at the times you set, which defeats the entire purpose of scheduling them in advance.
Why the WordPress Missed Schedule Error Happens
WordPress uses cron jobs to schedule tasks that it needs to run at specific times. In UNIX-based systems, these ‘crons’ are also referred to as ‘schedulers’, and they have a variety of uses. For example, you might use a cron to run a command or a script, or – as with WordPress – to publish a post.
The problem with WordPress crons is they’re not ‘real crons’ in the true sense of the word. Since a lot of web hosts don’t provide users with access to server settings, that means you can’t configure your crons to run at the system level. WordPress bypasses that limitation by using simulated crons. Instead of having them run at a set interval, WordPress relies on user visits to trigger these fake crons.
In other words, each time a user visits your website, the Content Management System (CMS) checks to see if there are any pending cron jobs it needs to run. This is a clever solution, but it also poses one evident downside – if your website doesn’t get any visits at the right time, then the CMS won’t publish your posts as intended. That’s when the missed schedule error will rear its ugly head.
Even if your site receives a constant influx of visitors, that doesn’t mean you’re 100% safe from the WordPress missed schedule error. If your website goes down temporarily, for example, or if you use a caching plugin, there’s still a chance that your WordPress crons might not run as planned.
How to Fix the WordPress Missed Schedule Error (2 Methods)
As far as WordPress errors go, this one is fairly easy to fix. In the following sections, we’re going to explore two methods you can use to prevent missed posts, one involving a plugin, and the other one relying on your server.
1. Use the Scheduled Post Trigger Plugin
Ideally, WordPress would check periodically to see if it has missed any post publication dates and take care of them for you. Sadly, that’s not a feature the CMS includes out of the box. However, it is the kind of functionality you can easily add by using the right plugin, and that’s where Scheduled Post Trigger comes in:
The way this plugin works is that each time someone visits your website, it checks to see if WordPress has missed any scheduled publication dates lately. If it finds any instances of the missed schedule error, it takes those posts and publishes them right away.
In other words, the plugin works by adding a cron job that checks your website for missed cron jobs. This approach might sound a bit redundant, but it works. Plus, the plugin doesn’t require any special configuration, and will start doing its job automatically once you install and activate it.
2. Manage Cron Jobs Directly Through Your Server
If your hosting plan does provide you with access to your server’s settings, then you can configure cron jobs to run at that level. For this approach to work, however, you’ll need to disable WordPress crons first to avoid conflicts.
To do that, access your website via FTP using a client such as FileZilla. Navigate to your root folder, and look for the wp-config.php file inside:
Right-click on the file, and select the View/Edit option. Now, add the following line of code before the end of the file:
Save the changes to your wp-config.php file, and that’s it for the first step. Next, you’ll need to implement manual crons through your server, which most providers enable you to do using your hosting control panel.
For example, if you have access to cPanel, there should be an option called Cron Jobs under one of its tabs:
By using this tool, you can easily schedule new cron jobs to run on intervals. As a rule of thumb, any intervals more frequent than five minutes are overkill, and a cron job running on those times will tax your server unnecessarily.
Keep in mind, however – although your web host can help you schedule crons at the server level, you will still need to set which tasks to execute manually. That involves writing UNIX commands, which means you’ll need to brush up on those if you want to configure your crons manually.
Another alternative is to use a web hosting provider that takes care of crons for you.
Here at Kinsta, we configure your WordPress cron jobs to run at a system level with intervals of 15 minutes. In the vast majority of cases, 15-minute intervals will get the job done. However, in case you require it, you can always contact support and request that we lower the interval to five minutes.
Scheduling posts is a key feature for most WordPress users. This simple functionality makes it so that you don’t have to set reminders to publish posts manually. Instead, WordPress takes care of it for you, or at least it should. If the associated cron job doesn’t fire correctly, however, then your post might not see the light of day until you publish it yourself.
There are two ways you can fix the WordPress missed schedule error. You can:
- Use the Scheduled Post Trigger plugin.
- Manage cron jobs directly through your server.