ある ワードプレス パフォーマンス最適化の実際ハートビートAPI 避けられないが、しばしば "誤解 "されるモジュールである。
多くのサイトでは、バックエンドのパフォーマンスを最適化する際に、単にサイト全体でハートビートを無効にします:
- エディタの自動保存を無効にする
- ロックされたアノマリーでのマルチプレイヤー・コラボレーション
- WooCommerceの注文ステータスが同期されない
- バックエンドのエクスペリエンスが悪化
この記事では、その全貌を明らかにする:
- ハートビートは一体何をしているんだ?
- バックグラウンド・オンリー」が最善の解決策である理由
- 複数の安全かつ制御された実現
- 異なるバックエンドページの差別化戦略
- よくある落とし穴と検証方法
![画像[1] - Heartbeatをバックエンドでのみ無効にする:フロントエンドと編集エクスペリエンスには影響なし](https://www.361sale.com/wp-content/uploads/2026/01/20260130145219450-image.png)
I. ハートビートとは?なぜバックグラウンドが遅くなるのか
1.ハートビートの本質
Heartbeat APIは 時限AJAXポーリング・メカニズムデフォルト:
- 各 15~60秒 一度トリガー
- とおす
admin-ajax.phpまたはREST API - サーバーとの継続的なステータスデータの交換
主な用途は以下の通り:
- 記事の自動保存
- 編集ロック(複数回の上書きを防ぐ)
- バックグラウンド通知、ステータス更新
- WooCommerce 注文/在庫のリアルタイム更新
![画像[2] - Heartbeatをバックエンドでのみ無効にする:フロントエンドと編集エクスペリエンスには影響なし](https://www.361sale.com/wp-content/uploads/2026/01/20260130145345803-image.png)
2.問題の所在
実際の本番環境では、ハートビートの問題は "機能性 "よりも、次の点にある。周波数+レンジ::
- バックエンドで開いているすべてのページがポーリングされている
- 複数の管理者が同時にオンラインである場合のオーバーレイ要求
- ロープロファイル・サーバー / 海外サーバー RTT High
admin-ajax.php本質的なパフォーマンスの低さ
やがてそれは顕在化する:
- バックグラウンドでのCPU使用率が高い
- MySQLクエリ数例外
- PHP-FPM プロセススタッキング
- 時折、バックグラウンドでラグが発生し、スピンする。
なぜ "グローバルにハートビートを無効にする "ことができないのか?
多くのチュートリアルがそれを勧めている:
add_action( 'init', function() { )
wp_deregister_script( 'heartbeat' );
});
これは間違ったデモンストレーションだ。
理由は単純です:
| 官能性 | ハートビートに依存するかどうか |
|---|---|
| グーテンベルク・オートセーブ | ✅ |
| 編集ロック | ✅ |
| WooCommerceバックエンド注文の更新 | ✅ |
| クラシック・エディター ドラフトプロテクション | ✅ |
一長一短というのは、たいていの場合、その結果である:
- 編集内容の喪失
- 複数の編集コンフリクト
- 舞台裏の機能は "普通に見えるが、実は隠された地雷"
だから、目標はこうでなければならない:
バックエンドの非編集ページ]でのみハートビートを無効にします。
エディター、主要機能の保持に必要なハートビート
III.ベスト・ストラテジーの概要(結論が先)
実績があり、管理された戦略であれば満足できるはずだ:
- ✅ フロントエンドには影響しない(フロントエンド)
- ✅ 記事/ページの編集には影響しない
- ✅ wp-adminでのみ動作
- ✅ 拡張性と保守性
推奨される優先順位
- に基づいている。
admin_enqueue_scripts精密無効化(望ましい) - ページ判定条件による差別化処理
- ハートビートの頻度を制御する(完全には無効ではない)
- プラグイン・プログラム(補完のみ)
![画像[3] - Heartbeatをバックエンドでのみ無効にする:フロントエンドと編集エクスペリエンスには影響なし](https://www.361sale.com/wp-content/uploads/2026/01/20260130145536598-image.png)
オプション1 (推奨): バックグラウンドで非編集ページのみハートビートを無効にする。
核となる考え方
- ハートビートは台本だ:
ハートビート - フックによるバックグラウンド・ロード条件付き除名
- 編集ページ(post.php / post-new.php)が動かない
- 他のバックエンドページを直接無効にする
完全な使用可能コード
/**
* Disable Heartbeat only on admin non-editor pages
*/
add_action( 'admin_enqueue_scripts', function() {
// 当前后台页面
$screen = get_current_screen();
if ( ! $screen ) {
return;
}
// 编辑文章 / 页面时,保留 Heartbeat
if ( $screen->base === 'post' ) {
return;
}
// 其余后台页面禁用 Heartbeat
wp_deregister_script( 'heartbeat' );
});
このプログラムが安全な理由
admin_enqueue_scriptsバックグラウンドでのみ有効ポストページが明示的に除外される(編集経験には影響しない)- フロントエンドのスクリプトには触れないでください
- REST APIには影響しない
V. プログラムII:バックオフィスの細かいページコントロール(上級者向け)
もしあなたが大規模サイト / Eコマースバックオフィス / マルチロールシステムもっと細かくてもいい。
例:これらのページのみハートビートを維持する
- 記事 / ページ編集者
- WooCommerce注文ページ
- カスタムバックエンドダッシュボード
add_action( 'admin_enqueue_scripts', function() {)
$screen = get_current_screen(); if ( !
if ( ! $screen ) return;
$allowed = [
'post'、
'woocommerce_page_wc-orders'.
];
if ( in_array( $screen->base, $allowed, true ) ) { 。
を返します;
}
wp_deregister_script( 'heartbeat' ); }.
}).
フィットしています:
- WooCommerceスタンドアロン
- 複数のバックオフィス業務
- 高頻度注文/コンテンツ更新システム
VI.オプション3:禁止せず、「ダウンスケーリング」のみ(より保守的)
完全に無効化した場合の未知の影響が心配な場合は、以下の方法がある。心拍数を減らす.
例:バックエンドの編集不可ページ→1回120秒
add_filter( 'heartbeat_settings', function( $settings ) {.
if ( is_admin() ) {
$settings['interval'] = 120;
}
return $settings.
});
比較ノート
| 目端が利く | サーバー負荷 | 機能的完全性 |
|---|---|---|
| 完全に無効 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐⭐⭐ |
| バックグラウンドでのみ無効 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 周波数低減 | ⭐⭐⭐⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
VII.プラグイン・プログラム(長期プログラムとしては推奨されない)
一般的なプラグイン:
- ハートビート・コントロール
- WPロケット(ついで)
問題は:
- 粒子径が十分でない
- エスカレーション後の制御不能な行動
- 特定のバックエンドページを区別するのが難しい
フィットしています:
- コードを書くのが不便
- アドホックテスト
- 小サイト
合わないんだ:
- ハイコンカレント
- 電子商取引
- マルチエディターシステム
![画像[4] - Heartbeatをバックエンドでのみ無効にする:フロントエンドと編集エクスペリエンスには影響なし](https://www.361sale.com/wp-content/uploads/2026/01/20260130150236474-image.png)
よくある落とし穴とチェックリスト
1.編集オートセーブの失敗
ラショナル無効 ポスト ウェブページ
けっちゃくをつける謝辞 $screen->base === 'post' 除外
2.WooCommerceの注文が更新されない
ラショナル注文ページはHeartbeatに依存しています。
けっちゃくをつけるホワイトリスト
3.フロントの不正使用
ラショナルを使用する。 開始 / wp_enqueue_scripts
けっちゃくをつける使用のみ admin_enqueue_scripts
4.判定条件の不成立
ラショナル::get_current_screen() そうそうき
けっちゃくをつけるで使用しないでください。 開始 ホック
IX.本当に有効かどうかを確認する方法
方法1:ブラウザのネットワークパネル
- バックエンドの非編集ページを開く
- ろ過
ハートビート/admin-ajax.php - 周期的なリクエストはもうない✅。
方法2:サーバーログ
admin-ajax.phpリクエスト数が大幅に減少- PHP-FPM ロードドロップ
X. 要約する(直接的な結論を出す)
正しいハートビート最適化の原則は、たった一文である:
必要な機能をオフにせず、不要なシーンだけをオフにする。
ベストプラクティス
- フロントデスクが動かない
- ✅ 編集ページが動かない
- ✅ 編集不可能なページの背景を無効にする
- プラグイン依存を避けるためのコードレベルの制御 ✅ プラグイン依存を避けるためのコードレベルの制御
あなたが望むなら、次のステップをお手伝いしますよ:
- プレス WooCommerce / コンテンツ・ステーション / SaaSバックエンド カスタマイズ・バージョン
- これをまとめるのに役立つ SEOテクニカル・ブログ構造(H1-H4+メタ)
- あるいは、あなたに mu-pluginの再利用可能バージョン
| お問い合わせ | |
|---|---|
| チュートリアルが読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ! |
カスタマーサービス WeChat
|
| ① 電話:020-2206-9892 | |
| ② QQ咨询:1025174874 | |
| 三 Eメール:info@361sale.com | |
| ④ 勤務時間: 月~金、9:30~18:30、祝日休み | |
この記事へのリンクhttps://www.361sale.com/ja/86520この記事は著作権で保護されており、必ず帰属表示を付けて複製してください。





















![絵文字[wozuimei]-Photonflux.com|プロのWordPress修理サービス、ワールドワイド、迅速対応](https://www.361sale.com/wp-content/themes/zibll/img/smilies/wozuimei.gif)
![表情[baoquan]-光子波动网 | 専門WordPress修復サービス、全世界対応、迅速対応](https://www.361sale.com/wp-content/themes/zibll/img/smilies/baoquan.gif)

コメントなし