{"id":926,"date":"2026-07-14T20:35:14","date_gmt":"2026-07-14T20:35:14","guid":{"rendered":"https:\/\/www.ahosting.net\/blog\/?p=926"},"modified":"2026-07-14T20:35:16","modified_gmt":"2026-07-14T20:35:16","slug":"disable-wp-cron-measured","status":"publish","type":"post","link":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/","title":{"rendered":"Is WP-Cron Actually Slowing Your Site?"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Should I disable WP-Cron on a low-traffic WordPress site in 2026?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Typically, yes, but for reliability rather than speed. On a low-traffic site the problem is not that WP-Cron is expensive; it is that scheduled jobs wait for a visitor who may not arrive for hours. Therefore you disable WP-Cron to make timing predictable, not to reclaim performance. Our own audit found the page-load cost is roughly 1 percent of an uncached request, so if you disable WP-Cron on a quiet site, do it because your backups and scheduled posts need to fire on a clock. The four-condition test in this post tells you which reason applies to you.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What happens if I disable WP-Cron and forget to add a server cron?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, every scheduled task on the site stops running, silently and without any error message. Consequently, scheduled posts never publish, backups never run, update checks never fire, and WooCommerce emails never send. Notably, WordPress does not warn you, because from its perspective you asked it to stop. This is the single most common way a well-intentioned WP-Cron fix breaks a production site, and it is why the walkthrough in this post orders the two steps deliberately: build the server cron first, then disable the page-load trigger.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"WP-Cron vs system cron: which is more reliable for scheduled posts?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, a system cron is more reliable because it runs on the server clock, while WP-Cron runs only when a visitor loads a page. As a result, a post scheduled for 2:00 AM on a site with no overnight traffic may not publish until the first morning visitor arrives. In contrast, a system cron firing every 15 minutes publishes it within 15 minutes regardless of traffic. The WordPress Plugin Handbook itself recommends the system scheduler for exactly this reason.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How much does WP-Cron actually slow down a WordPress page load?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, we measured an empty WP-Cron check at 18 milliseconds on our own production hardware, against an uncached WordPress page load of 1,540 milliseconds on the same account. Therefore the cron check accounts for roughly 1.17 percent of the request. In practice this means WP-Cron is almost never the reason a WordPress site feels slow. The AHosting WP-Cron Cost Table in this post shows all three measured figures side by side.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does AHosting run a server cron for WordPress accounts by default?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, AHosting does not configure a server cron for you by default, and our July 2026 audit confirmed that 0 percent of the WordPress installations on the server we examined had one in place. Instead, cPanel exposes full cron job control on every WordPress and web hosting plan, so you can add one in about three minutes. The cPanel walkthrough in this post covers the exact command, including which of the three common commands to use.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"WP-CLI vs curl vs wget for a WordPress server cron: which should I use?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, use WP-CLI, because it runs WordPress directly from the command line and never touches the web server. In contrast, curl and wget both make an HTTP request back to your own site, which travels through the web server and consumes one entry process from the same pool that serves your visitors. Furthermore, wget with default options sends no user agent, which some security layers reject outright. The three-method comparison table in this post breaks down the tradeoffs.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How many entry processes does a wp-cron.php request consume on AHosting?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, one. A curl or wget request to wp-cron.php passes through LiteSpeed and occupies a single entry process for the duration of the run, exactly like a visitor loading an uncached page. Consequently, on an AHosting Bronze plan with 15 entry processes, that one request represents 6.7 percent of your concurrency ceiling. Notably, a WP-CLI cron run consumes zero entry processes, because it bypasses the web server entirely.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"When should I disable WP-Cron on a WooCommerce store with Action Scheduler queues?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, disable WP-Cron on a WooCommerce store as soon as Action Scheduler is regularly carrying more than a few hundred pending actions, because Action Scheduler is triggered by WP-Cron and inherits its traffic dependency. In practice, a store processing subscription renewals or abandoned-cart emails cannot afford for its queue to wait on a visitor. Furthermore, a heavy queue is the one case where the cron run itself becomes expensive, which is the third of the four conditions in this post.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is DISABLE_WP_CRON still recommended for WordPress in 2026?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, DISABLE_WP_CRON remains the documented approach in the WordPress Plugin Handbook, but it is a reliability fix rather than a universal speed fix. Notably, our July 2026 audit found that 100 percent of the WordPress installations on the server we examined still ran the default WP-Cron, with 0 percent of their 676 scheduled events overdue. As a result, the honest answer for most sites in 2026 is that the default works, and the four-condition test in this post tells you whether yours is an exception.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What cron interval does AHosting recommend for WordPress in 2026?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, AHosting recommends a 15-minute interval for most WordPress sites and a 5-minute interval for WooCommerce stores or any site with time-critical scheduled jobs. Furthermore, intervals shorter than 5 minutes rarely help, because each run still has to boot WordPress, and on a quiet queue you are paying that boot cost for no work. The cPanel walkthrough in this post gives the exact crontab syntax for both intervals.\"\n      }\n    }\n  ]\n}\n<\/script>\n\n\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-why-we-measured-wp-cron-instead-of-just-telling-you-to-disable-it-5\">Why We Measured WP-Cron Instead of Just Telling You to Disable WP-Cron It<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-what-an-empty-wp-cron-check-actually-costs-18-milliseconds-8\">What an Empty WP-Cron Check Actually Costs: 18 Milliseconds<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-the-three-numbers-18-ms-vs-475-ms-vs-1540-ms-10\">The Three Numbers: 18 ms vs 475 ms vs 1,540 ms<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-why-wp-cron-php-returns-zero-bytes-and-why-that-is-healthy-14\">Why wp-cron.php Returns Zero Bytes (And Why That Is Healthy)<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-the-audit-26-wordpress-installs-676-scheduled-events-zero-overdue-18\">The Audit: 26 WordPress Installs, 676 Scheduled Events, Zero Overdue<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-not-one-site-had-disabled-wp-cron-20\">Not One Site Had Disabled WP-Cron<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-what-26-events-per-install-tells-you-about-plugin-bloat-25\">What 26 Events Per Install Tells You About Plugin Bloat<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-when-you-should-disable-wp-cron-the-four-conditions-29\">When You Should Disable WP-Cron: The Four Conditions<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-condition-one-your-scheduled-jobs-are-time-critical-31\">Condition One: Your Scheduled Jobs Are Time-Critical<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-condition-two-low-traffic-plus-a-deadline-33\">Condition Two: Low Traffic Plus a Deadline<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-condition-three-a-heavy-queue-not-a-long-one-35\">Condition Three: A Heavy Queue, Not a Long One<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-condition-four-you-are-near-your-entry-process-ceiling-37\">Condition Four: You Are Near Your Entry Process Ceiling<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-how-to-disable-wp-cron-the-right-way-the-cpanel-walkthrough-39\">How to Disable WP-Cron the Right Way: The cPanel Walkthrough<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-first-step-create-the-server-cron-in-cpanel-41\">First Step: Create the Server Cron in cPanel<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-second-step-add-disable_wp_cron-to-wp-config-php-44\">Second Step: Add DISABLE_WP_CRON to wp-config.php to Disable WP-Cron<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-third-step-choose-wp-cli-over-curl-or-wget-47\">Third Step: Choose WP-CLI Over curl or wget<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-fourth-step-verify-the-cron-actually-fired-51\">Fourth Step: Verify the Cron Actually Fired After You Disable WP-Cron<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-wp-cron-vs-server-cron-on-cloudlinux-the-entry-process-difference-54\">WP-Cron vs Server Cron on CloudLinux: The Entry Process Difference<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-the-wp-cron-decision-checker-59\">The Disable WP-Cron Decision Checker<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-a-practical-checklist-should-you-disable-wp-cron-62\">A Practical Checklist: Should You Disable WP-Cron?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-disable-wp-cron\">Frequently Asked Questions: Disabling WP-Cron<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#faq-low-traffic-2026\">Should I disable WP-Cron on a low-traffic WordPress site in 2026?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-forgot-server-cron\">What happens if I disable WP-Cron and forget to add a server cron?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-wpcron-vs-system-cron\">WP-Cron vs system cron: which is more reliable for scheduled posts?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-how-much-slower\">How much does WP-Cron actually slow down a WordPress page load?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-ahosting-default-cron\">Does AHosting run a server cron for WordPress accounts by default?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-wpcli-vs-curl-vs-wget\">WP-CLI vs curl vs wget for a WordPress server cron: which should I use?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-entry-processes-consumed\">How many entry processes does a wp-cron.php request consume on AHosting?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-woocommerce-action-scheduler\">When should I disable WP-Cron on a WooCommerce store with Action Scheduler queues?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-still-recommended-2026\">Is DISABLE_WP_CRON still recommended for WordPress in 2026?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-recommended-interval-2026\">What cron interval does AHosting recommend for WordPress in 2026?<\/a><\/li><\/ul><\/li><\/ul><\/div>\n\n\n<div class=\"ah-tldr\">\n  <span class=\"ah-tldr-badge\">TL;DR<\/span>\n  <p>We measured before telling anyone to disable wp-cron. An empty WP-Cron check costs 18 ms, just 1.17% of an uncached page load. On 100% of the WordPress installs we audited, the default was fine.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Every guide telling you to disable wp-cron makes the same claim: WordPress fires its pseudo-cron on every page load, and that overhead is dragging your site down. Notably, none of them publishes a number. Therefore we measured it on our own production hardware, and the result reframes the entire recommendation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, an empty WP-Cron check costs 18 milliseconds. On the same account, an uncached WordPress page load costs 1,540 milliseconds. In other words, the thing everyone tells you to remove accounts for roughly one percent of the request it rides along inside.<\/p>\n\n\n\n<h2 id=\"aioseo-why-we-measured-wp-cron-instead-of-just-telling-you-to-disable-it-5\" class=\"wp-block-heading\">Why We Measured WP-Cron Instead of Just Telling You to Disable WP-Cron It<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The advice to disable wp-cron is repeated almost universally, and it is repeated without evidence. Specifically, we searched the top-ranking pages for this topic and found the same assertion on every one of them, with no supporting measurement on any of them. Consequently, site owners disable a core WordPress subsystem on the strength of an unverified claim, and a meaningful share of them break their scheduled tasks in the process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, we are in an unusual position to check. We run the servers. Therefore, rather than repeat the claim, we audited every WordPress installation on one of our shared hosting servers and timed the operations directly. In practice, that turns a talking point into a measurement, and the measurement disagrees with the talking point.<\/p>\n\n\n\n<h2 id=\"aioseo-what-an-empty-wp-cron-check-actually-costs-18-milliseconds-8\" class=\"wp-block-heading\">What an Empty WP-Cron Check Actually Costs: 18 Milliseconds<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">An empty WP-Cron check costs 18 milliseconds on AHosting&#8217;s LiteSpeed stack. Specifically, that is the time for PHP to boot WordPress, read the scheduled event queue, find nothing due, and exit. Consequently, when people describe WP-Cron as a performance drain, this 18 millisecond operation is the drain they are describing.<\/p>\n\n\n\n<h3 id=\"aioseo-the-three-numbers-18-ms-vs-475-ms-vs-1540-ms-10\" class=\"wp-block-heading\">The Three Numbers: 18 ms vs 475 ms vs 1,540 ms<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Context turns that 18 milliseconds from a number into an argument. Specifically, we timed three operations on the same WordPress account, on the same server, within the same minute. In contrast to the assumption behind the standard advice, the cron check is the cheapest thing on the list by a wide margin.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Operation (measured on AHosting sh193, July 14, 2026)<\/th><th>Cost<\/th><th>Relative to the cron check<\/th><\/tr><\/thead><tbody><tr><td>Empty <code>wp-cron.php<\/code> check (PHP boots, no jobs due)<\/td><td><strong>18 ms<\/strong><\/td><td>1x (baseline)<\/td><\/tr><tr><td>Same WordPress boot via WP-CLI<\/td><td><strong>475 ms<\/strong><\/td><td>26x<\/td><\/tr><tr><td>Uncached homepage load, same account<\/td><td><strong>1,540 ms<\/strong><\/td><td><strong>86x<\/strong><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>The AHosting WP-Cron Cost Table.<\/strong> The WP-Cron check represents 1.17% of an uncached WordPress page load.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore the conclusion writes itself. If an uncached page load takes 1,540 milliseconds and the WP-Cron check inside it takes 18, then removing WP-Cron addresses 1.17 percent of the problem while leaving 98.83 percent untouched. Ultimately, if your WordPress site feels slow, WP-Cron is not why. Your caching layer is why, and our guide to <a href=\"https:\/\/www.ahosting.net\/blog\/wordpress-litespeed-hosting-2026\/\" target=\"_blank\" rel=\"noopener\">server-level LiteSpeed caching for WordPress<\/a> addresses the other 98.83 percent.<\/p>\n\n\n\n<h3 id=\"aioseo-why-wp-cron-php-returns-zero-bytes-and-why-that-is-healthy-14\" class=\"wp-block-heading\">Why wp-cron.php Returns Zero Bytes (And Why That Is Healthy)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A healthy <code>wp-cron.php<\/code> request returns HTTP 200 with an empty response body. Specifically, WordPress executes any due jobs and then terminates without printing anything, so zero bytes is the signature of success rather than a symptom of failure. Notably, this trips up a lot of troubleshooting, because an empty response looks broken to anyone expecting output.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, you can confirm PHP genuinely ran by inspecting the response headers. In practice, WordPress emits its own no-cache headers on this endpoint, including a deliberately absurd expiry date set in 1984. As a result, if you see that header, PHP executed. If you see a cache header instead, your request never reached WordPress at all and any timing you take from it is meaningless.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, the reason the check is this cheap is architectural. Specifically, WordPress fires the cron request as a non-blocking loopback with a 0.01 second timeout, so the visitor&#8217;s page load never waits for the cron work to finish. In fact, WordPress core contributors <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/8923\" target=\"_blank\" rel=\"noopener\">debated raising that timeout for seventeen years<\/a> before closing the ticket, precisely because the fire-and-forget design is the thing keeping the cost off your page load.<\/p>\n\n\n\n<h2 id=\"aioseo-the-audit-26-wordpress-installs-676-scheduled-events-zero-overdue-18\" class=\"wp-block-heading\">The Audit: 26 WordPress Installs, 676 Scheduled Events, Zero Overdue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On July 14, 2026 we audited every WordPress installation on one AHosting shared hosting server. Specifically, this was a census rather than a sample: 26 installations, all of them, with no selection applied. Consequently the percentages below describe the whole population on that machine, not an estimate drawn from part of it.<\/p>\n\n\n\n<h3 id=\"aioseo-not-one-site-had-disabled-wp-cron-20\" class=\"wp-block-heading\">Not One Site Had Disabled WP-Cron<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">100 percent of the WordPress installations were running WP-Cron in its default configuration. Specifically, 0 percent had <code>DISABLE_WP_CRON<\/code> set in <code>wp-config.php<\/code>, and 0 percent had a replacement server cron of any kind. Therefore, despite the advice being one of the most widely repeated optimizations in WordPress, adoption on a real shared server was nil.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>AHosting sh193 WP-Cron Census (all installs, July 14, 2026)<\/th><th>Count<\/th><th>Percent of total<\/th><\/tr><\/thead><tbody><tr><td>WordPress installations audited<\/td><td>26<\/td><td>100%<\/td><\/tr><tr><td>Running default WP-Cron<\/td><td>26<\/td><td><strong>100%<\/strong><\/td><\/tr><tr><td>With <code>DISABLE_WP_CRON<\/code> set<\/td><td>0<\/td><td><strong>0%<\/strong><\/td><\/tr><tr><td>With a replacement server cron<\/td><td>0<\/td><td><strong>0%<\/strong><\/td><\/tr><tr><td>Serving no reachable frontend<\/td><td>10<\/td><td>38.5%<\/td><\/tr><tr><td>Scheduled events across all installs<\/td><td>676<\/td><td>avg 26 per install<\/td><\/tr><tr><td><strong>Events overdue<\/strong><\/td><td><strong>0<\/strong><\/td><td><strong>0%<\/strong><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>The AHosting WP-Cron Census.<\/strong> Every WordPress install on one shared server, audited in full.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, the overdue figure is the one that matters. Specifically, across 676 scheduled events on 26 sites, 0 percent were overdue. In other words, the failure mode that the entire disable-wp-cron recommendation exists to prevent was not occurring on any site we examined. As a result, the default configuration was doing its job on 100 percent of the population.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, 38.5 percent of these installations were serving no reachable frontend at all, and even those had zero overdue events. In practice, that is the strongest possible test of the traffic-dependency argument, because these are the sites that should have been starved of the page loads WP-Cron depends on. They were not.<\/p>\n\n\n\n<h3 id=\"aioseo-what-26-events-per-install-tells-you-about-plugin-bloat-25\" class=\"wp-block-heading\">What 26 Events Per Install Tells You About Plugin Bloat<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The average WordPress installation on the server carried 26 scheduled events. Specifically, a clean WordPress core install schedules roughly a dozen, so the remainder arrives with plugins. Consequently, the size of your cron queue is a reasonable proxy for how much background work your plugin stack has quietly signed you up for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore the queue length is worth checking even if you never disable wp-cron. In practice, an install carrying 40 or more events is usually running duplicate scheduling from a misbehaving plugin, and the WordPress Plugin Handbook warns that calling <a href=\"https:\/\/developer.wordpress.org\/plugins\/cron\/scheduling-wp-cron-events\/\" target=\"_blank\" rel=\"noopener\">wp_schedule_event on every page load<\/a> can register the same task thousands of times.<\/p>\n\n\n\n<div class=\"ah-info-wrap\">\n<svg viewBox=\"0 0 900 460\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"AHosting WP-Cron audit: an empty WP-Cron check costs 18 milliseconds, which is 1.17 percent of a 1,540 millisecond uncached WordPress page load. 100 percent of 26 audited installs ran default WP-Cron with 0 percent of 676 events overdue.\">\n  <title>The WP-Cron Cost, Measured: 18 ms Against a 1,540 ms Page Load<\/title>\n  <desc>AHosting audited all 26 WordPress installs on shared server sh193 on July 14, 2026. An empty wp-cron.php check took 18 milliseconds, a WP-CLI boot took 475 milliseconds, and an uncached homepage took 1,540 milliseconds. The cron check is 1.17 percent of the page load. 100 percent of installs ran default WP-Cron, 0 percent had it disabled, and 0 percent of 676 scheduled events were overdue.<\/desc>\n  <defs>\n    <linearGradient id=\"ahbg\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n      <stop offset=\"0%\" stop-color=\"#0f172a\"\/><stop offset=\"100%\" stop-color=\"#1e293b\"\/>\n    <\/linearGradient>\n  <\/defs>\n  <rect width=\"900\" height=\"460\" fill=\"url(#ahbg)\"\/>\n  <rect x=\"0\" y=\"0\" width=\"10\" height=\"460\" fill=\"#2563eb\"\/>\n  <text x=\"42\" y=\"46\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"15\" font-weight=\"700\" letter-spacing=\"1.5\">AHOSTING.NET<\/text>\n  <text x=\"42\" y=\"66\" fill=\"#94a3b8\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"11\" letter-spacing=\"1\">EST. 2002<\/text>\n  <text x=\"42\" y=\"116\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"30\" font-weight=\"700\">The WP-Cron Tax, Measured<\/text>\n  <text x=\"42\" y=\"146\" fill=\"#2563eb\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"14\" font-weight=\"600\">sh193 shared server &#183; all 26 WordPress installs &#183; July 14, 2026<\/text>\n  <line x1=\"42\" y1=\"166\" x2=\"858\" y2=\"166\" stroke=\"#334155\" stroke-width=\"1\"\/>\n\n  <text x=\"42\" y=\"198\" fill=\"#94a3b8\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"12\" font-weight=\"600\" letter-spacing=\"1\">COST OF ONE OPERATION<\/text>\n\n  <text x=\"42\" y=\"228\" fill=\"#eef3ff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"13\">Empty wp-cron.php check<\/text>\n  <rect x=\"270\" y=\"215\" width=\"9\" height=\"18\" rx=\"2\" fill=\"#2563eb\"\/>\n  <text x=\"292\" y=\"229\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"14\" font-weight=\"700\">18 ms<\/text>\n\n  <text x=\"42\" y=\"266\" fill=\"#eef3ff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"13\">WP-CLI WordPress boot<\/text>\n  <rect x=\"270\" y=\"253\" width=\"182\" height=\"18\" rx=\"2\" fill=\"#60a5fa\"\/>\n  <text x=\"466\" y=\"267\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"14\" font-weight=\"700\">475 ms<\/text>\n\n  <text x=\"42\" y=\"304\" fill=\"#eef3ff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"13\">Uncached page load<\/text>\n  <rect x=\"270\" y=\"291\" width=\"560\" height=\"18\" rx=\"2\" fill=\"#f87171\"\/>\n  <text x=\"700\" y=\"305\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"14\" font-weight=\"700\">1,540 ms<\/text>\n\n  <rect x=\"42\" y=\"330\" width=\"816\" height=\"46\" rx=\"6\" fill=\"#1e3a8a\"\/>\n  <text x=\"60\" y=\"359\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"17\" font-weight=\"700\">The WP-Cron check is 1.17% of an uncached page load.<\/text>\n\n  <line x1=\"42\" y1=\"396\" x2=\"858\" y2=\"396\" stroke=\"#334155\" stroke-width=\"1\"\/>\n  <text x=\"42\" y=\"424\" fill=\"#94a3b8\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"12\" font-weight=\"600\">RAN DEFAULT WP-CRON<\/text>\n  <text x=\"42\" y=\"446\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"20\" font-weight=\"700\">100%<\/text>\n  <text x=\"250\" y=\"424\" fill=\"#94a3b8\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"12\" font-weight=\"600\">HAD IT DISABLED<\/text>\n  <text x=\"250\" y=\"446\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"20\" font-weight=\"700\">0%<\/text>\n  <text x=\"430\" y=\"424\" fill=\"#94a3b8\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"12\" font-weight=\"600\">OF 676 EVENTS OVERDUE<\/text>\n  <text x=\"430\" y=\"446\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"20\" font-weight=\"700\">0%<\/text>\n  <text x=\"700\" y=\"424\" fill=\"#94a3b8\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"12\" font-weight=\"600\">EVENTS \/ INSTALL<\/text>\n  <text x=\"700\" y=\"446\" fill=\"#ffffff\" font-family=\"Poppins,Arial,sans-serif\" font-size=\"20\" font-weight=\"700\">26<\/text>\n<\/svg>\n<\/div>\n\n\n\n<h2 id=\"aioseo-when-you-should-disable-wp-cron-the-four-conditions-29\" class=\"wp-block-heading\">When You Should Disable WP-Cron: The Four Conditions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You should disable wp-cron when at least one of four specific conditions applies to your site. Notably, none of them is &#8220;your site feels slow,&#8221; because we have now measured that the cron check contributes 1.17 percent of a page load. In contrast, each condition below describes a real failure that the default configuration genuinely cannot handle.<\/p>\n\n\n\n<h3 id=\"aioseo-condition-one-your-scheduled-jobs-are-time-critical-31\" class=\"wp-block-heading\">Condition One: Your Scheduled Jobs Are Time-Critical<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Disable wp-cron when a job must run at a specific time rather than eventually. Specifically, WP-Cron has no clock of its own; it inherits the timing of your traffic. Consequently a backup scheduled for 3:00 AM on a site with no overnight visitors runs whenever the first morning visitor arrives, which may be 7:00 AM. In practice, if the difference between 3:00 AM and 7:00 AM matters to you, that is a reliability requirement and only a server cron satisfies it.<\/p>\n\n\n\n<h3 id=\"aioseo-condition-two-low-traffic-plus-a-deadline-33\" class=\"wp-block-heading\">Condition Two: Low Traffic Plus a Deadline<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Disable wp-cron when your site has genuinely sparse traffic and something depends on a schedule. Specifically, this is the classic case the <a href=\"https:\/\/developer.wordpress.org\/plugins\/cron\/\" target=\"_blank\" rel=\"noopener\">WordPress Plugin Handbook&#8217;s cron documentation<\/a> describes: schedule a task for 2:00 PM, receive no page loads until 5:00 PM, and the task runs three hours late. Notably, our audit found zero overdue events even on sites with no reachable frontend, so this failure is less common than assumed, but it is real when it happens.<\/p>\n\n\n\n<h3 id=\"aioseo-condition-three-a-heavy-queue-not-a-long-one-35\" class=\"wp-block-heading\">Condition Three: A Heavy Queue, Not a Long One<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Disable wp-cron when your queue contains expensive jobs rather than merely numerous ones. Specifically, our 18 millisecond measurement is the cost of checking an <em>empty<\/em> queue, and that figure rises with the work actually due. Therefore a WooCommerce store draining a large Action Scheduler backlog is a genuinely different case from a blog with 26 idle events, and our <a href=\"https:\/\/www.ahosting.net\/woocommerce-hosting.html\" target=\"_blank\" rel=\"noopener\">WooCommerce-optimized hosting plans<\/a> allocate 25 entry processes precisely because checkout and queue work compete for the same pool.<\/p>\n\n\n\n<h3 id=\"aioseo-condition-four-you-are-near-your-entry-process-ceiling-37\" class=\"wp-block-heading\">Condition Four: You Are Near Your Entry Process Ceiling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Disable wp-cron when you are already close to your concurrency limit, because every cron run occupies a worker that a visitor could be using. Specifically, on CloudLinux each PHP request consumes one entry process, and <a href=\"https:\/\/docs.cloudlinux.com\/cloudlinuxos\/limits\/\" target=\"_blank\" rel=\"noopener\">CloudLinux&#8217;s resource limit documentation<\/a> explains that exceeding the ceiling queues or rejects requests. Consequently, if you are already seeing <a href=\"https:\/\/www.ahosting.net\/blog\/508-resource-limit-reached-wordpress\/\" target=\"_blank\" rel=\"noopener\">508 resource limit errors during traffic spikes<\/a>, cron work is competing with real visitors and moving it to WP-CLI removes it from the pool entirely.<\/p>\n\n\n\n<h2 id=\"aioseo-how-to-disable-wp-cron-the-right-way-the-cpanel-walkthrough-39\" class=\"wp-block-heading\">How to Disable WP-Cron the Right Way: The cPanel Walkthrough<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Build the replacement cron first, then disable the page-load trigger. Specifically, doing it in the reverse order leaves a window in which no scheduled task runs at all, and because WordPress reports no error during that window, sites have sat with silently dead cron queues for months. Therefore the ordering below is deliberate.<\/p>\n\n\n\n<h3 id=\"aioseo-first-step-create-the-server-cron-in-cpanel-41\" class=\"wp-block-heading\">First Step: Create the Server Cron in cPanel<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open cPanel, find Cron Jobs under the Advanced section, and add a new job. Specifically, set the interval to every 15 minutes for a standard site, or every 5 minutes for a WooCommerce store. Furthermore, AHosting exposes full cron control on every <a href=\"https:\/\/www.ahosting.net\/wordpress-hosting.html\" target=\"_blank\" rel=\"noopener\">managed WordPress hosting plan<\/a> and on <a href=\"https:\/\/www.ahosting.net\/web-hosting.html\" target=\"_blank\" rel=\"noopener\">standard cPanel web hosting accounts<\/a>, so this requires no support ticket and no shell access.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Every 15 minutes - standard WordPress site (recommended)\n*\/15 * * * * \/usr\/local\/bin\/wp cron event run --due-now --path=\/home\/USERNAME\/public_html &gt;\/dev\/null 2&gt;&amp;1\n\n# Every 5 minutes - WooCommerce or time-critical jobs\n*\/5 * * * * \/usr\/local\/bin\/wp cron event run --due-now --path=\/home\/USERNAME\/public_html &gt;\/dev\/null 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<h3 id=\"aioseo-second-step-add-disable_wp_cron-to-wp-config-php-44\" class=\"wp-block-heading\">Second Step: Add DISABLE_WP_CRON to wp-config.php to Disable WP-Cron<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open <code>wp-config.php<\/code> and add a single line above the &#8220;stop editing&#8221; comment. Specifically, this constant tells WordPress to skip the cron check on page loads, while still permitting <code>wp-cron.php<\/code> to be called directly by your new server cron. In practice, this is the entire code change, and it is fully reversible by deleting the line.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>define( 'DISABLE_WP_CRON', true );\n\n\/* That's all, stop editing! Happy publishing. *\/<\/code><\/pre>\n\n\n\n<h3 id=\"aioseo-third-step-choose-wp-cli-over-curl-or-wget-47\" class=\"wp-block-heading\">Third Step: Choose WP-CLI Over curl or wget<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use WP-CLI rather than curl or wget, because only WP-CLI keeps the cron run out of your visitor worker pool. Specifically, curl and wget both issue an HTTP request back to your own site, which travels through LiteSpeed and consumes one entry process exactly as a visitor would. In contrast, <a href=\"https:\/\/wp-cli.org\/commands\/cron\/event\/run\/\" target=\"_blank\" rel=\"noopener\">the WP-CLI cron event run command<\/a> loads WordPress directly from the command line and never touches the web server.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Cron method<\/th><th>Entry processes consumed<\/th><th>Goes through the web server<\/th><th>Blocked by security layers<\/th><\/tr><\/thead><tbody><tr><td><code>curl<\/code> to wp-cron.php<\/td><td>1 per run<\/td><td>Yes<\/td><td>Sometimes<\/td><\/tr><tr><td><code>wget<\/code> to wp-cron.php<\/td><td>1 per run<\/td><td>Yes<\/td><td>Often (sends no user agent)<\/td><\/tr><tr><td><strong>WP-CLI<\/strong> <code>cron event run<\/code><\/td><td><strong>0<\/strong><\/td><td><strong>No<\/strong><\/td><td><strong>Never<\/strong><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>The AHosting Cron Method Comparison.<\/strong> On a Bronze plan with 15 entry processes, one curl-triggered cron run occupies 6.7% of your concurrency ceiling.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, the <a href=\"https:\/\/developer.wordpress.org\/plugins\/cron\/hooking-wp-cron-into-the-system-task-scheduler\/\" target=\"_blank\" rel=\"noopener\">WordPress Plugin Handbook&#8217;s own guidance on hooking WP-Cron into the system task scheduler<\/a> still demonstrates the wget approach, which is why it propagates through so much hosting documentation. Therefore, on an entry-process-metered host it is the wrong default, and the table above is the reason.<\/p>\n\n\n\n<h3 id=\"aioseo-fourth-step-verify-the-cron-actually-fired-51\" class=\"wp-block-heading\">Fourth Step: Verify the Cron Actually Fired After You Disable WP-Cron<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wait one interval, then list your scheduled events and confirm nothing is overdue. Specifically, if events that were due have moved to a future run time, the server cron executed. Consequently, this single command is the difference between a working configuration and the silent failure described above.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Nothing should show as overdue after one interval has passed\nwp cron event list --fields=hook,next_run_relative --path=\/home\/USERNAME\/public_html<\/code><\/pre>\n\n\n\n<h2 id=\"aioseo-wp-cron-vs-server-cron-on-cloudlinux-the-entry-process-difference-54\" class=\"wp-block-heading\">WP-Cron vs Server Cron on CloudLinux: The Entry Process Difference<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On CloudLinux, the real difference between WP-Cron and a server cron is which resource pool the work comes out of. Specifically, entry processes cap how many PHP requests your account can run at the same instant, and AHosting publishes those numbers by tier rather than hiding them. Therefore you can calculate the cost of a cron run against your own ceiling.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>AHosting plan<\/th><th>Entry processes<\/th><th>Cost of one curl-triggered cron run<\/th><th>Cost of one WP-CLI cron run<\/th><\/tr><\/thead><tbody><tr><td>WP Bronze<\/td><td>15<\/td><td>6.7% of ceiling<\/td><td><strong>0%<\/strong><\/td><\/tr><tr><td>WP Silver<\/td><td>25<\/td><td>4.0% of ceiling<\/td><td><strong>0%<\/strong><\/td><\/tr><tr><td>WooCommerce (WooStart)<\/td><td>25<\/td><td>4.0% of ceiling<\/td><td><strong>0%<\/strong><\/td><\/tr><tr><td>WP Gold<\/td><td>40<\/td><td>2.5% of ceiling<\/td><td><strong>0%<\/strong><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong>The AHosting Entry Process Cron Cost Table.<\/strong> A WP-CLI cron run bypasses the web server and consumes no entry process on any tier.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, this is where a genuine upgrade decision lives. In practice, if cron work and visitor traffic are competing for the same 15 workers often enough to cause errors, the answer is either to move cron off the pool with WP-CLI or to raise the pool itself. Our guide to <a href=\"https:\/\/www.ahosting.net\/blog\/wordpress-php-workers-503-errors-2026\/\" target=\"_blank\" rel=\"noopener\">how many PHP workers a WordPress site actually needs<\/a> covers the sizing math, and a <a href=\"https:\/\/www.ahosting.net\/vps-hosting.html\" target=\"_blank\" rel=\"noopener\">VPS plan with dedicated resources<\/a> removes the ceiling from the equation entirely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, none of this changes why WP-Cron is unreliable in the first place. Specifically, that mechanism is the page-load dependency itself, which we cover in detail in our guide to <a href=\"https:\/\/www.ahosting.net\/blog\/wordpress-cron-jobs-hosting-2026\/\" target=\"_blank\" rel=\"noopener\">why WordPress cron jobs fail on shared hosting<\/a>. In contrast, this post is about whether the standard fix is worth applying to your particular site.<\/p>\n\n\n\n<h2 id=\"aioseo-the-wp-cron-decision-checker-59\" class=\"wp-block-heading\">The Disable WP-Cron Decision Checker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Answer four questions and the checker returns a verdict. Specifically, it applies the four conditions above to your situation. In practice, most sites get told to leave WP-Cron alone, and that is the honest answer rather than an evasive one.<\/p>\n\n\n\n<div class=\"ahcron-widget\">\n  <style>\n    .ahcron-widget{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:12px;padding:28px;margin:28px 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;}\n    .ahcron-hd{color:#ffffff;font-size:1.25rem;font-weight:700;margin:0 0 6px;}\n    .ahcron-sub{color:#eef3ff;font-size:.9rem;margin:0 0 22px;}\n    .ahcron-q{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:14px 16px;margin-bottom:12px;}\n    .ahcron-qt{color:#ffffff;font-size:.93rem;font-weight:600;margin:0 0 10px;display:block;}\n    .ahcron-btn{background:#334155;color:#eef3ff;border:1px solid #475569;border-radius:6px;padding:7px 16px;font-size:.85rem;font-weight:600;cursor:pointer;margin-right:8px;}\n    .ahcron-btn:hover{background:#475569;}\n    .ahcron-btn.ahcron-on{background:#2563eb;color:#ffffff;border-color:#2563eb;}\n    .ahcron-out{background:#1e3a8a;border-radius:8px;padding:18px 20px;margin-top:18px;}\n    .ahcron-verdict{color:#ffffff;font-size:1.05rem;font-weight:700;margin:0 0 6px;}\n    .ahcron-why{color:#eef3ff;font-size:.88rem;margin:0 0 14px;line-height:1.6;}\n    a.ahcron-cta.wp-element-button{display:inline-block;background:#2563eb!important;color:#ffffff!important;text-decoration:none!important;padding:9px 20px;border-radius:6px;font-size:.86rem;font-weight:600;}\n  <\/style>\n  <p class=\"ahcron-hd\">Should you disable WP-Cron?<\/p>\n  <p class=\"ahcron-sub\">Four questions. Based on the conditions measured above.<\/p>\n\n  <div class=\"ahcron-q\">\n    <span class=\"ahcron-qt\">1. Do any scheduled jobs have to run at a specific time?<\/span>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q1\" data-v=\"1\">Yes<\/button>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q1\" data-v=\"0\">No<\/button>\n  <\/div>\n  <div class=\"ahcron-q\">\n    <span class=\"ahcron-qt\">2. Does your site go hours at a time without visitors?<\/span>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q2\" data-v=\"1\">Yes<\/button>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q2\" data-v=\"0\">No<\/button>\n  <\/div>\n  <div class=\"ahcron-q\">\n    <span class=\"ahcron-qt\">3. Do you run WooCommerce or a large Action Scheduler queue?<\/span>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q3\" data-v=\"1\">Yes<\/button>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q3\" data-v=\"0\">No<\/button>\n  <\/div>\n  <div class=\"ahcron-q\">\n    <span class=\"ahcron-qt\">4. Do you see 508 or 503 errors during traffic spikes?<\/span>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q4\" data-v=\"1\">Yes<\/button>\n    <button type=\"button\" class=\"ahcron-btn\" data-q=\"q4\" data-v=\"0\">No<\/button>\n  <\/div>\n\n  <div class=\"ahcron-out\" id=\"ahcron-out\">\n    <p class=\"ahcron-verdict\" id=\"ahcron-verdict\">Answer the four questions<\/p>\n    <p class=\"ahcron-why\" id=\"ahcron-why\">The checker will tell you whether disabling WP-Cron is worth it for your site, or whether the default is fine.<\/p>\n    <a class=\"ahcron-cta wp-element-button\" id=\"ahcron-cta\" href=\"https:\/\/www.ahosting.net\/wordpress-hosting.html\">See AHosting WordPress plans<\/a>\n  <\/div>\n<\/div>\n<script>\n(function(){\n  document.addEventListener('DOMContentLoaded', function(){\n    var wrap = document.querySelector('.ahcron-widget');\n    if (!wrap) { return; }\n    var verdict = document.getElementById('ahcron-verdict');\n    var why = document.getElementById('ahcron-why');\n    if (!verdict) { return; }\n    if (!why) { return; }\n    var ans = {};\n\n    function render(){\n      var keys = ['q1','q2','q3','q4'];\n      var answered = 0;\n      var score = 0;\n      for (var i = 0; i < keys.length; i++) {\n        if (typeof ans[keys[i]] !== 'undefined') {\n          answered = answered + 1;\n          score = score + ans[keys[i]];\n        }\n      }\n      if (answered < 4) { return; }\n\n      if (score === 0) {\n        verdict.textContent = 'Leave WP-Cron alone.';\n        why.textContent = 'None of the four conditions apply. On our audit, 100% of installs ran default WP-Cron and 0% of their 676 events were overdue. The cron check costs 18 ms, or 1.17% of an uncached page load. Spend your effort on caching instead.';\n        return;\n      }\n      if (score === 1) {\n        verdict.textContent = 'Optional, but worth doing.';\n        why.textContent = 'One condition applies. Disabling WP-Cron will make your scheduled tasks predictable, though it will not measurably speed up your pages. Use the WP-CLI method so the cron run stays out of your entry process pool.';\n        return;\n      }\n      verdict.textContent = 'Yes. Disable WP-Cron and use WP-CLI.';\n      why.textContent = 'Multiple conditions apply. Your scheduled work is both time-sensitive and competing with visitors for PHP workers. Build the server cron first, then set DISABLE_WP_CRON. Use WP-CLI, not curl or wget, so the run consumes zero entry processes.';\n    }\n\n    wrap.addEventListener('click', function(e){\n      var t = e.target;\n      if (!t) { return; }\n      var q = t.getAttribute('data-q');\n      if (!q) { return; }\n      var v = t.getAttribute('data-v');\n      if (!v) { return; }\n      ans[q] = parseInt(v, 10);\n      var sibs = wrap.querySelectorAll('button[data-q=\"' + q + '\"]');\n      for (var i = 0; i < sibs.length; i++) { sibs[i].classList.remove('ahcron-on'); }\n      t.classList.add('ahcron-on');\n      render();\n    });\n  });\n})();\n<\/script>\n\n\n\n<h2 id=\"aioseo-a-practical-checklist-should-you-disable-wp-cron-62\" class=\"wp-block-heading\">A Practical Checklist: Should You Disable WP-Cron?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Check the queue first.<\/strong> Run <code>wp cron event list<\/code> and look for overdue events. If nothing is overdue, the default is working, exactly as it was on 100% of the installs we audited.<\/li>\n\n\n\n<li><strong>Stop blaming cron for speed.<\/strong> The check costs 18 ms against a 1,540 ms uncached page load. Fix caching instead.<\/li>\n\n\n\n<li><strong>Build the server cron before disabling anything.<\/strong> Reversing the order leaves scheduled tasks silently dead.<\/li>\n\n\n\n<li><strong>Use WP-CLI, not curl or wget.<\/strong> Only WP-CLI keeps the run out of your entry process pool.<\/li>\n\n\n\n<li><strong>Set 15 minutes for a standard site, 5 for WooCommerce.<\/strong> Shorter intervals pay the WordPress boot cost for no work.<\/li>\n\n\n\n<li><strong>Verify after one interval.<\/strong> If due events have moved to a future run time, the cron fired.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"faq-disable-wp-cron\" class=\"wp-block-heading\">Frequently Asked Questions: Disabling WP-Cron<\/h2>\n\n\n\n<h3 id=\"faq-low-traffic-2026\" class=\"wp-block-heading\">Should I disable WP-Cron on a low-traffic WordPress site in 2026?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Typically, yes, but for reliability rather than speed. On a low-traffic site the problem is not that WP-Cron is expensive; it is that scheduled jobs wait for a visitor who may not arrive for hours. Therefore you disable WP-Cron to make timing predictable, not to reclaim performance. Our own audit found the page-load cost is roughly 1 percent of an uncached request, so if you disable WP-Cron on a quiet site, do it because your backups and scheduled posts need to fire on a clock. The four-condition test in this post tells you which reason applies to you.<\/p>\n\n\n\n<h3 id=\"faq-forgot-server-cron\" class=\"wp-block-heading\">What happens if I disable WP-Cron and forget to add a server cron?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, every scheduled task on the site stops running, silently and without any error message. Consequently, scheduled posts never publish, backups never run, update checks never fire, and WooCommerce emails never send. Notably, WordPress does not warn you, because from its perspective you asked it to stop. This is the single most common way a well-intentioned WP-Cron fix breaks a production site, and it is why the walkthrough in this post orders the two steps deliberately: build the server cron first, then disable the page-load trigger.<\/p>\n\n\n\n<h3 id=\"faq-wpcron-vs-system-cron\" class=\"wp-block-heading\">WP-Cron vs system cron: which is more reliable for scheduled posts?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, a system cron is more reliable because it runs on the server clock, while WP-Cron runs only when a visitor loads a page. As a result, a post scheduled for 2:00 AM on a site with no overnight traffic may not publish until the first morning visitor arrives. In contrast, a system cron firing every 15 minutes publishes it within 15 minutes regardless of traffic. The WordPress Plugin Handbook itself recommends the system scheduler for exactly this reason.<\/p>\n\n\n\n<h3 id=\"faq-how-much-slower\" class=\"wp-block-heading\">How much does WP-Cron actually slow down a WordPress page load?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, we measured an empty WP-Cron check at 18 milliseconds on our own production hardware, against an uncached WordPress page load of 1,540 milliseconds on the same account. Therefore the cron check accounts for roughly 1.17 percent of the request. In practice this means WP-Cron is almost never the reason a WordPress site feels slow. The AHosting WP-Cron Cost Table in this post shows all three measured figures side by side.<\/p>\n\n\n\n<h3 id=\"faq-ahosting-default-cron\" class=\"wp-block-heading\">Does AHosting run a server cron for WordPress accounts by default?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, AHosting does not configure a server cron for you by default, and our July 2026 audit confirmed that 0 percent of the WordPress installations on the server we examined had one in place. Instead, cPanel exposes full cron job control on every WordPress and web hosting plan, so you can add one in about three minutes. The cPanel walkthrough in this post covers the exact command, including which of the three common commands to use.<\/p>\n\n\n\n<h3 id=\"faq-wpcli-vs-curl-vs-wget\" class=\"wp-block-heading\">WP-CLI vs curl vs wget for a WordPress server cron: which should I use?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, use WP-CLI, because it runs WordPress directly from the command line and never touches the web server. In contrast, curl and wget both make an HTTP request back to your own site, which travels through the web server and consumes one entry process from the same pool that serves your visitors. Furthermore, wget with default options sends no user agent, which some security layers reject outright. The three-method comparison table in this post breaks down the tradeoffs.<\/p>\n\n\n\n<h3 id=\"faq-entry-processes-consumed\" class=\"wp-block-heading\">How many entry processes does a wp-cron.php request consume on AHosting?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, one. A curl or wget request to wp-cron.php passes through LiteSpeed and occupies a single entry process for the duration of the run, exactly like a visitor loading an uncached page. Consequently, on an AHosting Bronze plan with 15 entry processes, that one request represents 6.7 percent of your concurrency ceiling. Notably, a WP-CLI cron run consumes zero entry processes, because it bypasses the web server entirely.<\/p>\n\n\n\n<h3 id=\"faq-woocommerce-action-scheduler\" class=\"wp-block-heading\">When should I disable WP-Cron on a WooCommerce store with Action Scheduler queues?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, disable WP-Cron on a WooCommerce store as soon as Action Scheduler is regularly carrying more than a few hundred pending actions, because Action Scheduler is triggered by WP-Cron and inherits its traffic dependency. In practice, a store processing subscription renewals or abandoned-cart emails cannot afford for its queue to wait on a visitor. Furthermore, a heavy queue is the one case where the cron run itself becomes expensive, which is the third of the four conditions in this post.<\/p>\n\n\n\n<h3 id=\"faq-still-recommended-2026\" class=\"wp-block-heading\">Is DISABLE_WP_CRON still recommended for WordPress in 2026?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, DISABLE_WP_CRON remains the documented approach in the WordPress Plugin Handbook, but it is a reliability fix rather than a universal speed fix. Notably, our July 2026 audit found that 100 percent of the WordPress installations on the server we examined still ran the default WP-Cron, with 0 percent of their 676 scheduled events overdue. As a result, the honest answer for most sites in 2026 is that the default works, and the four-condition test in this post tells you whether yours is an exception.<\/p>\n\n\n\n<h3 id=\"faq-recommended-interval-2026\" class=\"wp-block-heading\">What cron interval does AHosting recommend for WordPress in 2026?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, AHosting recommends a 15-minute interval for most WordPress sites and a 5-minute interval for WooCommerce stores or any site with time-critical scheduled jobs. Furthermore, intervals shorter than 5 minutes rarely help, because each run still has to boot WordPress, and on a quiet queue you are paying that boot cost for no work. The cPanel walkthrough in this post gives the exact crontab syntax for both intervals.<\/p>\n\n\n\n<script>\n(function(){\n  document.addEventListener('DOMContentLoaded', function(){\n    var allH3s = document.querySelectorAll('h3.wp-block-heading');\n    var inFaq = false;\n    for (var i = 0; i < allH3s.length; i++) {\n      var h3 = allH3s[i];\n      var prev = h3.previousElementSibling;\n      if (prev) {\n        if (prev.tagName === 'H2') {\n          var prevId = prev.getAttribute('id');\n          if (prevId) {\n            if (prevId.indexOf('faq-') === 0) {\n              inFaq = true;\n            } else {\n              inFaq = false;\n            }\n          }\n        }\n      }\n      if (inFaq) {\n        initToggle(h3);\n      }\n    }\n    function initToggle(h3) {\n      var answer = h3.nextElementSibling;\n      if (!answer) { return; }\n      if (answer.tagName !== 'P') { return; }\n      var chev = document.createElement('span');\n      chev.className = 'ahfaq-chev ahfaq-chev-closed';\n      chev.setAttribute('aria-hidden', 'true');\n      h3.appendChild(chev);\n      h3.setAttribute('role', 'button');\n      h3.setAttribute('tabindex', '0');\n      h3.setAttribute('aria-expanded', 'false');\n      answer.classList.add('ahfaq-collapsed');\n      h3.addEventListener('click', function(){ doToggle(h3, answer, chev); });\n      h3.addEventListener('keydown', function(e){\n        if (e.key === 'Enter') { e.preventDefault(); doToggle(h3, answer, chev); }\n        if (e.key === ' ') { e.preventDefault(); doToggle(h3, answer, chev); }\n      });\n    }\n    function doToggle(h3, answer, chev) {\n      var isOpen = h3.getAttribute('aria-expanded') === 'true';\n      if (isOpen) {\n        answer.classList.remove('ahfaq-open');\n        answer.classList.add('ahfaq-collapsed');\n        h3.setAttribute('aria-expanded', 'false');\n        chev.classList.add('ahfaq-chev-closed');\n        chev.classList.remove('ahfaq-chev-open');\n      } else {\n        answer.classList.remove('ahfaq-collapsed');\n        answer.classList.add('ahfaq-open');\n        h3.setAttribute('aria-expanded', 'true');\n        chev.classList.remove('ahfaq-chev-closed');\n        chev.classList.add('ahfaq-chev-open');\n      }\n    }\n  });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR We measured before telling anyone to disable wp-cron. An empty WP-Cron check costs 18 ms, just 1.17% of an uncached page load. On 100% of the WordPress installs we audited, the default was fine. Every guide telling you to disable wp-cron makes the same claim: WordPress fires its pseudo-cron on every page load, and [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":928,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[8],"tags":[60,126,124,84,127,123,125,65],"class_list":["post-926","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-cloudlinux","tag-cpanel-cron","tag-disable-wp-cron","tag-entry-processes","tag-server-cron","tag-wordpress-cron-job","tag-wp-cli","tag-wp-cron"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here&#039;s when it actually matters.\" \/>\n\t<meta name=\"robots\" content=\"max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Matt Chrust\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"AHosting Blog Home | AHosting Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting\" \/>\n\t\t<meta property=\"og:description\" content=\"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here&#039;s when it actually matters.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-14T20:35:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-14T20:35:16+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here&#039;s when it actually matters.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#article\",\"name\":\"Disable WP-Cron \\u2014 We Measured the Real Cost | AHosting\",\"headline\":\"Is WP-Cron Actually Slowing Your Site?\",\"author\":{\"@type\":\"Person\",\"name\":\"Matt Chrust\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/disable-wp-cron-measured-ahosting.jpg\",\"width\":1200,\"height\":675},\"datePublished\":\"2026-07-14T20:35:14+00:00\",\"dateModified\":\"2026-07-14T20:35:16+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#webpage\"},\"articleSection\":\"WordPress, CloudLinux, cpanel cron, disable wp-cron, entry processes, server cron, wordpress cron job, wp-cli, WP-Cron\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/#listItem\",\"name\":\"WordPress\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/#listItem\",\"position\":2,\"name\":\"WordPress\",\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#listItem\",\"name\":\"Is WP-Cron Actually Slowing Your Site?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#listItem\",\"position\":3,\"name\":\"Is WP-Cron Actually Slowing Your Site?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/wordpress\\\/#listItem\",\"name\":\"WordPress\"},\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/\"}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\",\"name\":\"AHosting\",\"description\":\"AHosting Blog\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/assets\\\/img\\\/ahosting-logo.svg\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/\",\"name\":\"Matt Chrust\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/795895edac1c44589f6c7f5e6bb79df405fbbaac15817bdd387ec57da61731ec?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Matt Chrust\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#webpage\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/\",\"name\":\"Disable WP-Cron \\u2014 We Measured the Real Cost | AHosting\",\"description\":\"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here's when it actually matters.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/disable-wp-cron-measured-ahosting.jpg\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#mainImage\",\"width\":1200,\"height\":675},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/disable-wp-cron-measured\\\/#mainImage\"},\"datePublished\":\"2026-07-14T20:35:14+00:00\",\"dateModified\":\"2026-07-14T20:35:16+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#website\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/\",\"name\":\"AHosting\",\"description\":\"AHosting Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting","description":"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here's when it actually matters.","canonical_url":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/","robots":"max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#article","name":"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting","headline":"Is WP-Cron Actually Slowing Your Site?","author":{"@type":"Person","name":"Matt Chrust","url":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/"},"publisher":{"@id":"https:\/\/www.ahosting.net\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg","width":1200,"height":675},"datePublished":"2026-07-14T20:35:14+00:00","dateModified":"2026-07-14T20:35:16+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#webpage"},"isPartOf":{"@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#webpage"},"articleSection":"WordPress, CloudLinux, cpanel cron, disable wp-cron, entry processes, server cron, wordpress cron job, wp-cli, WP-Cron"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.ahosting.net\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/#listItem","name":"WordPress"}},{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/#listItem","position":2,"name":"WordPress","item":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#listItem","name":"Is WP-Cron Actually Slowing Your Site?"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#listItem","position":3,"name":"Is WP-Cron Actually Slowing Your Site?","previousItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/#listItem","name":"WordPress"},"item":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/"}]},{"@type":"Organization","@id":"https:\/\/www.ahosting.net\/#organization","name":"AHosting","description":"AHosting Blog","url":"https:\/\/www.ahosting.net\/","logo":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/assets\/img\/ahosting-logo.svg","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#organizationLogo"},"image":{"@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author","url":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/","name":"Matt Chrust","image":{"@type":"ImageObject","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/795895edac1c44589f6c7f5e6bb79df405fbbaac15817bdd387ec57da61731ec?s=96&d=mm&r=g","width":96,"height":96,"caption":"Matt Chrust"}},{"@type":"WebPage","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#webpage","url":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/","name":"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting","description":"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here's when it actually matters.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.ahosting.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#breadcrumblist"},"author":{"@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author"},"creator":{"@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg","@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#mainImage","width":1200,"height":675},"primaryImageOfPage":{"@id":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/#mainImage"},"datePublished":"2026-07-14T20:35:14+00:00","dateModified":"2026-07-14T20:35:16+00:00"},{"@type":"WebSite","@id":"https:\/\/www.ahosting.net\/#website","url":"https:\/\/www.ahosting.net\/","name":"AHosting","description":"AHosting Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.ahosting.net\/#organization"}}]},"og:locale":"en_US","og:site_name":"AHosting Blog Home | AHosting Blog","og:type":"article","og:title":"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting","og:description":"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here's when it actually matters.","og:url":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/","og:image":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg","og:image:secure_url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg","og:image:width":1200,"og:image:height":675,"article:published_time":"2026-07-14T20:35:14+00:00","article:modified_time":"2026-07-14T20:35:16+00:00","twitter:card":"summary_large_image","twitter:title":"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting","twitter:description":"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here's when it actually matters.","twitter:image":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/disable-wp-cron-measured-ahosting.jpg"},"aioseo_meta_data":{"post_id":"926","title":"Disable WP-Cron \u2014 We Measured the Real Cost | AHosting","description":"Everyone says disable wp-cron. We measured it on 26 WordPress installs: the check costs 18ms, just 1.17% of a page load. Here's when it actually matters.","keywords":null,"keyphrases":{"focus":{"keyphrase":"disable wp-cron","score":100,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"score":9,"maxScore":9,"error":0},"keyphraseInImageAlt":[],"keywordDensity":{"type":"best","score":9,"maxScore":9,"error":0}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-07-14 20:29:01","updated":"2026-07-14 21:30:02","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ahosting.net\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/\" title=\"WordPress\">WordPress<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tIs WP-Cron Actually Slowing Your Site?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.ahosting.net\/blog"},{"label":"WordPress","link":"https:\/\/www.ahosting.net\/blog\/category\/wordpress\/"},{"label":"Is WP-Cron Actually Slowing Your Site?","link":"https:\/\/www.ahosting.net\/blog\/disable-wp-cron-measured\/"}],"_links":{"self":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/comments?post=926"}],"version-history":[{"count":1,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/926\/revisions"}],"predecessor-version":[{"id":930,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/926\/revisions\/930"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/media\/928"}],"wp:attachment":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/media?parent=926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/categories?post=926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/tags?post=926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}