To replace WordPress’s visitor-triggered scheduler, add define( 'DISABLE_WP_CRON', true ); to wp-config.php, then schedule a server, hosting-panel, or Windows Task Scheduler job that runs wp-cron.php. Set up and test the replacement first; otherwise scheduled posts, plugin queues, and cleanup tasks will stop being triggered.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
What WP-Cron does—and why jobs can run late
WP-Cron is WordPress’s built-in scheduler. WordPress core describes wp-cron.php as “A pseudo-cron daemon for scheduling WordPress tasks.” (WordPress core source.) It is not a continuously running operating-system daemon. Instead, WordPress checks for due events when the site receives a request and attempts to spawn the cron runner.
As an Amazon Associate I earn from qualifying purchases.
That design avoids requiring shell access and works well for many sites, but timing follows traffic rather than a clock. A low-traffic site may not receive a request soon after an event becomes due, so a scheduled post, email, renewal, backup, or plugin queue can execute late. The WordPress.com documentation describes the same visitor-triggered behavior and its effect on low-traffic sites (WordPress.com WP-Cron guide).
A real cron arrangement separates the trigger from page visits. A system scheduler starts the WordPress cron runner on its own timetable, whether or not anyone is browsing the site. It does not change the events registered by WordPress or plugins; it changes how the due-event check is initiated.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Check these prerequisites before disabling WP-Cron
- Make a restorable copy of
wp-config.phpand know how to return it if the new job fails. - Confirm which scheduler you can use: Linux or macOS cron, Windows Task Scheduler, or a hosting control panel’s scheduled-task feature.
- Identify the WordPress installation path and the PHP executable supplied by your host. Shared hosting often uses a version-specific PHP path rather than
/usr/bin/php. - Decide whether the scheduler will call
wp-cron.phpdirectly with PHP or request its HTTPS URL. - Choose a cadence based on the most time-sensitive event on the site and the host’s CPU, memory, process, and request limits. There is no authoritative interval that is correct for every installation.
- Ensure you can read scheduler and PHP/web-server logs. A replacement trigger that fails silently is harder to diagnose than visitor-triggered WP-Cron.
Do not set DISABLE_WP_CRON until the replacement command is ready to run. With the constant enabled and no working trigger, WordPress still records events, but nothing regularly starts the due-event processing.
Disable visitor-triggered WP-Cron in wp-config.php
- Back up the existing
wp-config.php. - Open the file in the root of the WordPress installation, not a similarly named sample file.
- Insert this line before WordPress’s “That’s all, stop editing” comment:
define( 'DISABLE_WP_CRON', true );
- Save the file and confirm that the constant appears only once. A second definition can create warnings or make it unclear which setting is active.
- Keep the replacement scheduler enabled and observe the event queue before treating the migration as complete.
The WordPress Plugin Handbook documents this exact constant when moving WP-Cron to a system task scheduler (Hooking WP-Cron into the system task scheduler).
Free tools Windows power users keep installed
One-click scans. No signup required.
Pick the way your scheduler will invoke wp-cron.php
| Trigger method | Example | Use it when | Important qualification |
|---|---|---|---|
| Direct PHP execution | /usr/bin/php -q /var/www/example/wp-cron.php |
The host permits scheduled shell commands and provides a known PHP binary. | Replace both the PHP path and WordPress path with values from your host. The command must run under an account that can read the WordPress files. |
| HTTP request | /usr/bin/curl -fsS https://example.com/wp-cron.php?doing_wp_cron |
Outbound HTTPS is allowed but direct PHP CLI execution is unavailable or inconvenient. | The URL must be the site’s real address. Inspect HTTP status, redirects, authentication, and timeout behavior in logs. |
| Hosting scheduler | A control-panel scheduled task containing either command above. | Your host exposes a cron or scheduled-task form without shell access. | Use the PHP binary, working directory, and frequency documented by that host. |
| Windows Task Scheduler | A task that starts the host’s PHP executable or an HTTP client. | WordPress runs on Windows. | Use Windows paths and the PHP version configured for the web site. |
WP-CLI is useful for testing and managing the queue, but it does not remove the need for a scheduler to invoke an appropriate WordPress cron runner. The Plugin Handbook covers Linux/macOS cron and Windows Task Scheduler as the platform choices (Plugin Handbook instructions).
Configure Linux or macOS cron
1. Test the command manually
Before editing the crontab, run the chosen command in the shell as the same operating-system user that will own the scheduled job. For direct execution, adapt this pattern:
/usr/bin/php -q /var/www/example/wp-cron.php
For an HTTP trigger, adapt this pattern:
/usr/bin/curl -fsS https://example.com/wp-cron.php?doing_wp_cron
Use the PHP binary and site path supplied by your host. A command that only works from your interactive shell may still fail under cron if it relies on a different PATH, permissions, or runtime environment.
2. Open the correct crontab
Run crontab -e as the account that should execute the WordPress job. If your host uses a system-wide scheduler or a control panel, follow that host’s account and permission model instead. Running as the wrong account can produce permission errors or a PHP environment that differs from the web site.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →3. Add a timed entry
This five-minute example uses direct PHP execution:
*/5 * * * * /usr/bin/php -q /var/www/example/wp-cron.php >/dev/null 2>&1
The same cadence using HTTPS is:
*/5 * * * * /usr/bin/curl -fsS https://example.com/wp-cron.php?doing_wp_cron >/dev/null
The five-minute value is only an example, not a WordPress requirement. Select a frequency that meets the site’s most time-sensitive scheduled task while respecting host limits. A site whose only events tolerate a longer delay does not need the same cadence as one with time-sensitive publishing or queue processing.
4. Save, then verify execution
Confirm that the scheduler accepted the entry, check its logs or mail output, and then inspect WordPress’s event queue. Keep enough logging during the first runs to identify a wrong path, non-zero exit status, timeout, or rejected request; discard output only after the job is known to work.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Configure Windows Task Scheduler
- Open Task Scheduler and choose the option to create a task or basic task.
- Give it a descriptive name such as “WordPress cron runner” and select a recurring trigger appropriate to the site’s required cadence.
- For the action, choose “Start a program.” Point the program field to the PHP executable supplied by the host, and pass the WordPress cron path as an argument. The equivalent command structure is
php.exe -q C:pathtowordpresswp-cron.php; replace the executable and path with the actual installation values. - If the host does not permit direct PHP execution, configure the action to run an HTTP client that requests
https://example.com/wp-cron.php?doing_wp_cron. - Run the task manually from Task Scheduler, inspect its result, and review PHP or web-server logs before relying on it.
- Run the task under an account with access to the WordPress files and the PHP runtime. The account and PHP version should match the site’s supported environment.
Windows Task Scheduler is the platform equivalent of a Unix cron entry; the scheduling principle is the same, but executable paths, accounts, and log locations differ.
Use a hosting control-panel scheduler
Many managed or shared hosts provide a scheduled-task form instead of shell access. Create a task containing either the host-approved PHP command or the HTTPS request, select the required interval, and save it under the account that owns the WordPress installation. Ask the host for the exact PHP binary path if it is not displayed. Some panels require a full absolute path, a working directory, or a separate field for the command arguments.
After saving, use the panel’s run-now option if available. Otherwise wait for one scheduled execution and check the task history, exit status, and WordPress event queue. Do not assume that a task was accepted merely because the panel saved the form.
Choose a cadence that matches the site
The scheduler interval is an operational choice, not a WordPress constant. Start with the event that has the least tolerance for delay. Time-sensitive publishing or queue processing may justify a more frequent trigger, while a site whose events can wait longer can choose a less frequent schedule. In either case, compare the planned cadence with the host’s CPU, memory, process, and request limits.
A trigger that runs too rarely recreates the delay problem that prompted the migration. A trigger that runs more often than the site needs creates additional scheduler invocations and can conflict with limits imposed by a shared or managed host. The five-minute entries shown above are examples only; they are not a universal recommendation.
Record the selected cadence with the job configuration so another administrator knows why it was chosen. If the site’s scheduled workload changes, reassess the interval rather than changing wp-config.php again.
Choose direct PHP or an HTTP request deliberately
Direct execution keeps the invocation on the server and uses the PHP binary supplied by the host. It is a good fit when shell scheduling is available and the WordPress path is known. The PHP process must be able to read the installation, and its version and extensions should match the runtime supported by the web site.
An HTTP trigger is useful when the host permits outbound HTTPS but does not offer convenient PHP CLI execution. It must target the live site’s actual address and include ?doing_wp_cron. A successful scheduler entry is not enough: inspect the HTTP result for redirects, authentication requirements, TLS problems, or timeouts. Keep the command’s output visible while testing so a rejected request is not mistaken for a successful cron run.
Both methods start the same WordPress cron runner. The practical difference is where failures appear: direct execution usually reports a process exit status, while HTTP invocation also depends on the web server accepting and completing the request.
Recommended Free Tools
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
What disabling WP-Cron changes
The constant changes how WordPress starts due-event processing; it does not remove the events registered by core or plugins. Scheduled posts, plugin queues, cleanup hooks, and other events remain in WordPress’s queue and wait for a runner.
That distinction explains why a migration can look correct in the dashboard while nothing happens: events may still be listed even though no external process is reaching wp-cron.php. Check the queue before and after a scheduler run. Future run times should advance when the trigger is functioning.
Do not leave the constant enabled during a test in which the replacement command is not available. The disabled visitor trigger cannot act as a fallback. If the external job is paused, rejected, or pointed at the wrong installation, due hooks remain unprocessed until a working trigger reaches them.
First-run monitoring and operational checks
Keep scheduler history and PHP or web-server logs available for the first several executions. Look for a non-zero exit code, a timeout, an incorrect path, an authentication failure, or a request that reaches a different site than intended. Once successful runs are established, you can reduce command output, but retain a way to review job history.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesRun the task manually once from the scheduler interface when that option exists. Then compare wp cron event list before and after the run. This two-point check distinguishes a scheduler that never starts from a WordPress event that is failing after it starts.
Use the same operating-system account for manual and scheduled tests whenever possible. A command that succeeds in an administrator’s interactive shell can fail under the scheduler because the account, working directory, permissions, PHP binary, or environment differs.
Access, hosting, and cost considerations
The procedure does not require a physical product. Its practical requirement is access to a scheduler: a server crontab, Windows Task Scheduler, a hosting control panel, or a host that will create the task for you. If your current plan provides none of these, ask the host whether scheduled tasks are supported before enabling DISABLE_WP_CRON.
Managed WordPress hosting with server-side cron is one category to evaluate when you need a provider to supply the scheduler, but availability, limits, and pricing differ by host. Confirm the exact PHP path, account, interval options, and logging offered by the provider rather than assuming that every managed plan includes the same feature.
If scheduler access is unavailable, leaving visitor-triggered WP-Cron enabled avoids creating an untriggered queue. The important decision is not whether an external scheduler is fashionable; it is whether the site can reliably run the trigger required by its scheduled work.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Common migration pitfalls
- Disabling first: Adding the constant before the replacement job works leaves due hooks untriggered.
- Editing the wrong file: A staging copy or sample configuration does not change the live installation.
- Duplicate definitions: Keep one correctly spelled
DISABLE_WP_CRONline and place it before the stop-editing comment. - Relative paths: Cron and Task Scheduler may use a different working directory, so use absolute PHP and WordPress paths.
- Wrong account: The scheduler user must be able to read the WordPress files and use the intended PHP runtime.
- Discarding evidence: Redirecting all output to
/dev/nullbefore testing hides exit errors and timeouts. - Wrong URL: An HTTP command aimed at another hostname, redirected address, or protected endpoint may never run the intended site’s queue.
- Assuming a saved form ran: A hosting panel can accept a task while the command still fails; verify history and the WordPress event queue.
Verify the replacement with WP-CLI and the event queue
WP-CLI provides the most direct checks once the scheduler has run. From the WordPress directory, use:
wp cron test
The official WP-CLI reference defines wp cron test as a test of the WP-Cron spawning system (WP-CLI cron command reference). A successful test does not replace a recurring scheduler; it confirms that WordPress can spawn its cron process under the current configuration.
Inspect the available schedules:
wp cron schedule
List registered events with the cron event subcommands:
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchwp cron event list
These views let you check whether scheduled posts, plugin queues, cleanup jobs, and other expected hooks have future run times and whether those times advance after the external trigger fires. WP-CLI also provides event subcommands for running a specific hook when a controlled diagnostic run is appropriate; avoid using manual runs as a substitute for fixing a broken scheduler.
Troubleshoot a migration that is not working
Scheduled posts remain late or never publish
First confirm that the external job is actually firing at the intended cadence. Check scheduler history and then run wp cron event list. If due times remain unchanged, check the command’s absolute paths, operating-system user, PHP executable, and exit status. A disabled visitor trigger cannot compensate for a missing or rejected replacement.
wp cron test reports a failure
Read the complete error and compare the command-line PHP runtime with the web site’s supported PHP version and extensions. Confirm that the WordPress files are readable by the scheduler account. If the job uses HTTPS, inspect HTTP status codes, redirects, TLS problems, authentication requirements, and timeouts in the web-server and scheduler logs.
The command works manually but fails from cron
Use absolute paths for PHP, wp-cron.php, and any client such as curl. Cron may run with a minimal environment and a different working directory. Run the job as the same account configured in the scheduler, and capture its exit status or temporary output instead of redirecting everything to /dev/null while diagnosing.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →The queue contains events but nothing advances
Verify that the replacement trigger reaches the correct site and installation. For direct execution, check the WordPress path; for HTTP, check the hostname and request result. Then inspect wp cron event list before and after a scheduled run. If the queue still does not move, review PHP and web-server logs for fatal errors, timeouts, or authentication failures and confirm that the scheduler account can access the files.
Both old and new triggers appear to run
Check wp-config.php for a single, correctly spelled DISABLE_WP_CRON definition and ensure the edited file is the one used by the live installation. An extra definition, a typo, or editing a staging copy can leave the visitor-triggered behavior unchanged.
Best Value
WP-Cron versus a real scheduler
| Consideration | Visitor-triggered WP-Cron | External scheduler |
|---|---|---|
| Timing | Depends on requests arriving at the site; low traffic can delay due events. | Runs according to the configured scheduler timetable. |
| Access required | Works without shell or control-panel scheduler access. | Requires shell access, a hosting scheduler, or Windows Task Scheduler support. |
| Resource control | May attempt to spawn during page requests. | Lets you choose the cadence and operating-system account for the trigger. |
| Failure visibility | Fewer scheduler-level exit logs are available. | Scheduler history, exit status, PHP logs, and WP-CLI checks provide distinct diagnostic points. |
| Operational risk | Remains available as the default trigger. | If DISABLE_WP_CRON is enabled before the replacement works, scheduled hooks are left untriggered. |
Completion checklist
wp-config.phpis backed up and contains oneDISABLE_WP_CRONdefinition before the stop-editing comment.- The replacement command uses the correct WordPress path, PHP binary or HTTP URL, and operating-system account.
- The scheduler runs at a cadence chosen for the site’s actual scheduled work and host limits.
wp cron testsucceeds, or any failure has been resolved and retested.wp cron scheduleandwp cron event listshow the expected schedules and hooks.- Scheduler, PHP, and web-server logs show successful executions.
- At least one expected scheduled post, plugin queue, or cleanup hook advances after the external trigger runs.
Once these checks pass, disabling visitor-triggered WP-Cron gives the site predictable scheduler timing without changing WordPress’s event definitions. Keep the scheduler monitored: its job is now the component responsible for starting every due-event check.
Frequently Asked Questions
How do I disable WP-Cron safely?
Back up wp-config.php, add define( 'DISABLE_WP_CRON', true ); before the stop-editing comment, and verify that a replacement scheduler already runs wp-cron.php. Do not enable the constant while the replacement is untested.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Why are my scheduled WordPress posts running late?
WP-Cron starts when the site receives a request. If traffic is low, WordPress may not check the queue soon after an event is due. A server, hosting-panel, or Windows scheduler invokes the runner independently of visits.
What cron interval should I use?
There is no universal interval. Choose a cadence that meets the most time-sensitive scheduled task while respecting the host’s CPU, memory, process, and request limits. Five minutes is only a common example, not a requirement.
Should I use direct PHP or an HTTP cron request?
Use direct PHP when the host provides shell scheduling and a known PHP binary and installation path. Use an HTTPS request when outbound HTTP is available but direct PHP CLI execution is unavailable or inconvenient. Check logs and status results for either method.
Can I disable WP-Cron without shell access?
Yes, if your hosting control panel provides scheduled tasks or your host can create one. Configure the panel task with the host-approved PHP command or an HTTPS request, then verify its history and the WordPress event queue.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →What does wp cron test check?
It tests the WP-Cron spawning system. It is a diagnostic check, not a recurring scheduler, so you still need an external task that invokes the WordPress cron runner.
What happens if the replacement cron job stops?
With DISABLE_WP_CRON enabled, visitor requests no longer provide the fallback trigger. Events remain registered but due-event processing will not advance until a working scheduler reaches the site.
The Bottom Line
Add define( 'DISABLE_WP_CRON', true ); only after a tested Linux/macOS cron, Windows Task Scheduler, or hosting-panel task can invoke wp-cron.php. Match the cadence to your scheduled work, verify with wp cron test and event listings, and keep scheduler and PHP logs available so late or failed jobs are visible.
Quick Recap
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.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




