What this problem looks like
Heartbeat powers autosave, post locking, and some real-time admin features. Disabling it globally breaks collaborative editing and can affect WooCommerce product edit locking.
Best practice: disable on front end, throttle on admin, keep reasonable frequency in editor.
What Heartbeat does
WordPress Heartbeat posts to admin-ajax.php with action heartbeat. Each open wp-admin tab sends pulses. Ten editors with five tabs each creates significant background traffic.
Configure with Heartbeat Control plugin
- Install Heartbeat Control from wordpress.org.
- Settings → Heartbeat Control.
- Disable Heartbeat on front end.
- Set admin to 60 second interval or disable on dashboard only.
- Leave post editor at default or 30 seconds.
Code approach in functions.php
Child theme snippet to deregister Heartbeat on front end only:
add_action( 'init', function() {
if ( ! is_admin() ) {
wp_deregister_script( 'heartbeat' );
}
}, 1 );
WooCommerce and stock management
Some inventory plugins use Heartbeat for live stock updates. Test product edits and concurrent editing after throttling. Re-enable admin Heartbeat if stock locks misbehave.
Measure CPU impact
Check hosting CPU graphs before and after changes during business hours. Pair Heartbeat tuning with object cache and cron fixes for best results.
When to stop DIY and hire help
If CPU stays high after Heartbeat tuning, the cause is elsewhere: cron, traffic bots, or plugin queries. BugShield diagnoses server load on UK WordPress hosting.