Why Every WordPress Website on Enhance Should Disable WP‑Cron (And Use a Real Cron Job Instead)
WordPress is one of the most powerful website platforms available today, but one of its most misunderstood features is the built-in task scheduler known as WP‑Cron.
While WP‑Cron works well enough for small sites, it isn’t a real system cron service. Instead, WordPress attempts to run scheduled tasks whenever someone visits your website. This can lead to missed jobs, delayed updates, performance issues and unnecessary server load. Many hosting providers and WordPress professionals therefore recommend replacing WP‑Cron with a real server-side cron job for improved reliability and performance.
In this article we’ll explain:
- What WP‑Cron is
- Why it can cause problems
- Why disabling it improves reliability
- How to configure a proper cron job in Enhance
- Why HOST100 recommends this approach for production websites
What Is WP‑Cron?
Traditional Linux servers use a service called cron to run scheduled tasks at specific intervals.
WordPress does not use this system directly. Instead, it uses a feature called WP‑Cron, which attempts to simulate a cron service by checking for scheduled tasks each time a page loads.
WP‑Cron is responsible for tasks such as:
- Publishing scheduled posts
- Running plugin maintenance jobs
- Sending email notifications
- Processing WooCommerce actions
- Checking for plugin and theme updates
- Clearing caches
- Running backup schedules
Most WordPress website owners never realise these tasks are running in the background.
The Problem With WP‑Cron
The issue is that WP‑Cron only runs when your website receives traffic.
This creates two completely different problems.
Low Traffic Websites
If nobody visits your website, WP‑Cron does not run.
That means:
- Scheduled posts may publish late
- WooCommerce emails may be delayed
- Backup jobs may not run on time
- Plugin maintenance tasks can be postponed
For small business websites this is surprisingly common. A task scheduled for 2:00am may not execute until somebody visits the website at 8:15am.
High Traffic Websites
At the other end of the scale, busy websites can suffer because every page request checks whether cron jobs need to run.
This means:
- More database queries
- More PHP processing
- Increased server load
- Potential overlapping cron executions
On a busy WooCommerce store or membership site, this can contribute to unnecessary resource consumption.
The Modern Approach: Use A Real Cron Job
A much better solution is to:
- Disable WP‑Cron
- Configure a proper server-side cron task
This allows scheduled tasks to run on an exact schedule regardless of website traffic. It also avoids WordPress checking cron events on every page load. Many WordPress hosting providers now recommend this approach for production websites.
Benefits include:
✅ More reliable scheduled tasks
✅ Faster page loads
✅ Reduced PHP processing
✅ Fewer missed scheduled posts
✅ Better WooCommerce performance
✅ Predictable execution intervals
How To Disable WP‑Cron
Edit your wp-config.php file and locate:
/* That’s all, stop editing! Happy publishing. */
define(‘DISABLE_WP_CRON’, true);
This prevents WordPress from attempting to launch cron jobs during website visits.
Important: Do not disable WP‑Cron unless you also configure a replacement cron task.
Using WP‑CLI Instead Of wp-cron.php
Many guides recommend running:
wget https://example.com/wp-cron.php
or
php wp-cron.php
However, on modern hosting platforms there is an even better option: using WP‑CLI.
WP‑CLI communicates directly with WordPress, avoiding unnecessary HTTP requests and providing a cleaner, more efficient execution method.
At HOST100, when using the Enhance control panel, we typically recommend:
wp cron event run –due-now –path=public_html > /dev/null 2>&1
This command:
- Executes only tasks that are due
- Runs directly from the command line
- Avoids loopback HTTP requests
- Reduces overhead
- Improves reliability
Configuring The Cron Job In Enhance
Enhance includes a built-in scheduler that makes creating cron jobs straightforward.
Within the control panel’s website dashboard, visit:
Advanced → Developer Tools → Cron Jobs
Create a new cron task and configure it to run at your preferred interval.
For most websites we recommend every 15 minutes.
Command:
wp cron event run –due-now –path=public_html > /dev/null 2>&1
The redirection portion:
> /dev/null 2>&1
simply suppresses routine output and prevents unnecessary emails or log entries being generated each time the job runs.
What Happens After Switching?
Most website owners won’t notice any visible differences.
However, behind the scenes:
- Scheduled posts become more reliable
- WooCommerce automation becomes more consistent
- Background jobs execute on time
- WordPress no longer checks for cron events on every page load
For larger websites this can contribute to a small but measurable reduction in server load.
How To Verify Everything Is Working
After enabling the cron job, you can verify operation using a plugin such as WP Crontrol or by using WP‑CLI commands to review scheduled events. WordPress should continue processing scheduled tasks normally once the replacement cron has been configured correctly.
Common things to test:
- Schedule a future blog post
- Trigger a form notification
- Check WooCommerce order emails
- Verify backup tasks continue to run
Why HOST100 Recommends This Configuration
As a managed hosting provider, we regularly investigate issues caused by delayed WordPress background tasks.
In many cases the root cause is WP‑Cron itself.
By replacing the built-in pseudo-cron system with a real scheduled task in Enhance, website owners gain:
- Greater reliability
- More predictable performance
- Better handling of WooCommerce workloads
- Reduced overhead on busy sites
- Improved execution of WordPress maintenance tasks
It’s one of the simplest optimisations that can be made to a production WordPress website.
Final Thoughts
WP‑Cron was designed to make WordPress work on virtually any hosting platform, but it isn’t ideal for modern production websites.
Whether your site receives only a handful of visitors each day or thousands of visits per hour, disabling WP‑Cron and replacing it with a real cron job provides a more dependable solution.
For websites hosted on HOST100 using Enhance, configuring:
wp cron event run –due-now –path=public_html > /dev/null 2>&1
is a straightforward way to improve reliability, reduce unnecessary processing and ensure important WordPress tasks run exactly when they should.
If you’re unsure how to configure this on your website then please reach out to the HOST100 Support Team.



