Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Disable WP-Cron and Set Up a Real Cron Job

A practical guide to replacing visitor-triggered WP-Cron with a monitored Linux, macOS, Windows or hosting scheduler— including commands, verification and troubleshooting.
Length10 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Disable visitor-triggered WP-Cron by defining DISABLE_WP_CRON in wp-config.php, then replace it with a scheduler that calls your site’s wp-cron.php. Linux and macOS normally use cron, Windows uses Task Scheduler, and many hosts provide a control-panel scheduler. Keep the replacement running and verify it before you depend on the disabled setting, or scheduled posts, plugin queues and maintenance hooks will stop running.

What WP-Cron does—and why it 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.” Unlike a system daemon that wakes at fixed times, WP-Cron is normally started when WordPress receives a web request. A page view causes WordPress to check its scheduled event queue and spawn the cron runner when work is due. The core implementation is documented in WordPress’s wp-cron.php source.

As an Amazon Associate I earn from qualifying purchases.

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

That visitor-triggered design avoids requiring shell access, but it ties execution to traffic. A site with few visits can leave a due event waiting until someone opens a page. A busy site may cause cron checks to occur during front-end requests, competing for PHP workers, memory or database time. The WordPress.com WP-Cron guide documents the same request-based behavior and the resulting delays on low-traffic sites.

Moving the trigger to the operating system gives you a timetable independent of visitors. It does not change the events registered by WordPress or plugins; it changes how WordPress is asked to process the queue.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

When a real cron job is the better choice

  • Use a system scheduler when timing matters. Scheduled publishing, time-sensitive notifications, imports, subscription renewals, backups and queue processors are less dependent on someone visiting the site.
  • Use it when front-end requests are costly. A scheduler can run under a defined operating-system account and at a cadence you choose, instead of allowing page requests to initiate checks.
  • Keep visitor-triggered WP-Cron when you lack scheduler access. Shared hosting may not provide shell access, a control panel cron feature or permission to run PHP from the command line. In that case, disabling WP-Cron without an alternative creates a silent failure.

There is no universal “correct” interval. Select a cadence that meets the most time-sensitive event while staying within your host’s CPU, memory, process and request limits. Every-five-minute examples below are patterns to adapt, not a promise that five minutes suits every installation.

Disable WP-Cron safely in wp-config.php

Back up and locate the file

  1. Make a recoverable copy of wp-config.php before editing it. Store the backup somewhere outside the public web root.
  2. Open the wp-config.php file in the root directory of the WordPress installation. It is normally alongside directories such as wp-admin, wp-content and wp-includes.
  3. Find the comment that says /* That's all, stop editing! Happy publishing. */ or the equivalent stop-editing marker.

Add the constant once

Insert this line before the stop-editing comment:

define( 'DISABLE_WP_CRON', true );

Save the file and check that the constant appears only once. Defining it twice can produce a PHP notice and makes later troubleshooting harder. Keep the spacing and punctuation shown above; the value must be the Boolean true, not a quoted string.

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

The official Plugin Handbook instructions for hooking WP-Cron into a system task scheduler document this constant and the platform-specific replacement approach.

Understand what this switch does

DISABLE_WP_CRON stops WordPress from attempting its normal visitor-triggered spawn. It does not execute due events, reschedule missed events or create a server job for you. The replacement trigger must already be configured—or be configured immediately afterward—before you rely on the setting. If you need an emergency rollback, remove the line or change the value to false, restore the file, and investigate the scheduler before disabling the visitor trigger again.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

Choose how the replacement trigger will call WordPress

A scheduler can invoke the cron runner in three practical ways. Use the method your host supports and use the paths, PHP binary and site URL supplied by that host.

Trigger method What the scheduler runs When it fits Important consideration
HTTP request Requests https://example.com/wp-cron.php?doing_wp_cron The host permits outbound HTTP but restricts direct PHP CLI execution Use the site’s canonical HTTPS URL and review web-server or application authentication rules
Direct PHP Runs wp-cron.php with the server’s PHP binary You have shell or control-panel command access and know the WordPress path The command-line PHP version and extensions must be compatible with the web site
WP-CLI Uses WP-CLI cron commands to test, inspect or run events WP-CLI is installed and supported by the host The scheduler still needs to invoke an appropriate WordPress cron runner

