Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Limit Heartbeat API in WordPress

WordPress Heartbeat API is a great feature and opens the door to some great possibilities for plugin developers. However in some cases, it can increase your CPU usage and slow down your website. In this article, we will show you how to limit Heartbeat API in WordPress or even completely stop it.

WordPress HeartBeat API

Introduced in WordPress 3.6, Heartbeat API allows your browser to communicate with the server using AJAX calls when you are logged into WordPress admin area. This allows WordPress to show other authors that a post is being edited by another user and enable plugin developers to show you notifications in real-time.

This sounds great but if you have too many requests, then your server will slow down. Let’s take a look at how to limit or completely stop WordPress Heartbeat API.

Video Tutorial

Subscribe to WPBeginner

If you don’t like the video or need more instructions, then continue reading.

First thing you need to do is install and activate the Heartbeat Control plugin. Upon activation, you need to visit Settings » Heartbeat Control to configure the plugin.

Settings page for heartbeat control plugin

From the ‘Control heartbeat locations’ option, you can select where you want to control heartbeat settings. You can disable it on dashboard, allow it on post edit pages, or completely disable it everywhere.

Changing heartbeat api call intervals

The next option allows you to control the frequency of heartbeat. By default, heartbeat makes a post call every 15 seconds on post edit pages, and every minute on the dashboard. You can choose a higher frequency.

Click on the save changes button to store your settings. That’s all you have successfully limited heartbeat API calls on your site.

Disable Heartbeat API in WordPress Without a Plugin

If you are a single user on your site, and you are sure that you will not be needing any features made possible by the API, then you can disable it. You can use heartbeat control plugin, we mentioned above, or you can simply copy and paste this code snippet into your theme’s functions.php file or in a site-specific plugin.

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

We hope this article helped you learn how to limit heartbeat API in WordPress. You may also want to checkout these tips and hacks to protect WordPress admin area.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

8 CommentsLeave a Reply

  1. Also i am running a membership site and so many people will be logged in at the same time. Is it OK to disable it?

  2. Nice article with good information!!

    I want to use it for my site, but the plugin suggested by you, is not activated for a year. Please can you suggest something else.

  3. Yes!

    Thank you so much. My site crashed last night, and after a couple of hours on support with HostGator told me that I needed to solve this issue.

    Adding the plugin shaved two full seconds off homepage load time (4sec -> 1.9sec), and about 200kb off of total page size, and a 2-point bump in PageSpeed score.

    THANK YOU.

Leave a Reply to Dave Kessler Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.