How To Optimize WordPress Heartbeat Without A Plugin

Heartbeat is an API owned by WordPress that allows WordPress developers to make use of AJAX in a unique way. The system automatically ticks or beats when a user is on the site to see a variety of things such as:

  • To see if the user is still there.
  • To see if something has changed.

While the Heartbeat API is useful, it is also quite costly and by default ticks every 15 seconds. Obviously, that is a lot and therefore this process uses a lot of server resources. To minimize the number of server resources used, the API can be optimized.

The most common solution is to install the Heartbeat Control plugin. While the plugin is useful, it tends to clutter the admin panel is not necessary.

Optimizing Heartbeat API

Today, I am going to show you code that can be added to your functions.php file and it will reduce the “tick” of the default heartbeat from 15 seconds to 60 seconds. This reduces the number of pings by 75%.

Add the following piece of code to your functions.php file. As stated above, this reduces the load on your server dramatically. This is especially true if your website’s host limits your CPU cycles.

$heartbeat_location = get_option('heartbeat_location');
$heartbeat_frequency = get_option('heartbeat_frequency');

if ( is_numeric( $heartbeat_frequency ) ) {
 function heartbeat_frequency( $settings ) {
 global $heartbeat_frequency;
 $settings['60'] = $heartbeat_frequency;
 return $settings;

add_filter( 'heartbeat_settings', 'heartbeat_frequency' );
By | 2017-12-26T20:24:50+00:00 December 26th, 2017|Tutorials|0 Comments

Leave A Comment