Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To disable WordPress’s page-load trigger for scheduled events, first arrange an external scheduled task that calls WordPress’s wp-cron.php runner, then add define( 'DISABLE_WP_CRON', true ); to wp-config.php. The order matters: the setting stops the normal trigger but does not create a replacement. Your events will run when the server task actually reaches WordPress, subject to the schedule and your host’s limits.

What changes when you replace WP-Cron?

WP-Cron is WordPress’s scheduled-event system, not a continuously running operating-system cron daemon. By default, WordPress checks whether scheduled events are due during page loads. As the WordPress Cron handbook explains, “WP-Cron does not run constantly as the system cron does; it is only triggered on page load.” If a scheduled task becomes due when nobody visits, it may not run until a later page load triggers the check.

A system scheduler provides a separate trigger at configured times. It can make the opportunity to run less dependent on site traffic, but it does not guarantee that an event starts at an exact second: actual execution depends on the scheduler, server load, and host restrictions. WordPress says its cron system is designed to use minimal resources, so replacing the default trigger is a timing or reliability choice—not a required optimization for every site. See its PHP performance guidance.

Approach Trigger and timing Low-traffic behavior Access and verification
Default WP-Cron Triggered by page loads; the check happens when WordPress receives an opportunity to run it. Due work may wait for a later visit. Requires no system-scheduler access; WordPress events can be inspected with WP-CLI where available.
External system scheduler Invokes WordPress at configured intervals, subject to host behavior and limits. Does not rely on a visitor arriving to provide the trigger. Requires a supported scheduler and a working HTTP, PHP, or WP-CLI invocation; check the host’s run history or logs.

There is no universal best interval. WordPress’s scheduler guide includes both an every-15-minutes syntax example and a daily HTTP-trigger example; these are examples, not a recommendation or a measured guarantee. Select an interval that fits how late your scheduled events may run and what your host permits.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check that your host supports an external scheduler

Before changing WordPress, inspect your hosting control panel or ask your provider whether the plan supports scheduled tasks, a system cron facility, SSH, command-line PHP, or a documented HTTP-trigger method. WordPress notes that many shared hosting providers do not expose access to the system scheduler. Control-panel labels, executable paths, allowed commands, and security restrictions vary by host, so do not assume an example command will work unchanged.

  • Confirm which scheduler or scheduled-task tool your host supports.
  • Ask which invocation method is supported: an HTTP request to the site, PHP CLI, or WP-CLI.
  • Get the required site URL or server-side path, PHP executable path if applicable, and any restrictions on frequency or execution time.
  • Find out where the host records scheduled-task results so you can confirm actual runs.

Set up the external scheduled task

Linux or macOS system cron

On a system where you have permission to edit the crontab, WordPress documents using crontab -e. A cron schedule has five time fields followed by the command. For example, */15 * * * * command uses the every-15-minutes schedule syntax; replace command with the invocation your host supports.

WordPress’s guide demonstrates requesting wp-cron.php with wget and the --delete-after option, which discards the downloaded response instead of saving it as a file. Adapt the example to your actual site URL and host. Using HTTPS is a sensible adaptation when your site supports it; it is not a verbatim requirement in the guide. Do not copy a sample URL or assume wget is installed or permitted without checking your environment. The official instructions are in Hooking WP-Cron Into the System Task Scheduler.

Windows Task Scheduler

WordPress’s scheduler guide shows a Windows Task Scheduler task that invokes PowerShell’s Invoke-WebRequest against your site’s wp-cron.php URL. Configure the trigger interval and action using the URL and settings supported by your Windows server or hosting provider; the guide’s daily example is not universally sufficient for every site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

PHP CLI or WP-CLI

Some hosts support invoking PHP or WP-CLI directly rather than making an HTTP request. These approaches depend on the server’s executable and WordPress installation paths, user permissions, and host configuration. Use only the exact invocation documented or confirmed for your environment; there is no portable path that applies to every host.

Disable the page-load trigger in wp-config.php

Once the external task is configured, edit the site’s wp-config.php file and add this setting before the line that says /* That's all, stop editing! Happy publishing. */, if that standard marker is present:

define( 'DISABLE_WP_CRON', true );

This is the documented setting in WordPress’s wp-config.php reference. It disables the normal page-load trigger; it does not create a server task or change the external scheduler’s interval. Avoid adding a duplicate definition if the constant is already set.

Verify that the replacement trigger runs

  1. Check the scheduler’s run record. Use the hosting panel’s task history or server logs to see whether the configured task runs and whether the command or request reports an error.
  2. Confirm WordPress receives a trigger. Arrange a harmless scheduled event with a known due time, then check that it executes after a scheduler run. Where available, use WP-CLI’s cron commands to inspect events.
  3. Interpret wp cron test correctly. WordPress documents this command as a check of the default WP-Cron spawning path. It errors when DISABLE_WP_CRON is true, so that error is not a valid test of whether your external scheduled task works. See wp cron test.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot missed or failing runs

The scheduler shows no successful invocation

Check the host’s task history, configured frequency, command syntax, URL or file path, and whether the required utility or PHP executable is available. A provider may restrict command types, minimum intervals, or execution time; ask support for the plan-specific requirements rather than guessing a path.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
hosting servers
  • easy to use
  • Free app
  • Compatible with all devices
  • It gives the best comparison between ten different hosts

An HTTP request cannot reach the site

If the trigger requests your own site and fails, WordPress’s loopback troubleshooting guidance recommends investigating possible plugin or theme conflicts and asking the host whether firewall, security, DNS, SSL, or authentication settings block the request. These are possible causes, not a diagnosis; use the scheduler’s error details and the host’s logs to narrow it down.

A task was missed

Do not assume the system scheduler retries a missed invocation. WordPress’s handbook notes that a missed system-scheduler task is not retried by that scheduler, whereas WordPress cron retains due events for a later opportunity. That is a difference in how the triggers behave, not a guarantee that every event will execute successfully or on time.

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.