WordPress's scheduler (WP-Cron)
Why scheduled posts can miss, and the five-minute fix.
WordPress does not have a clock of its own. Its scheduler, WP-Cron, only runs when something loads the site. When it runs, it publishes any scheduled post whose time has passed. When it does not run, the post just sits there marked Scheduled — sometimes for hours. This is how WordPress works, not something Pressbotics or your agent did.
What Pressbotics does about it
At each post's scheduled minute, Pressbotics asks your site to run WP-Cron, then reads the post back to confirm it really went live. If WordPress's scheduler doesn't respond, the post's Activity entry says so. If the post still has not published, it is marked Missed on the Schedule page with a Publish now button.
If Pressbotics ever publishes a post for you because WordPress's scheduler didn't fire, Activity says so plainly and shows the time it went live.
Why WP-Cron misses
- The site gets few visitors, so nothing triggers the scheduler near the right time.
- A firewall, security plugin or CDN blocks wp-cron.php (you will often see a 403 or 404 for that address).
- Your host set DISABLE_WP_CRON in wp-config.php but never added the real server cron that is meant to replace it.
- A full-page cache answers every request, so WordPress itself never runs.
Check your site
Open https://your-site.com/wp-cron.php in a browser. A blank white page is good: the scheduler is reachable. A "not found", "forbidden" or security-plugin page means it is blocked.
The fix
- 1Ask your host (or developer) to add a real server cron job that loads https://your-site.com/wp-cron.php every 5 minutes. Most hosts have a Cron Jobs screen for this.
- 2Once that is running, they can add define('DISABLE_WP_CRON', true); to wp-config.php so WordPress stops relying on visitors.
- 3If wp-cron.php was blocked, allow it in your security plugin, firewall or CDN rules.
You can send this page to your host as-is. Nothing in Pressbotics needs to change, and your connection stays the same.

