Jetpack Boostでサイトコンテンツをキャッシュする

頻繁にアクセスされるコンテンツをローカルに保存して訪問者の読み込み時間を短縮し、ウェブサイトのパフォーマンスを向上させます。

キャッシュ機能にアクセスするには、Jetpack Boostプラグインがインストールされ、有効になっていることを確認してください。インストール手順については、インストールガイドをご覧ください。

ページキャッシュを有効にする

ページキャッシュを有効にするには:

  1. WP AdminでJetpack → Boostに移動します。
  2. 「ページの読み込み」セクションを展開します。
  3. 「サイトページをキャッシュ」の切り替えをオンにします。

有効にすると、Boostには「キャッシュをクリア」ボタン、除外パネル、および「ロギングを有効化」切り替えが表示されます。

ページキャッシュが機能していることを確認する

サーバー上のwp-content/boost-cache/cache/を確認して、キャッシュされたファイルを探します。また、プライベートブラウザーまたはシークレットブラウザーでサイトを開き(このプラグインがキャッシュするのは、ログアウトした訪問者によるページリクエストのみです)、次の操作を行います。

  1. ウェブ開発者コンソールを開き、「Network」タブに移動します。
  2. リストを消去してから、ページを再読み込みします。
  3. ページの項目をクリックし、レスポンスヘッダーを確認します。 「X-Jetpack-Boost-Cache」という名前のヘッダーがあり、キャッシュから配信された場合、その値は「hit」です。ページがキャッシュされていない場合は「miss」です。

ページに「X-Jetpack-Boost-Cache」ヘッダーがない場合、そのURLはキャッシュ対象から除外されています。

ページがキャッシュされているか確認する

ログイン中とログアウト中でサイトの動作が異なる場合、ホスティングプロバイダーやCDN、その他のキャッシュプラグインなど、外部のキャッシュレイヤーから配信されたキャッシュ済みHTMLページを表示している可能性があります。

確認するには、次の操作を行います。

  1. 影響を受けているページを、プライベートブラウザーまたはシークレットブラウザーのウィンドウで開きます。
  2. クエリパラメーター(?nocache=1)をURLに追加します。次のようになります。https://yourjetpack.blog/?nocache=1
  3. パラメーターありの場合となしの場合で、ページの読み込みを比較します。

パラメーターを付けるとページが正しく読み込まれるのに、付けないと読み込まれない場合、サイトの現在のコードは正しく、問題はキャッシュに関連しています。

この場合は、ホスティングプロバイダーに連絡するか、サイト上のその他のキャッシュレイヤーを確認し、キャッシュを完全に消去するよう依頼してください。

クエリパラメーターを追加しても問題は解決しません。キャッシュを迂回して、キャッシュが原因かどうかを確認し、トラブルシューティングを続けられるようにするだけです。

既存のキャッシュシステム

Jetpack Boostは、サイトですでに別のページキャッシュシステムが使用されているかどうかを検出します。

対応しているホスティングプラットフォームでは、Boostがホストによって提供されるページキャッシュを認識できます。この場合、Boostにはページキャッシュが稼働中ですと表示され、Jetpack Boostのページキャッシュを有効にしたり、ホスティングプロバイダーのキャッシュを変更したりする必要はありません。

Boostが、Jetpack Boostのページキャッシュの動作を妨げる別のキャッシュプラグインまたはキャッシュシステムを検出すると、「サイトページをキャッシュ」切り替えは利用できない場合があります。代わりにJetpack Boostのページキャッシュを使用するには、まず他のキャッシュソリューションを無効にしてください。

サイトで使用しているキャッシュシステムがわからない場合は、変更を加える前にホスティングプロバイダーにお問い合わせください。

キャッシュの技術的な仕組み

WordPressで使用されるすべてのページキャッシュでは、サイトのwp-contentディレクトリに、次の名前の専用ファイルadvanced-cache.phpを使用してキャッシュ機能を動作させる必要があります。Jetpack Boostでは、advanced-cache.phpファイルがwp-contentディレクトリ内にあることを検出すると、「既存のキャッシュシステムが検出されました」と表示します。

WordPressのインストールファイルにアクセスできる場合は、このファイルを確認して、現在設定されているキャッシュソリューションに関する情報が含まれているか確認してください。

空のadvanced-cache.phpファイルがインストールされている場合、ホスティングプロバイダーが独自のページキャッシュソリューションを使用できないように、そのファイルを設置した可能性があります。その場合、ホスティングプロバイダーにキャッシュ機能が組み込まれている可能性があります。詳しくはホスティングプロバイダーにお問い合わせください。

