Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPressでHeartbeat APIを制限する方法(初心者のための簡単な方法)

WordPressサイトの速度を上げるためのちょっとした調整をお探しですか?WordPress Heartbeat APIの制限についてフィードバックしたことはありますか?少し専門的に聞こえるかもしれませんが、先頭に固定表示してください!

WordPress Heartbeat APIは、舞台裏で動作する便利なシステムです。投稿中の自動保存やダッシュボード通知の送信などのタスクを処理します。

初期設定では、投稿を編集しているときは15秒ごと、ダッシュボードを閲覧しているときは1分ごとに更新がないか常にチェックします。このような頻繁な動作は、サーバーのCPUに負担をかけ、サイトの速度を低下させます。

読者の中には、Heartbeat APIの頻度を調整することで、WordPressのパフォーマンスが大幅に向上したことを発見した人もいます。

この投稿では、WordPressでHeartbeat APIを管理し、サイトの速度を最適化する方法を紹介します。ご心配なく。思ったよりも簡単で、依存している重要な機能を台無しにすることなく実行できます!

How to Limit Heartbeat API in WordPress

Heartbeat APIとは何ですか?

Heartbeat APIは、WordPressが提供する主要なアプリケーションプログラミングインターフェース(API)の1つで、開発者がプラットフォームとやり取りしたり、新機能を追加したりするのに役立ちます。

WordPress 3.6で導入され、ユーザーがWordPressダッシュボードにログインしている間、ブラウザーとサーバー間のリアルタイム通信を有効化します。技術的なキーワードでは、この通信はAJAXコールを使用して処理されます。

簡単に言うと、AJAXコールはブラウザーとサーバー間のメッセージのようなものです。ブラウザーはページをリロードする代わりに、サーバーに必要な情報だけを要求します。サーバーはページ全体を更新することなく更新を送り返すので、より速く感じることができます。

Heartbeat APIは、以下のようなWordPressの重要な機能を実現します:

  • リアルタイム更新:ページを更新しなくても、ほぼリアルタイムの更新が有効化されます。例えば、他の誰かが投稿を編集している場合、あなたに通知され、投稿がロックされるので、誤ってその人の作業を変更してしまうことはありません。
  • 作業の自動保存:ブログの投稿やページを書いているとき、Heartbeat APIは60秒ごとに作業を自動的に保存します。これにより、何か問題が発生した場合でも、最近の変更内容が失われることはありません。
  • ユーザーセッション: WordPressが現在サイトを使用しているユーザーとログイン中の時間を記録するのに役立ちます。WordPressのセキュリティシステムと連携し、ユーザーのログインを安全に管理します。
  • WordPressプラグイン:WordPressプラグインの多くもHeartbeat APIを使用してリアルタイム機能を追加しています。これには、高度なフォーム処理、コンテンツのバージョンコントロール、ライブ通知、ユーザーセッション管理、セキュリティ監視などが含まれます。プラグインはheartbeatを使用して、よりインタラクティブでダイナミックなユーザー体験を実現できます。

これらの機能は非常に便利だ。問題は、リクエストが多すぎるとサーバーが遅くなることだ。

しかし、管理は簡単ですのでご安心ください。Heartbeat APIの時間間隔を長く設定するだけです。数秒ごとではなく、たとえば2分ごとにチェックするようにすれば、サイトの高速化に役立ちます。

チェックの頻度を減らしても、即時更新は行われます。あなたのサイトにとって完璧なバランスを見つけることがすべてです。

ハートビートAPIを制限するか無効化するか?

WordPressのパフォーマンスをさらに向上させるために、Heartbeat APIを完全にオフにしたくなるかもしれません。ほとんどの場合、完全に無効化することはお勧めしません!

Heartbeat APIを完全に無効化すると、たとえ単独作業で超高速更新を必要としない場合でも、予期しない問題が発生する可能性があります。未保存の作業が失われたり、重要なセキュリティ更新が行われなかったり、ログインに問題が生じたりする危険性があります。オフにする前によく考えてください。

完全に無効化するのではなく、単純に頻度を調整する方が、サイトのパフォーマンスを最適化する上ではるかに安全で効果的な方法です。

それでは、WordPress Heartbeat APIを制限(無効化)する方法を見ていきましょう。このチュートリアルで扱うトピックは以下のとおりです:

プラグインでHeartbeat APIを制限する(迅速かつ簡単に)

最初に行う必要があるのは、無料のDynamic Front-End Heartbeat Controlプラグインをインストールして有効化することです。詳しい手順については、WordPressプラグインのインストール方法のステップバイステップガイドを参照してください。