HTTP is often the least dependent on filesystem paths. Direct PHP avoids an extra network request and can be easier to isolate in server logs. WP-CLI provides the most useful inspection commands, but its availability and PHP environment vary by host.

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.

Set up Linux or macOS cron

Prepare the command

First determine the absolute path to the site’s wp-cron.php and the PHP executable supplied by your host. A direct-PHP entry might look like this:

*/5 * * * * /usr/bin/php -q /var/www/example/wp-cron.php >/dev/null 2>&1

*/5 * * * * means every five minutes. Replace /usr/bin/php and /var/www/example/wp-cron.php; do not copy those paths blindly. The -q option suppresses PHP’s introductory output, while the redirects prevent routine output from filling local mail or log files. During troubleshooting, remove the redirects temporarily or send output to a dedicated log so you can see errors.

Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

If direct PHP is unavailable, use an HTTP request:

*/5 * * * * /usr/bin/curl -fsS https://example.com/wp-cron.php?doing_wp_cron >/dev/null

The -f option makes curl fail on an HTTP error, -sS keeps normal output quiet while retaining errors, and the query parameter tells WordPress this is a cron request. Use the exact public URL for the installation, including any required subdirectory. If your URL contains shell-sensitive characters, quote it according to your shell’s rules.

Install and inspect the crontab

  1. Log in as the operating-system user that owns the WordPress files, or use the account your host specifies for the site.
  2. Run crontab -e to open that user’s crontab.
  3. Add one complete scheduler line, save the file and exit the editor.
  4. Run crontab -l and confirm that the line is present exactly once.

Running as the file-owning user helps prevent cron-created files from being owned by an unexpected account. It also keeps permissions consistent with web requests. A host may require a panel-managed cron instead of a user crontab; follow the host’s documented PHP path and working directory in that case.

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

Select a cadence deliberately

Start from the shortest delay a business or plugin requirement can tolerate. If no event needs near-real-time execution, a less frequent interval reduces process starts. Avoid adding several overlapping entries for the same site: overlapping runs can compete for locks and database resources. When a single run can last longer than the interval, increase the interval or investigate the slow hook rather than launching more concurrent processes.

Set up Windows Task Scheduler

Windows does not use a Unix crontab. Create a scheduled task that launches either PHP or an HTTP client.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
  1. Open Task Scheduler and choose Create Task (or Create Basic Task for a simpler wizard).
  2. On Triggers, create a schedule that repeats at the cadence your site requires. Enable the task and choose the correct time zone for the server.
  3. On Actions, select Start a program. For direct execution, set Program/script to the full path of php.exe and add the full path to wp-cron.php in Add arguments. For HTTP execution, use the full path to a supported command-line HTTP client and pass the cron URL as its argument.
  4. On General, choose an account with permission to read the WordPress files and run PHP. If the task must run while no one is logged in, select the corresponding unattended-run option and provide credentials as required by your Windows policy.
  5. Save the task, right-click it and select Run once manually. Check Last Run Result and the task history before waiting for the next interval.

Use the PHP version and extensions that match the web site’s supported runtime. A task that launches a different PHP installation can fail even though browser requests work.

Use a hosting control-panel scheduler

Many hosting panels expose a “Cron Jobs,” “Scheduled Tasks” or similar screen. Add either the direct-PHP command or the HTTP command shown above, then select the interval. Panels often require a full executable path and may provide a separate field for the minute, hour, day, month and weekday values. Preserve the complete command and avoid adding a second scheduler entry in another panel or account.

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

If the panel offers a “run PHP script” action, select the site’s supported PHP version and provide the absolute path to wp-cron.php. If it offers only a URL fetch, use the canonical HTTPS cron URL. Ask the host which account runs scheduled jobs and where its output and failure logs are stored; those details are essential when a task reports success but events do not advance.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Verify the runner before depending on it

Test the spawning system

With WP-CLI installed, run this from the WordPress directory:

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
wp cron test

The official WP-CLI cron reference defines this command as a test of the WP-Cron spawning system. A successful result shows that WordPress can attempt to start its cron process; it does not prove that every plugin hook completes successfully.