Jetpack Boostには、キャッシュ動作をカスタマイズしたい開発者向けに、いくつかのフィルターが用意されています。これにはjetpack_boost_cache_bypass_patternsバイパスパターンを変更するためのjetpack_boost_cache_request_cacheableキャッシュ可能なリクエストを指定するためのjetpack_boost_cache_accept_headersコンテンツタイプに基づいてキャッシュを変更するための

詳細についてはキャッシュAPIドキュメントをご覧ください。

サイトの特定の部分をキャッシュ対象から除外する

常に最新のコンテンツを表示する必要があるページや投稿を除外できます。

キャッシュからURLを除外するには:

  1. WP AdminでJetpack → Boostに移動します。
  2. 「ページの読み込み」セクションを展開します。
  3. 「サイトページをキャッシュ」切り替えをオンにします。
  4. 除外パネルを開きます。
  5. 除外する各URLパスを、それぞれ別の行に入力します。
  6. 保存ボタンを選択します。

URLのパスを完全なサイトアドレスなしで入力します。たとえば、checkoutを使用して単一のページを除外します。同じパス配下の複数のURLを除外するには、.*を使用します(例:gallery/.*)。

「例を見る」リンクを選択すると、Boostでその他の例を確認できます。

キャッシュイベントを記録する

ページキャッシュで問題が発生した場合は、ロギングを有効にしてキャッシュイベントを記録します。

キャッシュのロギングを有効にするには:

  1. WP AdminでJetpack → Boostに移動します。
  2. 「ページの読み込み」セクションを展開します。
  3. 「サイトページをキャッシュ」切り替えがオンになっていることを確認します。
  4. 「ロギングを有効化」の切り替えをオンにします。
  5. 「ログを表示」リンクを選択して、キャッシュのデバッグログを開きます。

キャッシュのデバッグログには、トラブルシューティングに役立つキャッシュのアクティビティが記録されます。

トラブルシューティングのためにログをコピーしたり、サポートに共有したりする必要がある場合は、「クリップボードにコピー」ボタンを選択します。

ロギングを行うとディスクアクティビティが増加する可能性があるため、トラブルシューティングが完了したら「ロギングを有効化」切り替えをオフにします。

キャッシュをクリアする

Jetpack Boostは、投稿の更新、公開、削除、コメントの変更、テーマの切り替えが行われると、キャッシュされたコンテンツを自動的にクリアします。

キャッシュを手動でクリアするには:

  1. WP AdminでJetpack → Boostに移動します。
  2. 「ページの読み込み」セクションを展開します。
  3. 「サイトページをキャッシュ」切り替えがオンになっていることを確認します。
  4. 「キャッシュをクリア」ボタンを選択します。

サイトに、自動的に更新されず古いコンテンツが表示されている場合は、キャッシュを手動でクリアすると便利です。

キャッシュ期間を調整する

コンテンツは1時間キャッシュされます。この設定は、サイトのwp-config.phpファイルに1行追加することで変更できます。

define( 'JETPACK_BOOST_CACHE_DURATION', 3600 );

ここで、3600はキャッシュ期間を秒数で指定します。キャッシュされたコンテンツの鮮度を管理するために、必要に応じてこの値を調整できます。

ただし、WordPressにはさまざまなプラグインや設定があるため、一部の更新を検出できないことがあります。変更後もサイトの一部のコンテンツが古いままの場合は、いつでもページキャッシュをクリアできます。

フィルターでキャッシュパラメーターを変更する

Jetpack Boostは、キャッシュコンテンツを配信する際の訪問者の識別方法を開発者がカスタマイズできる、WordPress用のフィルターを複数提供しています。これらの強力な機能を効果的に実装するには、ある程度の技術的知識が必要です。各フィルターの詳しい説明と、すぐに使い始められる便利なサンプルコードについては、Jetpack Boostフィルターのドキュメントをご覧ください。

キャッシュの問題のトラブルシューティング

Jetpack Boostのキャッシュに関する問題を解決するには、トラブルシューティングガイドで詳しい解決方法をご確認ください。

サポートを受ける

さらにサポートが必要ですか?お気軽にお問い合わせください。無料のJetpack Boostユーザーは、Jetpack Boostプラグインサポートページでサポートリクエストを送信できます。もしアップグレードされた場合は、サポートにお問い合わせいただくことで、より個別化されたサポートを受けられます。