How to schedule WordPress posts (and promote them on social at the same time)
Most WordPress posts are written days before they go live. WordPress knows this and has a scheduler built in. It works, with two catches: it can quietly miss the time you picked, and it only handles the post itself. The LinkedIn post, the X thread, and the newsletter blurb that send people to it are still on you.
This guide covers both ways to schedule a WordPress post: the built-in scheduler, and publishing from a scheduling tool that also handles the promotion.
Option 1: WordPress's built-in scheduler
Every WordPress site can schedule posts natively. In the block editor:
- Write your post as usual: title, body, featured image, categories.
- Open the post settings in the right sidebar and find Publish: Immediately.
- Click "Immediately" and pick a future date and time in the calendar.
- Click Schedule. The button changes from Publish to Schedule once the date is in the future. Confirm, and the post shows as Scheduled in your Posts list.
That's it, and for a personal blog that posts occasionally it's all you need. The catches:
- It can miss the time. WordPress fires scheduled posts with WP-Cron, which only runs when someone loads a page on your site. If nobody visits at 9:00, your 9:00 post sits there until someone does, sometimes with a "Missed schedule" label. Low-traffic and brand-new sites hit this the most.
- It only schedules the post. Nothing goes out on LinkedIn, X, Facebook, or anywhere else when the post publishes. That's a second tool, a second calendar, and a second thing to keep in sync if the date moves.
- It's one site at a time. If you run more than one blog, each has its own dashboard and its own schedule.
Fixing "Missed schedule"
If you stay with the native scheduler, make WP-Cron reliable:
- Add
define('DISABLE_WP_CRON', true);towp-config.phpso WordPress stops relying on page visits. - Set up a real cron job on your server (or your host's cron panel) that requests
https://your-site.com/wp-cron.phpevery 5 minutes.
Many managed hosts do this for you. Check with yours before editing wp-config.php.
Option 2: schedule WordPress posts with a scheduling tool
A scheduling tool that publishes through the WordPress REST API posts at the exact time you choose, because it sends the post to your site right then instead of waiting for a visitor. The bigger win is that the blog post and its promotion live on one calendar.
Here's the flow in Schedulin's WordPress scheduler:
- Create an application password. In wp-admin, go to Users → Profile → Application Passwords, name it "Schedulin", and click Add New Application Password. It's separate from your login password, and you can revoke it any time. No plugin needed; application passwords are built into WordPress 5.6 and later.
- Connect your site. Enter your site URL, username, and the application password on Schedulin's Channels page.
- Write the post. Add a title and the body. The first image you attach becomes the featured image; videos and extra images are uploaded to your media library and embedded in the post.
- Pick a status and a time. Publish on schedule, or have the post land as a draft or pending review for a final check or an editor's sign-off.
- Schedule the promotion in the same sitting. Add the LinkedIn post, the X thread, and the Facebook post that point to the article, timed a few minutes after it goes live. If the launch date moves, move them together.
Schedulin works with self-hosted WordPress and with WordPress.com sites on a Business plan or higher. The setup guide covers the details.
When should you schedule blog posts?
Consistency matters more than the exact hour. Search traffic, which is most of a blog's long-term readership, doesn't care what time a post went up. What moves the needle on launch day is the promotion. Time the social posts for when your audience is active on each network, and publish the article a little before the first one goes out so the link works.
If you want a starting point, publish mid-morning on a weekday in your audience's time zone, and let a smart queue learn the best times for the social posts from your own engagement.
Five habits that make scheduled posts perform
- Write the promotion when you write the post. You'll never know the article better than right after finishing it. Draft the social posts then, not on launch day.
- Tag your links. Add UTM parameters to the links in your social posts (here's a free UTM generator) so you can see which network actually sends readers.
- Size the featured image for sharing. The featured image often becomes the link preview on social networks. Our social image size guide has current specs for each one.
- Cross-post technical articles with a canonical URL. If you also publish on DEV.to or Hashnode, set the canonical URL to your WordPress post so search engines credit your site.
- Promote more than once. One social post on launch day is easy to miss. Schedule a follow-up a week later that pulls out a different angle from the article.
The short version
- Occasional posts on one blog? WordPress's built-in scheduler, plus a real cron job if you see "Missed schedule".
- Blog posts as part of a content plan? Use a scheduler that publishes through the REST API and schedule the post and its promotion together on one calendar.
If you want to try the second route: Schedulin's WordPress scheduler publishes posts with featured images, embedded video, and draft or review statuses, alongside every major social network. It's free for 7 days, and plans start at $5/month after that.
