How to Publish Scheduled WordPress Posts at The Right Time
You're done! You've spent hours upon hours over the last few days creating a fantastic, top-tier blog post. You've got the writing optimized and packed with value. You've added in a dozen great, unique images. You've filled out all the meta fields and even implemented relevant Schema. There's just one thing left to do: hit publish.
There's just one problem.
Scheduling your WordPress blog posts for publication at an ideal time is a surprisingly helpful technique. The actual act of scheduling is easy (unless it goes wrong; more on that later), but you have to know when to schedule your posts to be published.
So, let's talk about it!
30 Second Summary
You should schedule your blog posts even though exact timing matters less for blogs than social media. You'll get three important benefits when you schedule posts: you'll train Google's bots to check your site at regular times, you'll keep your most engaged readers happy with consistent content and you'll build a better editorial calendar. When picking times, you'll want to focus on posting consistently on specific days rather than exact times. You should watch out for three common scheduling problems: time zone settings that don't match your audience, incorrect "last updated" dates and cron jobs that fail to run your scheduled posts.
Are Scheduled Blog Posts Important?
The first question you might ask is whether or not you even need to schedule blog posts.
Scheduling and timing are essential for social media, of course. But, social media is a lot more direct and time-sensitive than blogging. People generally check your blog on their schedules, and most of your traffic comes from long-term, evergreen visits. Unless you're a news site, it's less about the timing of any specific post and more about always having something fresh and new.
Most people who show up on your site show up to older posts, days, weeks, months, or even years after they were initially published. They won't care if you published at 10 AM or 11 PM, or 3:48 PM.
Moreover, since a good portion of your traffic comes from Google, you must acknowledge that Google's indexation process takes time - just because you published it at 10 AM on Friday doesn't mean it'll be added to the search index and appropriately ranked at 10 AM. More likely, there will be delays from hours to days (or even weeks).
That's not to say that you shouldn't schedule your posts. There are three main reasons to do so, in my view.
1. The first reason is that having a regular schedule "trains" the Google bots to check your site at the correct times to pick up your content immediately. Google doesn't like spending processing cycles sending their bots out for no reason.
They try to develop schedules for when they should check different domains for updates. A large part of that is building an awareness of content publication patterns.
You can help influence this schedule in two ways. First is, of course, scheduling your blog posts. When you plan them for consistent times and spreads throughout the week, Google will see the patterns and can know to check shortly after those times. The second is to use a sitemap that identifies when content is posted or updated, so Google can check the sitemap rather than reindexing your site every time.
2. The second reason is that those users who like to be among the first to read your content will be ready to go when it shows up. The majority of your users won't be in this category, but some will, and giving them a pattern they can feel good about following is a pretty small ask for a decent amount of benefit.
Inconsistency makes it harder for those users to become invested in your site, and they may start to forget about you over time.
3. The third reason is to build out an editorial calendar since you should be finishing and setting a schedule for your posts well before they go live. The more of a backlog you build, the easier it is to maintain a consistent schedule in publishing, with the flexibility to move things around if you want to prioritize specific topics.
So, even if you don't get as much direct benefit from scheduling a blog post as you would a social media post, it's still worth doing.
When Should You Schedule Posts?
If you're going to schedule posts, you have to decide when to publish them. I always maintain that consistency is the most critical factor, but how granular do you need to be?
I don't usually care about a specific, to-the-minute schedule. I always publish at some odd minute throughout the hour; 3:48, 2:51, 12:13, etc. Why? It probably looks weird if all of my posts are scheduled at noon every day.
Does it have a significant impact? Probably not. Again, a tiny proportion of your audience will be waiting for new content to drop. Most people will get it long after it was published or via a social media feed, newsletter, or another source.
If you want, you can dig into the peak active hours for your users and find the ideal times of day and days of the week to publish for the maximum chance to capture traffic and go viral. I haven't seen the difference to be truly meaningful at "small business" levels of traffic. Maybe if you're a large enough company that the difference between publishing at 10 AM versus noon is tens of thousands of hits, then you can worry about it.
I focus more on evergreen traffic and longevity in my content than I do on immediately viral content, so it's less impactful. You can decide for your own business which is more important, and that's fine! There are also many resources out there to dig into it, like Monster Insights and Blogging Wizard tutorials on the subject:
Three Scheduling Issues to Watch For
I've seen a handful of problems crop up with scheduled WordPress posts in all my time running blogs.
Typically, with WordPress sites, scheduling posts is easy. When you publish a post, instead of clicking on the publish button to make it live immediately, you click to publish at a specific time. Set the future date, set the time, click the blue schedule button, and you're good to go.
We create blog content that converts - not just for ourselves, but for our clients, too.
We pick blog topics like hedge funds pick stocks. Then, we create articles that are 10x better to earn the top spot.
Content marketing has two ingredients - content and marketing. We've earned our black belts in both.
I've encountered three main issues between my blog and the blogs I manage for my clients, and I've compiled the solutions here.
Issue 1: Time Zone Disconnect
Time zones can be a pain when you're scheduling posts. A simple example is planning an article when you're in Pacific Time will often still result in the post-publication date being listed in Eastern Time. In rare cases, this can misfire and publish a post much earlier or later than you intended.
Luckily this one is pretty easy; you need to make sure you schedule posts appropriately for the time zone. Then, you need to adjust for the time difference between your time zone and your audience. That, or change your default time zone in your WordPress dashboard so it all displays and functions correctly for you.
Issue 2: Update Versus Publish Date
Many blogs recently, my own included, have started to switch away from displaying the date the post was published and more towards the date it was last updated. Some blogs decide to show both, and that's fine. I prefer just the "Updated" date.
For SEO purposes, Google doesn't necessarily care. They know when you created a post based on the time they indexed it, so they still have that verification in place if someone scrapes content, backdates a stolen copy, or otherwise tries to scam the algorithm. They can also see when and how often you've updated it.
It's beneficial for users, though. When browsing search results, you can generally see the date the post was last updated in the results listing. Users can then find the most updated resource, rather than gambling on older resources and hoping one has been more recently updated. It could improve your click-through rate and give your readers more confidence in your content.
This practice is acceptable, but what happens when you have your site set to display the last updated date and then schedule a post for the future?
Your "last updated" date will be today, not next week.
It's not difficult to fix this, but you need to know your way around your WordPress website. Specifically, you need to know how to add some custom code.
Here's the code block:
/** * Scheduled posts should update modified date when published */ function update_modified_date_to_post_date( $post ) { $updated_data = [ 'ID' => $post->ID, 'post_modified' => $post->post_date, 'post_modified_gmt' => $post->post_date_gmt ]; wp_update_post( $updated_data ); } add_action( 'future_to_publish', 'update_modified_date_to_post_date', 10, 1 );
Here are the instructions to implement it:
- Log into your WordPress admin dashboard.
- Click Appearance.
- Click Theme File Editor.
- Choose Functions.php.
- Copy the code listed above to the bottom of your functions.php file.
- Click Update File to save your changes.
- Test your site to make sure it didn't break.
A quick note:
Many sites, like WP Beginner, recommend using a custom WordPress plugin or a code snippets plugin to manage your code injections without having to edit a file directly. This technique is safer and is less likely to get overwritten when your WordPress theme or WordPress itself updates, but it's slightly more complicated to set up.
Either way, this code syncs the date of scheduling and the date last updated. This code solves your problem quickly and easily. I copied this code from my functions.php file, and it's in use on this website.
Issue 3: Crons Don't Run
A "cron" is a task set to execute at a specific time. It's been used throughout computing for about as long as programs have existed, and it's not unique to WordPress. It is, however, how WordPress executes time-delayed operations like, for example, publishing a scheduled post.
In 99% of the cases, this works fine. Occasionally, though, some issue will crop up, and the cron job won't run. When you next log into your dashboard, you find a big glaring "scheduled post didn't publish" error. You'll miss your published post schedule, and the whole house of cards that was set up to promote it failed to execute. That's part of the problem with automation; if any step fails, the entire thing fails.
Why do cron jobs fail? WordPress uses the wp-cron.php file to determine when to execute a cron job. That file is checked when a user visits your site and loads it up, which can be inconsistent. Some web hosts have issues with executing what's in the file, and if you get a sudden surge of visitors, it can even run more than once simultaneously. It's a mess, in a hacky way.
One option to solve this is the Scheduled Post Guardian plugin. This WordPress plugin checks your scheduled posts to make sure they get appropriately published. If they don't, it will re-schedule them, and hopefully, it will work the next time. It checks every three minutes unless you have no scheduled posts, in which case it checks every 15 minutes.
Unfortunately, it doesn't always work. It didn't fix my problem; it just retries until it either works or gives up, so if something broke the scheduled date the first time around, it's just going to hit the same error again. I haven't had good luck with it, but it has many good reviews. I see it more as a bandaid than a solution to the unreliable WordPress cron.
My go-to solution is a third-party service called EasyCron. Instead of relying on WordPress to correctly generate and execute a cron job, you create a "real" cron job and let the EasyCron servers fire your cron manually without skipping a beat. You can also set up notifications in-case your cron fails and you need to start troubleshooting. It's worked great for me; your mileage may vary.
To use it, you'll need to disable the wp-cron service, learn how to make your cron jobs, and use the service to run them. Ideally you want to run that cron job every minute, and it would be for the following URL (replace the example domain with yours):
https://www.example.com/wp-cron.php
Hopefully, once you've sorted out those issues, you should be able to schedule your posts correctly. From there, it's just a matter of determining when, exactly, you want your posts to be scheduled.
September 12, 2024
I really like the idea of using EasyCron for reliable scheduling. Whenever I scheduled posts, WordPress crons always messed up for me. Do you think using EasyCron could help fix other WordPress automation issues too
September 12, 2024
Hey Lon!
So happy you found the EasyCron suggestion pretty helpful! It's legit great for post scheduling.
About your other WordPress automation issues you could definitely use EasyCron for things like backups and updates too. You’re probably going to see a difference!
I’ve sometimes used it for my site management and trust me it makes life quite a bit easier.
Have you tried out any other tools for automation? There are some cool plugins out there that are kind of worth testing!
Hope that helps! Let me know if you have any more questions.