有効化したプラグインは、追加設定なしで自動的にサイトのパフォーマンス改善を開始します。Heartbeatの間隔はリアルタイムで調整され、サイトの需要の変化に適応します。

多くのサイトでは、この自動設定が最適です!しかし、もっとコントロールしたい場合は、プラグインの設定を使ってハートビートの設定を自分で変更することもできます。

ヒント: WP Rocketや Perfmattersなど、多くのWordPressパフォーマンスプラグインは、Heartbeat APIを制限することもできます。競合を避けるため、この目的で使用するプラグインは1つに絞るようにしてください。

オプション設定:ハートビートAPIの手動による制限または無効化

Heartbeat APIを手動でコントロールするには、WordPressダッシュボードの設定 ” DFEHCに移動する必要があります。

この設定ページには、「ハートビートを無効化」というチェックボックスがあります。Heartbeat APIを完全にオフにしたい場合は、このチェックボックスをオンにします。

Disabling the Heartbeat API With a Plugin

ただし、この場合、先ほど説明したリアルタイム機能が停止することを忘れないでください。通常は、ハートビートを完全に無効化するのではなく、制限する方がよいでしょう。

バックエンドとも呼ばれるWordPressダッシュボードで作業しているときに、Heartbeat APIがタスクをチェックする頻度を変更できます。

これを行うには、「Backend Heartbeat Control(バックエンド・ハートビート・コントロール)」オプションを探し、その横にあるチェックボックスをオンにします。

Limiting the Backend Heartbeat Interval Using a Plugin

次に、ボックスに数字を入力して、新しい間隔を秒単位で設定します。初期設定は60秒(1分に1回)です。ハートビートをチェックする頻度を減らしたい場合は、90秒や120秒など高い数値を入力します。

同様に、コンテンツエディターで投稿やページを書いているとき専用のハートビート間隔を変更することができます。エディターハートビートコントロール」ボックスを見つけてチェックを入れてください。

Limiting the Heartbeat API Editor Interval With a Plugin

次に、希望の間隔を秒単位で入力する。初期設定は15秒です。

執筆中のチェックの頻度を減らしたい場合は、この数値を増やしてください。ボックスに直接数値を入力するか、小さな上下の矢印を使って1秒ずつ数値を変更することができます。

プラグインには「優先度設定」スライダーもあり、サーバーのパフォーマンスと訪問者のニーズのバランスをとることができます。

サーバーの優先度を上げる」にスライドさせると、更新頻度が減り、サーバーの負荷が軽減されます。訪問者の優先順位を上げる」にスライドさせると、更新頻度が増えますが、サーバーリソースが必須となります。

Adjusting Priority Settings to Limit the Heartbeat API Using a Plugin

必要な変更をすべて行ったら、必ずページを下までスクロールし、「変更を保存」ボタンをクリックしてください。これは、新しい設定が保存され、機能し始めることを確認するために重要です。

コードによるheartbeat APIの制限

サイトにコードスニペットを追加することで、WordPressでHeartbeat APIを制限することもできます。

さて、コードを追加するのは少し怖く聞こえるかもしれない。コードを直接追加するときに間違えると、サイトに問題が生じる可能性がある。

WordPressにコード・スニペットを安全に貼り付ける方法を説明した便利なガイドがありますので、まずはそちらをご覧いただくと安心です。

コードを追加する最も安全で簡単な方法は、WPCodeプラグインを使用することです。WPCodeプラグインは、すでにそのライブラリにコードスニペットを持っているからです。プラグインを有効化するだけです。

プレミアム・バージョンもありますが、このチュートリアルでは、WPCodeフリー・プラグインを使用します。サイトへの追加が必要な場合は、WordPressプラグインのインストール方法をご覧ください。

プラグインを有効化した後、WPCode ” + Add Snippetにナビゲーションして、新しいスニペットを作成することができます。そのページで、検索機能を使って「Heartbeat Setting」スニペットを見つけることができます。

Creating a Heartbeat Settings Snippet in WPCode

スニペットにマウスオーバーし、「スニペットを使用」ボタンをクリックします。

スニペットの編集ページが開きます。ご心配なく。すでにすべてがセットアップされています。スニペットを有効化するだけです。

ページ右上の「有効化」スイッチを探し、「オン」に切り替える。その後、「更新」ボタンをクリックします。

Activating the Heartbeat Settings Snippet in WPCode

このスニペットは、WordPressのheartbeat APIを制限する方法を設定できる一般設定ページに新しいエントリを追加します。設定 ” 一般と進み、ページを一番下までスクロールしてください。

初期設定では、このスニペットはハートビート間隔を120秒に変更している。しかし、この数値は好きなように変更できる。

フィールドに新しい数字を入力するか、フィールドの横にある小さな上下の矢印を使って秒数を調整するだけです。

