A slow WordPress dashboard can feel like your hosting is letting you down. Sometimes it is. But often, small background requests are stacking up behind the scenes.

WordPress Heartbeat settings can reduce server load without turning off the admin features you rely on. The smart move isn’t to disable everything. It’s to identify where Heartbeat is busy, slow it down where it’s safe, and protect autosaves where it matters.

Start with proof, then make the smallest change that solves the problem.

What the WordPress Heartbeat API Actually Does

WordPress introduced the Heartbeat API in version 3.6. It lets a browser check in with the server at intervals, so WordPress can respond to admin events without a full page refresh.

How requests reach admin-ajax.php

Heartbeat sends AJAX POST requests through admin-ajax.php. Each request uses PHP and server resources, even when the response is small.

The official WordPress Heartbeat API documentation describes this as a periodic client-side tick. Depending on the screen and settings, intervals generally fall between 15 and 120 seconds.

One request is harmless. A dozen logged-in users, several open editor tabs, and a busy WooCommerce dashboard can create a steady stream of work for your PHP workers.

Admin tasks that depend on Heartbeat

Heartbeat isn’t random background chatter. It supports useful tasks, including:

  • The post editor’s autosave and post revisions.
  • Post locking, which warns editors when someone else has a page open.
  • Session management and expiration notices.
  • Some plugin notifications and real-time updates.

That’s why a full shutdown can create new problems while fixing an old one. Less server load sounds great, until an editor loses an unsaved landing page or collaborative editing stops working.

Diagnose Heartbeat Load Before Changing Settings

Don’t blame Heartbeat because admin-ajax.php appears in a server report. That file handles plenty of WordPress and plugin activity.

Confirm the admin-ajax.php request is actually Heartbeat

Open your browser’s developer tools, go to the Network tab, and filter for admin-ajax.php. Look at the request payload or query details.

You are looking for action=heartbeat. If it isn’t there, Heartbeat isn’t the request you need to fix.

This small check saves time. A page builder, security plugin, or form integration may generate unrelated AJAX calls instead. Query Monitor can also help you inspect plugin and database activity.

Match request patterns to server strain

Check your hosting control panel for CPU usage, memory, entry processes, and PHP workers. Then compare those numbers with real behavior.

Does CPU jump when editors are active? Does the issue happen only during product updates? Does it disappear after everyone logs out?

These comparisons help isolate performance issues. A high number of admin-ajax.php requests is not enough evidence. Confirm repeated action=heartbeat requests before changing the setting.

We also recommend testing at a quiet time. You need a clear before-and-after picture, not a guess made during a traffic spike.

Choose the Smallest Safe Change First

The Heartbeat API reference covers the background requests that keep WordPress admin tasks active. A longer request interval is usually safer than disabling Heartbeat outright. It lowers the number of calls while keeping essential work running.

Slow it down before shutting it off

For many small business sites, a 60-second interval is a sensible starting point for the dashboard. It reduces background requests without making the admin area feel frozen.

Only disable heartbeat after testing a longer interval and confirming it isn’t enough. This keeps the change targeted and easier to reverse.

The post editor deserves more care. If you publish often, write long pages, or have several people editing content, keep Heartbeat active there. On editor-heavy sites, prioritize autosave and post locking over the smallest possible request count.

Intervals from 15 to 120 seconds are common. Stay inside that range unless a plugin’s documentation tells you otherwise.

Treat each WordPress area differently

Think in three areas:

AreaSafe starting pointWhy
FrontendDisable or use a long intervalMost visitor-facing pages don’t need Heartbeat.
DashboardSet 60 to 120 secondsAdmin checks still work with fewer requests.
Post editorKeep enabled, use 30 to 60 secondsAutosave and post locking need regular contact.

The takeaway is simple: don’t use one setting everywhere. Public pages, the dashboard, and the post editor have different jobs.

Configure WordPress Heartbeat Settings With Plugins

A plugin is the easiest route for most site owners. The Heartbeat Control plugin and Perfmatters are reputable options, but the best optimization plugins are easy to maintain and reverse. It also makes rollback simple, and the Heartbeat Control plugin keeps that process accessible when an admin task suddenly stops working.

Control Heartbeat in WP Rocket

WP Rocket includes Heartbeat controls under Settings > WP Rocket > Heartbeat. Enable the control, then choose whether to reduce activity, disable it, or leave it alone for each area.

WP Rocket’s Heartbeat control guide says its reduced mode changes a one-minute interval to one request every two minutes.

In WP Rocket, we’d use reduced activity in the dashboard first. For the post editor, keep it active unless you’ve tested autosaves, post locking, and editor-based plugins.

Test the change after saving, then use WP Rocket’s controls to roll it back if an admin task stops working.

Set separate rules in LiteSpeed Cache

LiteSpeed Cache gives you more detailed controls under LiteSpeed Cache > Toolbox > Heartbeat. You can set frontend, backend/dashboard, and editor timing separately.

LiteSpeed Cache’s Heartbeat settings documentation lists defaults of 60 seconds for frontend and backend, and 15 seconds for the editor. You can set values between 15 and 120 seconds. A value of 0 disables Heartbeat in that area.

