WordPress Heartbeat API を止めてサイトを軽量化する方法
目次
WordPressの「Heartbeat API」は、管理画面でリアルタイム更新を行う便利な機能ですが、サーバー負荷やページの表示速度に影響することがあります。
この記事では、Heartbeat APIを制御して、サイトを軽量化する方法を紹介します。
1 Heartbeat APIとは?
Heartbeat APIは、WordPressの管理画面や投稿編集画面で、自動保存やログイン状態の保持、他ユーザーとのリアルタイム通知などに使われる機能です。
便利な機能ですが、サーバーに対して1~15秒間隔でリクエストを送るため、負荷が高くなることがあります。
2 Heartbeat APIを停止・制御する方法
Heartbeat APIは、functions.phpにコードを追加することで制御できます。
2.1 完全に停止する方法
//-------------------------------------------
// 完全にHeartbeat APIを停止
//-------------------------------------------
add_action('init', 'disable_heartbeat', 1);
function disable_heartbeat() {
wp_deregister_script('heartbeat');
}
この方法は、管理画面の自動保存や他ユーザーとの通知が不要な場合に有効です。
2.2 リクエスト間隔を延長して軽量化する方法
//-------------------------------------------
// Heartbeatの送信間隔を60秒に変更
//-------------------------------------------
add_filter('heartbeat_settings', 'custom_heartbeat_interval');
function custom_heartbeat_interval($settings) {
$settings['interval'] = 60; // 秒単位
return $settings;
}
完全停止ではなく、サーバー負荷を減らしつつ、自動保存などの機能を残せます。
3 プラグインで簡単に制御する方法
「Heartbeat Control」などのプラグインを使うと、管理画面から簡単に停止や間隔変更が可能です。
4 JavaScriptで通知を非表示にする例
ファイル名:heartbeat-hide.js
保存先:wp-content/themes/child-theme/js/heartbeat-hide.js
//-------------------------------------------
// 投稿画面のHeartbeat通知を非表示
//-------------------------------------------
jQuery(document).ready(function($){
$('#heartbeat-notice').hide();
});
4.1 ディレクトリ構造
- child-theme/
- style.css
- functions.php
- footer.php
- header.php
- js/
- heartbeat-hide.js
- images/
- logo.png
5 注意点
- 完全停止すると、自動保存や同時編集通知が機能しなくなります。
- サイトのサーバー負荷やユーザー数に応じて、停止・間隔調整を検討してください。
6 まとめ
Heartbeat APIは便利な機能ですが、サイト速度やサーバー負荷の観点から制御する価値があります。
functions.phpへのコード追加やプラグイン利用で、簡単に軽量化が可能です。