Changing the Heartbeat Interval on the General Settings Page

数字を変更したら、もう一度下にスクロールし、「一般設定」ページの下部にある「変更を保存」ボタンをクリックする必要があります。これにより、新しいハートビート間隔設定が保存され、機能するようになります。

プロのヒントHeartbeat APIを制限することで、WordPressのパフォーマンスがどの程度向上するか気になりませんか?制限をかける前とかけた後でスピードテストを行ってみてください。その方法については、サイトスピードテストの適切な実行方法をご覧ください。

コードの扱いに慣れている方には、このコード・スニペットをサイトのファイルに直接追加する方法もあります。

テーマのfunctions.phpファイルに直接コードを追加することができます。しかし、これは少し高度であり、ほとんどのユーザーにとってWPCodeプラグインを使用する方が一般的に簡単で安全です。

より高度なこの方法に興味がある方は、以下のコードをご覧ください:

// Add a new setting in wp-admin > Settings > General
add_action( 'admin_init', function() {
   register_setting( 'general', 'custom_heartbeat_interval', 'intval' );
   add_settings_field( 'custom_heartbeat_interval', 'Heartbeat Interval', function() {
       $interval = get_option( 'custom_heartbeat_interval', 120 );
       echo "<input type='number' name='custom_heartbeat_interval' value='".absint($interval)."' min='15' max='120' /> seconds";
   }, 'general' );
});

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

しかし、Heartbeat APIを制限するには、WPCodeプラグインを使用することをお勧めします。

詳しくは、WordPressでカスタマイザーコードを簡単に追加する方法をご覧ください。

プラグインを使用しないheartbeat APIの無効化

サイトのHeartbeat APIを完全に無効化するには、テーマのfunctions.phpファイルまたはWPCodeプラグインにコードスニペットを追加します。

今回、Heartbeatを無効化するコードはすでにWPCodeライブラリにないので、コピー&ペーストでWPCodeに取り込みます。簡単なので、ご心配なく!

まず、前のセクションで説明したように、WPCodeプラグインがインストールされ、有効化されていることを確認してください。WPCodeの準備ができたら、WordPress管理メニューのWPCode ” + Add Snippetにアクセスしてください。

次に、独自のカスタムコードを追加するオプションを選択する必要があります。Add Your Own Custom Code (New Snippet)’というスニペットを探してください。このエントリーにマウスを合わせると、「Use snippet」ボタンをクリックすることができます。

Adding a New Snippet in WPCode

次の画面で、WPCodeは追加するコードのタイプを選択するように尋ねます。

必要なコードはPHPなので、「PHP Snippet」オプションをクリックする必要がある。

Select the PHP Snippet Option in WPCode

カスタムスニペットの作成ページに移動します。

まず、何のためのスニペットなのかがわかるように、スニペットにタイトルを付けます。ハートビートAPIを無効化する」というようなタイトルが良いでしょう。

次に、「Code Preview」というセクションに、Heartbeat APIを無効化するコードを貼り付けます。

コピー&ペーストしてください:

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

そのコードをすべてコピーすればいい。

そして、WPCodeの「コード・プレビュー」ボックスに貼り付ける。

Adding the Deactivate Heartbeat API Code Snippet in WPCode

ページの他の設定はすべてそのままでいい。

このコードを動作させ、Heartbeat APIを無効化するには、スニペットを有効化する必要があります。Active’スイッチを見つけ、Onの位置に切り替えてから、’Save Snippet’ボタンをクリックします。

Activating the WPCode Snippet for Deactivating the Heartbeat API

これで完了です!これで、WPCodeを使用してサイトのHeartbeat APIを無効化することができました。

Heartbeat APIを再び有効にしたい場合は、WPCodeのこのコードスニペットを無効化するだけで、簡単にできます。WPCodeスニペットに戻って、このスニペットをオフにするだけです。Heartbeat APIをコントロールする非常に簡単な方法です。

この投稿が WordPress で heartbeat API を制限する方法を学ぶのにお役に立てば幸いです。また、サイトスピードテストの適切な実行方法や、WordPressキャッシュプラグインのエキスパートが選ぶサイトの高速化もご覧ください。

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. Here's our editorial process.

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

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件のコメントLeave a Reply

  1. Arize

    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. Jaswinder Kaur

    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. Dave Kessler

    Is there any possibility of this impacting SEO results?

  4. O. Live

    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.

  5. Kien

    I use the plugin kk star ratings follow your instructions are not removed admin-ajax.php

  6. Blair2004

    WPBeginner is not only about beginners tutorials…

  7. Kate_H

    This article, whilst informative, seems to be a little misplaced on a website named WPbeginner…

Leave A 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.