Inspect schedules and events

Use WP-CLI’s cron subcommands to examine what is registered:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
wp cron schedule
wp cron event list
wp cron event run --due-now

wp cron schedule shows registered recurrence schedules. wp cron event list displays queued events, their next run times and hook names. wp cron event run --due-now runs events that are currently due, which is useful after confirming the scheduler command itself works. Run this manually only when you understand the workload; it can trigger every due hook at once.

Confirm real application results

  • Create or identify a harmless scheduled action, then verify that its next-run time changes after the task fires.
  • Check a scheduled post, plugin queue, cleanup task or other expected hook in its own administration screen.
  • Review the scheduler’s last-run time, exit status and output log.
  • Review PHP and web-server logs for fatal errors, timeouts, denied requests, authentication failures and incorrect paths.

Do not remove the replacement trigger’s logging until you have observed successful runs at the intended cadence. A command can exit cleanly while a plugin callback fails inside WordPress.

Troubleshoot late or missing events

The scheduler never runs

  • Check that the task is enabled and that its time zone matches the server’s time zone.
  • For Unix systems, confirm the line with crontab -l and inspect the scheduler service log.
  • For Windows, check Task Scheduler history, Last Run Result and the account selected on the General tab.
  • For a hosting panel, confirm that the job was saved under the correct site or account and that the host permits scheduled tasks.

The command runs but WordPress does not process events

  • Verify the absolute WordPress path and PHP executable. A typo or a PHP binary without required extensions can stop execution before WordPress loads.
  • Run the exact command manually as the scheduler’s operating-system user and capture its output instead of discarding it.
  • Confirm that wp-config.php is readable and that the scheduler user can read the WordPress files.
  • For HTTP, test the full HTTPS URL with verbose curl output and check for redirects, TLS errors, web-application firewalls or HTTP authentication.
  • Run wp cron test, then inspect wp cron event list for a queue that is not advancing.

Events are still late

Compare the event’s due time with the scheduler’s actual start times. A five-minute trigger cannot guarantee completion in five minutes if a PHP process routinely takes longer, the server is overloaded or a callback waits on an external service. Look for long-running hooks, database locks and PHP timeouts. Increase resources or interval, optimize the slow callback, or split heavy work into smaller jobs rather than adding overlapping cron entries.

Everything stopped after disabling WP-Cron

Re-enable visitor-triggered WP-Cron temporarily by removing the constant or setting it to false. Then repair the scheduler, test it manually and observe event execution before disabling the constant again. This rollback restores WordPress’s fallback trigger; it does not fix a broken plugin callback or an inaccessible server.

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.

WP-Cron versus a real scheduler

Decision factor Visitor-triggered WP-Cron System or hosting scheduler
Timing Depends on incoming WordPress requests, so low-traffic sites can execute due events late Starts according to the scheduler’s configured timetable
Access required No shell or scheduler access is needed Requires shell access, a control-panel feature or host support
Resource control Checks can occur during page loads and use the web request environment Can be assigned a cadence and operating-system account
Failure visibility Requires WordPress-level inspection and application logs Provides job history, logs and an exit status, with WP-CLI available for event inspection
Operational risk Works as the built-in fallback but may be late on low-traffic sites More predictable when correctly configured; disabling WP-Cron without it leaves hooks untriggered

The choice is operational rather than ideological. A small site with non-urgent tasks may be perfectly served by the default behavior. A site that promises a publication time or runs regular queues benefits from a scheduler it can monitor and tune.

Final preflight checklist

  • Back up wp-config.php.
  • Add DISABLE_WP_CRON once, before the stop-editing comment.
  • Record the correct WordPress path, PHP binary, PHP version and scheduler account.
  • Choose one trigger method and one scheduler entry.
  • Set a cadence based on the site’s most time-sensitive task and available resources.
  • Run the command manually, then run the scheduler task manually.
  • Run wp cron test and inspect schedules and due events.
  • Check scheduler, PHP and web-server logs.
  • Confirm scheduled posts, plugin queues and maintenance hooks advance.
  • Keep a rollback copy of wp-config.php and a documented way to re-enable the fallback.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.