Disable Heartbeat
Disable Heartbeat cuts down the background check-ins WordPress runs via the Heartbeat API. You choose throttle, front-end only, dashboard only, admin (except editor), or everywhere.
What it does
Section titled “What it does”- Heartbeat Mode options:
- Throttle (Reduce Frequency) - keeps Heartbeat; sets interval (presets 15 / 30 / 60 / 120 sec, or custom 15-300).
- Disable on Frontend Only
- Disable on Dashboard Only (main Dashboard
index.php) - Disable in Admin (Except Editor)
- Disable Everywhere
- Allow Heartbeat in post/page editor when admin or everywhere disable modes are selected (keeps post locking / editor check-ins).
- Disable modes deregister the
heartbeatscript; throttle filtersheartbeat_settings.
When to use it
Section titled “When to use it”Enable it if:
- Shared or budget hosting shows high
admin-ajax.phpload from Heartbeat. - The front end loads Heartbeat for logged-in users and you do not need it there.
- You want a gentler interval than WordPress’s default ~15 seconds.
When not to use it
Section titled “When not to use it”How to enable it
Section titled “How to enable it”- Go to WP PowerSuite -> Modules.
- Enable Disable Heartbeat and open settings.
- Choose Heartbeat Mode (start with Throttle and 60 sec if unsure).
- If using admin/everywhere disable, optionally enable Allow Heartbeat in post/page editor.
- Save and reload the screens you care about.
How to test it
Section titled “How to test it”- Set Throttle to 60 sec; open a post editor and watch Network for
heartbeat/admin-ajax.php?action=heartbeat. - ✅ Pass: requests are spaced about every 60 seconds.
- Set Disable on Frontend Only; view the site while logged in.
- ✅ Pass: no Heartbeat script on the front end; admin still has it.
- Set Disable Everywhere with editor allow on; open
post.php. - ✅ Pass: Heartbeat still present in the editor.
- ❌ Fail: confirm mode saved; hard-refresh so cached admin scripts reload.
Troubleshooting
Section titled “Troubleshooting”- Post locking broken. Enable Allow Heartbeat in post/page editor, or switch back to Throttle.
- Dashboard widgets stale. Expected with disable modes - use throttle instead.
- Interval ignored. Custom interval only applies in Throttle mode (15-300 seconds).
What does Disable Heartbeat do?
It throttles or deregisters the Heartbeat script based on Heartbeat Mode so background admin-ajax pings run less often or not at all.
Is Disable Heartbeat free?
Yes. Enable it under WP PowerSuite -> Modules.
What mode should I start with?
Throttle (Reduce Frequency) is recommended. Presets include 15, 30, 60, and 120 seconds.
Can I keep Heartbeat in the editor?
Yes. Allow Heartbeat in post/page editor applies when Disable in Admin or Disable Everywhere is selected.
How do I turn Disable Heartbeat off?
Go to WP PowerSuite -> Modules, find Disable Heartbeat, and toggle it off.
Developer notes (hooks & filters)
Source: modules/disable-heartbeat/module.php.
Boot: standard · context: admin, frontend, ajax.
Hooks: admin_enqueue_scripts / wp_enqueue_scripts (deregister), or heartbeat_settings in throttle mode.
Settings: mode, allow_in_editor, throttle_interval.