Choosing to disable heartbeat in a context is more aggressive than increasing its interval.

For most sites, we’d use LiteSpeed Cache to disable Heartbeat on the frontend, keep backend requests at 60 seconds, and leave the editor at 15 or 30 seconds. Simple. Safe. Much easier on server resources.

Change the Interval With a Custom Snippet

Custom code works when you want a lightweight fix without another optimization plugin. Add the snippet through a child theme’s functions.php file or a code snippets plugin.

Use the heartbeat_settings filter

The WordPress heartbeat_settings hook provides the heartbeat_settings filter for adjusting the interval without deregistering the Heartbeat script.

add_filter( 'heartbeat_settings', function( $settings ) {
    $settings['interval'] = 60;
    return $settings;
} );

This example requests a 60-second interval. It is a sensible starting point for a low-traffic admin area. If you prefer a UI, the Heartbeat Control plugin offers a reversible alternative.

Don’t use this as a blanket fix for every screen. The heartbeat_settings filter changes the interval wherever Heartbeat runs, so it isn’t context-specific unless you add conditional logic.

Keep code changes easy to reverse

Before adding custom code, create a fresh backup and record the original behavior. If something goes wrong, remove the snippet and clear any cache.

Custom code isn’t automatically better than a plugin setting. Choose the option you can maintain confidently. If multiple people manage the site, a clearly labeled plugin setting is often less risky.

Protect Autosaves, Post Locking, and Team Work

The post editor is where aggressive changes hurt first. They can disrupt autosave on sites where marketing, support, and content teams work all day.

Test a real editing session

Open a draft in one browser. Use the post editor to make a few edits, wait for an autosave, then refresh the page. Confirm that the draft is still there.

Next, open the same post in a second browser session to test post locking. WordPress should show a post locking warning. If it doesn’t, restore the editor interval or disable heartbeat before team workflows fail.

A website owner views a monitor beside an analog clock in a dark home office.

Check plugins that expect live updates

Page builders, learning platforms, membership tools, booking plugins, and WooCommerce extensions may use background AJAX calls for their own features. Some use Heartbeat directly, while others may depend on real-time updates.

Test the tasks your business runs every week:

  • Create and update a post or product.
  • Test collaborative editing and post locking with two users.
  • Let a login session sit for a while.
  • Review plugin notices, orders, bookings, and support workflows.

A setting that works on a brochure site may fail on a busy store. Test the work, not dashboard speed alone.

When Hosting Needs More Than a Heartbeat Tweak

Heartbeat tuning can reduce unnecessary server load. It can’t fix an overloaded shared hosting plan, inefficient plugins, slow database queries, inadequate memory, or an underpowered PHP setup with too few PHP workers.

If usage stays high after you confirm and reduce Heartbeat requests, review overall site performance. Check caching, image optimization, optimization plugins, plugin cleanup, current PHP versions, and available memory. Monitor PHP workers after tuning, especially during busy periods.

For site owners who want fewer technical chores, managed WordPress hosting adds monitoring, backups, security, and WordPress-focused support. That gives you a better place to troubleshoot than a generic resource warning.

Growing stores and high-traffic sites may also need more isolated resources. Our guide to when to upgrade to VPS hosting can help you compare the next step without paying for more server than you need.

Key Takeaways

  • Confirm action=heartbeat before treating admin-ajax.php as the problem.
  • Reduce the interval first, especially in the dashboard.
  • Keep the post editor active when autosaves and collaborative editing matter.
  • Test visitor-facing features before you disable heartbeat on the frontend.
  • Make one change at a time, using the Heartbeat Control plugin or WP Rocket for easy rollback.

Frequently Asked Questions

Is it safe to disable Heartbeat on the frontend?

Usually, yes, if your public-facing plugins don’t depend on it. Test contact forms, bookings, carts, membership areas, and other live features first. If you’re unsure, a longer interval is a safer first step.

Will changing Heartbeat settings improve site speed for visitors?

It can reduce server load from logged-in background requests. It won’t automatically make every public page faster. Page caching, hosting capacity, database performance, and plugin quality still affect visitor speed.

Why is admin-ajax.php using so much CPU?

Heartbeat may be part of the issue, but it isn’t the only possibility. Confirm the request action, then look for plugins or admin tools sending frequent requests. After identifying the source, a tool such as the Heartbeat Control plugin can reduce or scope Heartbeat activity. The WordPress Heartbeat API explained resource is useful when you need to separate Heartbeat activity from other AJAX traffic.

Keep WordPress Responsive Without Letting Requests Run Wild

The right Heartbeat configuration gives you control without taking away the admin tools that protect your work. Measure actual traffic, adjust the request interval where it makes sense, and test the editor before finishing. A stable setup also supports site performance.

Lower request volume is good. Lower request volume that still preserves autosave, team editing, and admin stability under pressure is better.

We use cookies so you can have a great experience on our website. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Who we are

Our website address is: https://zadic.net.

Comments

When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection. An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

Cookies

If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year. If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser. When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed. If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website. These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue. For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Visitor comments may be checked through an automated spam detection service.
Save settings
Cookies settings