What wp-cron.php does — and its traffic-triggered flaw
Decide deliberately. Disable and replace with server cron when: scheduled posts have missed their time, the site is heavily cached (cache hits never trigger the check), traffic is low or bursty, or plugins schedule time-critical tasks.
wp-cron.php is WordPress's internal task scheduler, and its flaw is structural: it only runs when a visitor loads a page. Three consequences: on low-traffic sites, tasks wait for visitors; on cached sites, cache hits skip the trigger entirely; on busy sites, the loopback check competes with real requests for PHP workers.
Keep the default on steady, uncached, mid-traffic sites where none of those bite. For everyone else, the two-step fix below — a define() line and a cPanel cron job — ends the whole class of missed-schedule problems.
When to disable wp-cron (and when not to)
A cron job should call the exact script the app documents, on the interval it documents, and write output to a log you can read. A job that emails you every minute means the path or the PHP binary is wrong. Disable overlapping runs for anything that imports or sends mail.

Step 1 — add DISABLE_WP_CRON to wp-config.php
Two practical notes on wp-config.php: it interacts directly with caching and database response, and misconfiguration is the most common cause of 'hosting is slow' tickets. WebJi® support checks it as part of standard migrations.
Step 2 — create a cPanel cron job with the exact line
create a cPanel cron job with the exact line. A cron job should call the exact script the app documents, on the interval it documents, and write output to a log you can read. A job that emails you every minute means the path or the PHP binary is wrong. Disable overlapping runs for anything that imports or sends mail.
Choosing the right interval — 5 to 15 minutes
Choosing the right interval — 5 to 15 minutes. Do the change this heading names on one site first, then check it in a private browser window or in the mail client, depending on the topic. Change one setting at a time, and undo it if the result is wrong before you try the next. If you want the Jaipur desk to look with you, email support@webji.services — that mailbox is staffed 24/7 in Hindi and English. Phone +91 141 4941811 is business hours only.
Verifying cron runs with the WP Crontrol plugin
Verify, because silence is not confirmation:
- Install WP Crontrol: Tools → Cron Events lists every scheduled task with its recurrence and a 'last ran' signal; after your server cron fires, timestamps update and red warnings (missed runs, duplicate hooks) surface here.
- Manual check: enable the cPanel cron job's email output briefly — confirm clean output, then disable before it spams; or curl the wp-cron URL from a terminal.
- End-to-end test: schedule a draft post for two minutes ahead (on a 5-minute interval) and watch it publish on the clock.
If events show stale after 2x your interval. The command path is wrong (PHP binary or document root), the cron job is disabled, or an .htaccess/firewall rule blocks wp-cron.php's URL form — each checkable in minutes.
Common problems after disabling — missed schedules, queues
The known post-change problems, fixed:
- Scheduled posts still miss — your interval is too loose (tighten to 5 minutes) or the cron command silently fails; verify paths with the email-output test, and check the PHP-binary form's home path per account.
- Queue buildup — plugins registering tasks on every page view accumulate events; WP Crontrol shows the offenders and deletes stale hooks.
- 'Missed schedule' on occasional posts only — often a transient lock from two overlapping runs; a single server-cron job ends the overlap traffic-triggered wp-cron caused.
- Backup plugins not firing — most run via wp-cron internally and follow the new schedule automatically; verify 'cron' is the trigger and check the plugin's last-run log.
- Nothing running at all — the define() line landed below the stop-editing comment or outside <?php; wp-config.php placement is the 95% cause.
Frequently Asked Questions
Should I disable wp-cron in WordPress?
For “Should I disable wp-cron in WordPress”: Decide deliberately. Disable and replace with server cron when: scheduled posts have missed their time, the site is heavily cached (cache hits never trigger the check), traffic is low or bursty, or plugins schedule time-critical tasks.
How do I disable wp-cron and set a real cron job?
Manual check: enable the cPanel cron job's email output briefly — confirm clean output, then disable before it spams; or curl the wp-cron URL from a terminal.
What happens if I disable wp-cron?
Decide deliberately. Disable and replace with server cron when: scheduled posts have missed their time, the site is heavily cached (cache hits never trigger the check), traffic is low or bursty, or plugins schedule time-critical tasks.
Why is wp-cron slowing my site?
Decide deliberately. Disable and replace with server cron when: scheduled posts have missed their time, the site is heavily cached (cache hits never trigger the check), traffic is low or bursty, or plugins schedule time-critical tasks. The question here is: Why is wp-cron slowing my site.
How often should the WordPress cron job run?
'Missed schedule' on occasional posts only — often a transient lock from two overlapping runs; a single server-cron job ends the overlap traffic-triggered wp-cron caused.
Where do I add DISABLE_WP_CRON in wp-config.php?
Decide deliberately. Disable and replace with server cron when: scheduled posts have missed their time, the site is heavily cached (cache hits never trigger the check), traffic is low or bursty, or plugins schedule time-critical tasks. The question here is: Where do I add DISABLE_WP_CRON in wp-config.php.
Is WebJi® an Indian company?
Yes. WebJi® is headquartered in Jaipur, Rajasthan and has operated since 2005. Billing, support and governance all run from India.
Do you provide GST invoices?
Every purchase and renewal gets a GST invoice with our GSTIN, and hosting prices are quoted exclusive of 18% GST. Claim input credit as applicable.

