WordPress Heartbeat API Causing High CPU: Fix (2026)
Quick answer
The Heartbeat API polls admin-ajax.php every 15 seconds when the editor is open, which spikes CPU on shared hosts. Fix by installing Heartbeat Control (free), throttling to 60 seconds on the front-end and dashboard, and 30 seconds inside the editor. On busy sites, WP Rocket also has Heartbeat controls under File Optimization → Heartbeat.
Confirm Heartbeat is the culprit
Open your host's slow query log or New Relic. If admin-ajax.php dominates and each request POSTs an `action=heartbeat` payload, you've found it. On shared hosts this alone can push you over CPU limits and trigger throttling.
Fix #1, Install Heartbeat Control
Install Heartbeat Control by WP Rocket (free). Set: Frontend = Disable, Backend = 60 seconds, Post Editor = 30 seconds. This reduces admin-ajax.php calls by 90%+ on most sites.
Prefer we just fix it?
Runaway CPU, slow admin, and mystery timeouts are what our speed optimization service kills, Query Monitor + New Relic diagnosis, plugin swap-outs, and a documented before/after report. Learn more about WordPress speed optimization or grab a slot below.
Fix #2, WP Rocket Heartbeat
If you have WP Rocket, don't double-configure. Use its built-in Heartbeat controls (Settings → Heartbeat) and skip the separate plugin.
Fix #3, Don't disable Heartbeat entirely
Disabling Heartbeat in the editor breaks autosave and post-locking (two editors can overwrite each other). 30-60 seconds is the safe throttle, full disable only makes sense if no one edits inside wp-admin.
When to call for help
If Heartbeat throttling doesn't fix your CPU spike, the real culprit is usually a rogue plugin cron job or an unindexed autoload option. Our performance audit starts at $149 and includes Query Monitor + New Relic analysis.
Common questions
What is the WordPress Heartbeat API?+
A built-in mechanism that polls admin-ajax.php from the browser every 15-60 seconds to power autosave, post-locking, real-time notifications, and dashboard widgets. It's useful but can spike CPU on shared hosts.
How do I reduce Heartbeat CPU usage?+
Install Heartbeat Control (free) and set Frontend = Disable, Backend = 60s, Editor = 30s. This drops admin-ajax.php load by 90% without breaking autosave or post-locking.
Is it safe to disable the Heartbeat API?+
Safe on the frontend and dashboard, risky inside the post editor. Disabling in the editor breaks autosave and allows two people to overwrite each other's edits. Throttle to 30-60 seconds instead.
Why is admin-ajax.php using 100% CPU?+
Heartbeat is the usual cause on WordPress sites, but not the only one. WooCommerce cart fragments, plugin cron via admin-ajax, and popup/analytics plugins also route through admin-ajax.php. Query Monitor identifies the specific action causing the load.
Want help with this?
The pages below go deeper, by service and by city.
Services
Want this handled for you?
Send the site and the symptom. A senior WordPress engineer opens it, tells you what is actually broken, and replies within one business hour. No card, no sales call, no obligation.
