Recommended Free Tools
To stop WordPress from checking its scheduled-event queue on ordinary page loads, first configure a host-level scheduled task to trigger wp-cron.php, then add define( 'DISABLE_WP_CRON', true ); to wp-config.php. Set up and verify the replacement trigger before disabling the default one: the constant turns off page-load triggering but does not create a server task.
What changes when you replace WP-Cron?
WP-Cron is WordPress’s scheduled-event system, but it is not a continuously running operating-system cron daemon. WordPress checks for due events when a page is loaded; as the WordPress Cron handbook puts it, “WP-Cron does not run constantly as the system cron does; it is only triggered on page load.” If an event becomes due when nobody visits, it may wait until a later page load.
As an Amazon Associate I earn from qualifying purchases.
A system scheduler supplies a separate trigger at times you configure. That can make the trigger more predictable on a low-traffic site, but it does not guarantee that every task will run at an exact time: the configured interval, host restrictions, and whether the invocation succeeds all matter. WordPress says its cron system is designed to use minimal resources, so replacing page-load triggering is a timing or reliability choice, not a required performance optimization (WordPress PHP optimization guidance).
| Approach | Trigger and timing | Low-traffic behavior | Host access and verification |
|---|---|---|---|
| Default WP-Cron | Triggered by page loads; a due event waits for a triggering opportunity. | With few visits, scheduled work can run late. | Does not require configuring a system scheduler. WordPress events can be inspected with available WP-CLI commands. |
| System scheduler | Invokes the WordPress cron runner on the schedule you configure; actual execution depends on the scheduler and host. | Provides a trigger even when the site has no visitors, if the scheduled invocation succeeds. | Requires a host-supported scheduled-task method. Check scheduler history or logs and confirm a due event runs. |
There is an important missed-run distinction: the WordPress handbook says a missed system-scheduler task is not retried by that scheduler, while WordPress cron retains due events for the next opportunity. Neither mechanism alone proves that a task completed successfully.
#1 Best Overall
Check that your hosting supports a scheduled task
Before editing WordPress, look in your hosting control panel for a cron or scheduled-tasks feature, or ask support which method is available. Some shared hosting plans do not expose the operating system’s scheduler. Depending on the host, you may have access to a control panel, SSH and command-line PHP, or a supported HTTP request method; paths, permitted commands, authentication, and execution limits vary.
- Confirm the scheduler’s minimum allowed interval and any limits on command execution.
- Find the correct site URL or server path for the WordPress installation.
- Ask whether the host blocks requests from the site back to its own URL, or requires a particular user, PHP binary, or command format.
Configure the external trigger
Choose an interval based on how late scheduled work can reasonably be and the load your site can handle. WordPress’s guide shows both a 15-minute schedule and a daily example; these are examples, not universal recommendations. The five time fields in a crontab entry specify minute, hour, day of month, month, and day of week.
Linux or macOS crontab
If your host supports a crontab, open it with crontab -e. WordPress illustrates a task every 15 minutes with this schedule expression:
*/15 * * * * command
Replace command with the invocation your host supports. One documented approach requests the site’s wp-cron.php URL with wget and uses --delete-after so the response is not saved. Use your actual site URL and HTTPS if your site supports it; the HTTPS choice is an adaptation, not the literal URL scheme in WordPress’s example. Do not paste a generic command without checking the host’s installed tools, URL rules, and requirements.
Rank #3
Windows Task Scheduler
On Windows, WordPress’s system-scheduler guide demonstrates creating a Task Scheduler task that runs PowerShell’s Invoke-WebRequest against the site’s wp-cron.php URL. Configure the trigger interval and URL for your installation, and follow the server administrator’s instructions for the account and permissions used to run the task.
Direct PHP or WP-CLI invocation
Some servers may support invoking the cron runner through PHP or WP-CLI instead of an HTTP request. The exact executable, WordPress path, user, and permissions are environment-specific; use only a command documented or confirmed by your host. WordPress’s function reference includes a user-contributed note about direct PHP invocation, but it is not a universal host-independent command: wp_schedule_event() reference.
Rank #4
Disable page-load triggering in wp-config.php
- Open the
wp-config.phpfile for the correct WordPress installation using your host’s file manager, SFTP, or another supported method. - Add this line before the comment that says
/* That's all, stop editing! Happy publishing. */(or the equivalent end-of-editing marker in your file):define( 'DISABLE_WP_CRON', true ); - Save the file and confirm the site still loads. The constant disables the normal page-load trigger; it does not disable WordPress’s scheduled-event system or configure the external scheduler.
WordPress documents this setting in its wp-config.php reference. If you cannot safely edit the configuration file, ask your host or developer to make the change.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Verify the replacement and diagnose failures
- Check the host’s scheduled-task status, run history, or logs for the invocation at the configured time. A task marked as launched is not necessarily proof that a scheduled WordPress event completed.
- Use a harmless scheduled event that is due soon, then confirm that it runs after the external trigger. Where available, inspect events with the WP-CLI cron commands.
- If the task uses an HTTP request and does not reach WordPress, check the URL and HTTPS certificate, and ask the host whether firewall, security, DNS, or authentication rules prevent the site from requesting its own URL. WordPress discusses these self-requests as loopbacks.
- If you need to test whether WordPress’s default spawning path works, know what the diagnostic tests:
wp cron testchecks that path and errors whenDISABLE_WP_CRONis true. After disabling the default trigger, that error is not evidence that the replacement scheduler failed.
For persistent HTTP or loopback failures, WordPress recommends investigating plugin or theme conflicts and checking host-side restrictions. For direct PHP or WP-CLI tasks, verify the command, filesystem path, executable, and permissions with the host.
Quick Recap
Best Value
- easy to use
- Free app
- Compatible with all devices
- It gives the best comparison between ten different hosts
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




