エッジキャッシュ

エッジキャッシュでは、サイト/ページキャッシュ(お客様のサイトで設定したデータセンターにのみ保存されるもの)が、260+箇所のデータセンターからなるCloudflareのグローバルネットワークのいずれかに保存されます。訪問者がブラウザでサイトを読み込むと、最も近い場所からキャッシュされたレスポンスが配信される仕組みです。

エッジキャッシュは、すべてのプランに無料で付帯します。一般的なキャッシュソリューションとは異なり追加料金は発生せず、またプラグインをインストールする手間や負荷も削減されます。

エッジキャッシュの有効化

エッジキャッシュを有効化するには、MyKinstaにログイン後、「WordPressサイト」>(サイト名)>「エッジキャッシュ」に移動します。

エッジキャッシュを利用するにあたっての注意事項

  • 現在、狭い範囲でのジオロケーションキャッシュ(国境付近、州、市)はエッジキャッシュ対象外です。MyKinstaでIPジオロケーションを有効にしている場合(「WordPressサイト」>(サイト名)>「ツール」>「ジオロケーション」)、最初にリクエストを送信した訪問者の場所に基づいて、各PoPにキャッシュデータが保存されます。
  • 高度なサイトキャッシュの除外(CookieとURIの組み合わせなど) もまた、エッジキャッシュ対象外となります。
  • 特別なCookieまたはジオロケーションを使用するサイトに、弊社スタッフが独自のキャッシュルールを設定している場合、エッジキャッシュをご利用いただけません。

利用する」をクリックします。

MyKinstaでエッジキャッシュを有効化
MyKinstaでエッジキャッシュを有効化

エッジキャッシュの有効化」ポップアップが表示されたら、注意事項に目を通し、確認の上で「エッジキャッシュを有効にする」をクリックしてください。

エッジキャッシュの有効化を確認
エッジキャッシュの有効化を確認

特別なキャッシュルールの設定が検出されると、「エッジキャッシュの有効化」画面に警告が表示されます。このルールがエッジキャッシュと衝突しないことが確認された場合は、「エッジキャッシュを有効にする」ボタンをクリックすると、処理を続行することができます。干渉の有無が不明な場合には、開発者に依頼し、サイトのキャッシュルールにエッジキャッシュとの互換性があるかどうかをお確かめください。

エッジキャッシュを有効にすると、設定画面が表示されます。

MyKinstaのエッジキャッシュ設定
MyKinstaのエッジキャッシュ設定

モバイルキャッシュの有効化

サイトでモバイルブラウザを検出し、そのデバイスに固有のマークアップを持つページを生成する場合には、PC向けコンテンツとは別に、モバイルキャッシュを有効化することができます。これに関してご不明点がある場合は、サイト開発者に直接ご相談ください。

エッジキャッシュを利用している場合、サイトの「エッジキャッシュ」画面(「WordPressサイト」>(サイト名)>「エッジキャッシュ」)でモバイルキャッシュも有効にすることができます。「モバイルキャッシュ」セクションの「利用する」をクリックするだけで有効化されます。

モバイルエッジキャッシュを有効化
モバイルエッジキャッシュを有効化

エッジキャッシュのクリア

サイトのエッジキャッシュをクリアする方法は複数あります。)お使いのテーマまたはサイトで有効になっているプラグインにキャッシュが組み込まれている場合、最初にそちらのキャッシュをクリアすることをお勧めします。

WordPress管理画面でキャッシュをクリアする

Kinsta MU(Must-Use)プラグインがインストールされている場合、WordPressの管理画面でエッジキャッシュ(およびその他のキャッシュ)をクリアすることができます。以下のいずれかの方法で実行してください。

  • WordPress管理画面の左サイドバーから「Kinsta Cache」を選択し、「Clear All Caches」ボタンをクリック。
  • WordPress管理画面のツールバーにある「Clear Cache」をクリック。

どちらの方法でも、エッジキャッシュおよびサイトキャッシュの両方がクリアされます。

WordPress管理画面からKinsta MUプラグインを使用してキャッシュをクリア
WordPress管理画面からKinsta MUプラグインを使用してキャッシュをクリア

自動パージ設定(サイトに変更を加えた際に特定のURLまたはパスのキャッシュを自動的にクリアする)は、Kinsta MUプラグインの設定ページで行うことができます。左サイドバーの「Kinsta Cache」をクリックし、更新時にパージしたいURLを追加します。詳細についてはこちらをご覧ください。

MyKinstaでキャッシュをクリアする

MyKinstaにログインし、「WordPressサイト」>(サイト名)>「エッジキャッシュ」に移動します。

キャッシュをクリアする」をクリックすると、すべてのキャッシュがクリアされます。

MyKinstaでエッジキャッシュをクリア
MyKinstaでエッジキャッシュをクリア

特定のURLまたはパスだけをクリアする必要がある場合は、「URL指定キャッシュクリア」セクションのフィールドにURLを貼り付け、「URLを指定しキャッシュをクリア」をクリックしてください。「指定したURL下にあるすべてのサブディレクトリのキャッシュをクリア」にチェックを入れると、URLの下にあるサブディレクトリのキャッシュもクリアすることができます。

特定のURLのエッジキャッシュをクリア
特定のURLのエッジキャッシュをクリア

)この操作でクリアできるのは、エッジキャッシュのみです。サイトキャッシュもクリアするには、「ツール」>「サイトキャッシュ」で「キャッシュをクリア」をクリックして、別途クリアする必要があります。

WP-CLIでキャッシュをクリアする

Kinsta MU(Must-Use)プラグインがインストールされている場合、WP-CLIでエッジキャッシュ(およびその他のキャッシュ)をクリアすることができます。

SSHでサーバーに接続し、サイトのドキュメントルートに移動します。

cd public

Kinsta MU(Must-Use)プラグインがインストールされている場合、以下のコマンドでフルページキャッシュとエッジキャッシュ(有効な場合)をクリアできます。

wp kinsta cache purge

すべてのキャッシュをクリアするには、--allフラグを追加します。

wp kinsta cache purge --all

エッジキャッシュのテスト

サイト表示速度テストツールでサイトのパフォーマンスをテストする前に、エッジキャッシュからの読み込みが機能していることを確認するために、ページのHTTPヘッダーを検査することをお勧めします。以下、サイトのHTTPヘッダーを確認する方法をいくつかご紹介します。

HTTPステータス&リダイレクトチェッカーでエッジキャッシュを確認する

弊社のHTTPステータス&リダイレクトチェッカー(無料)では、任意のURLの HTTPステータスとリダイレクトチェーンを確認できます。これにより、レスポンスヘッダーを調査し、エッジキャッシュが機能しているかどうかを把握可能です。

エッジキャッシュから配信されるべきページを選択し、ブラウザのアドレスバーからURLをコピーしてください。このURLをリダイレクトチェッカーに貼り付けてチェックを実行します。

以下のような結果が表示されます。

エッジキャッシュヘッダーの「ki-cache-type」と「Ki-CFCache-Status」を確認
エッジキャッシュヘッダーの「ki-cache-type」と「Ki-CFCache-Status」を確認

レスポンスヘッダが表示されるまで下にスクロールしてください。このセクションで、ki-cache-typeKi-CF-Cache-Statusという2つのヘッダーの値を確認します。ki-cache-typeヘッダーの値はEdgeである必要があります。Ki-CF-Cache-Statusヘッダーの値はHITまたはSAVINGであれば正常に機能していることになります。

ウェブブラウザでエッジキャッシュを確認する

ブラウザ搭載の開発者ツールでも、エッジキャッシュが機能しているかどうかを確認できます。この例では、Google Chromeを使用して、サイトのホームページのHTTPヘッダーを検査します。Chromeの開発者ツールを開くには、ページ上の任意の場所を右クリックし「検証をクリックします。

Chromeの開発ツールでページを検証
Chromeの開発ツールでページを検証

次に「Network」タブをクリックし、ページを再び読み込みます。ページが読み込まれると、開発者ツールウィンドウの左側にリクエストの一覧が表示されます。最初のページリクエストをクリックして、エッジキャッシュが正しく動作していることを確認してください。

エッジキャッシュヘッダーの「ki-cache-type」と「Ki-CFCache-Status」を確認
エッジキャッシュヘッダーの「ki-cache-type」と「Ki-CFCache-Status」を確認

Header」タブで、「Response Headers」が表示されるまで下にスクロールします。このセクションにある、ki-cache-typeKi-CF-Cache-Statusという2つのヘッダーの値を確認します。ki-cache-typeヘッダーの値はEdgeである必要があります。Ki-CF-Cache-Statusヘッダーの値は、HITまたはSAVINGであれば正常です。

ターミナルでエッジキャッシュを確認する

ターミナル(コマンドライン)の使用に慣れている方は、curlコマンドでHTTPヘッダーを確認することもできます。以下のコマンドを使用し、コマンド末尾のURLを実際のサイトURLに置き換えてください。

curl -L -s -o /dev/null -D - https://kinstaexample.com

このコマンドを実行すると、次のようなレスポンスが返されます。

エッジキャッシュヘッダーのki-cache-typeとKi-CFCache-Statusがコマンドラインに表示される
エッジキャッシュヘッダーのki-cache-typeとKi-CFCache-Statusがコマンドラインに表示される

ki-cache-typeKi-CF-Cache-Statusの2つのヘッダーを確認します。ki-cache-typeヘッダの値はEdgeである必要があります。Ki-CF-Cache-Statusヘッダーの値は、HITまたはSAVINGであれば正常です。

エッジキャッシュのトラブルシューティング

エッジキャッシュが動作を確かめるには、以下の方法があります。

  • X-Kinsta-Cacheヘッダーの値:エッジキャッシュは、すでにサイトでキャッシュ(フルページキャッシュ)されている場合のみ、対象のレスポンスをキャッシュします。X-Kinsta-Cacheの値がHITでない場合、そのページはフルページキャッシュされていないことを意味し、これに対しエッジキャッシュが動作することはありません。
  • 一般的にキャッシュから除外されるページ(wp-admin, cart, my-account, checkoutなど)以外のページについて、キャッシュが機能しない問題が見られる場合には、弊社カスタマーサポートまでご連絡ください。Nginxにより除外URLやCookieが設定されていないか、確認させていただきます。

エッジキャッシュの無効化

エッジキャッシュを有効にすると、ページ上部付近に、緑のチェックマークとともに「利用中」が表示されます。このセクションの右側にある「無効化する」ボタンをクリックすると、エッジキャッシュを無効にすることができます。

エッジキャッシュを無効にする
エッジキャッシュを無効にする

注意事項

  1. エッジキャッシュは、今後デフォルトで有効化される予定です。
  2. Cloudflareのすべてのデータセンターを対象としたエッジキャッシュのクリアには、最大で2〜5分かかる場合があります。MyKinstaで完了通知が表示されても、すべてのデータセンターでのキャッシュクリアが確実に完了するように、2~5分ほどお待ちください。頻繁に更新されるページのエッジキャッシュからの除外については、カスタマーサポートまでご相談ください。
  3. エッジキャッシュは、本番サイトとプレミアムステージング環境でご利用いただけますが、標準ステージング環境ではご利用いただけません。
  4. エッジキャッシュは、狭い範囲のジオロケーションキャッシュや、CookieとURIの組み合わせによる高度なサイトキャッシュ例外指定とは互換性がありません。
  5. エッジキャッシュはKinstaサイト/ページキャッシュを配信しますが、画像、JavaScriptファイル、CSSファイルなどの静的アセットは対象外です。エッジキャッシュから独立している弊社CDNは、サイトの静的アセット配信のために有効にすることができます。
  6. 弊社CDNを利用している場合、サイトにはエッジキャッシュとは別に管理されるキャッシュの層が存在することになります。CDNキャッシュは、Kinsta MUプラグインWP-CLI(Kinsta MUプラグインがインストールされている場合)、またはMyKinstaでクリアすることができます。
  7. エッジキャッシュのルールは、標準的なWordPress、BuddyPress、WooCommerce、Easy Digital Downloadsサイトで機能するように設定されています。一般的なプライベートURIとCookieを除外しているため、WordPress管理画面、フォーラム、買い物カゴなど、ユーザーによるログインが必要な領域にはキャッシュは適用されません。WordPressサイトに手を加えて使用している場合、キャッシュをバイパスする必要があるサイトのセクションや、互換性のために追加する必要があるルールが存在する可能性があります。そのような場合には、お気軽にカスタマーサポートにお問い合わせください。
  8. エッジキャッシュは、レスポンスヘッダーSet-Cookieを返すリクエストでは機能しません。Set-Cookieヘッダーは、新規作成したサイトのキャッシュレスポンスからデフォルトで削除されます。通常このヘッダーは、クライアント向けデータの提供に使用されるため、キャッシュすると、訪問者に意図しないデータを表示する可能性があります。
  9. エッジキャッシュは30日ごとに失効するように設定されていますが、エッジキャッシュにしばらくアクセスがない場合は、この時間が短くなる可能性があります。
  10. WordPressサイトのページを更新するたびに、サイトキャッシュとエッジキャッシュを手動でクリアする必要はありません。
  11. サイトでお客様ご自身のCloudflareアカウントを使用されている場合、CloudflareのAutomatic Platform Optimizations(APO)有効にしなければ、エッジキャッシュをご利用いただけます。この2つのキャッシュ方式には互換性がないため、両方ではなくどちらか一方のみご使用いただけます。
  12. MyKinstaの「IP制限」ツールで悪意のあるIPアドレスをブロックした上で、ブロック対象のIPアドレスによるキャッシュ版サイトへのアクセスもできないようにする、または分析対象外にしたい場合には、エッジキャッシュのご利用をお控えください。「IP制限」ツールで指定したIPアドレスは、Cloudflareレベルではなく、Nginxレベルでブロックされます。Cloudflareには、NginxでブロックしたIPアドレス情報が共有されないため、エッジキャッシュが有効である場合、サイトのキャッシュがCloudflareのデータセンターからブロック対象のIPアドレスに配信されてしまう可能性があります。ブロック対象のIPアドレスが、キャッシュバージョンのサイトに到達するかどうかが問題でない場合には、エッジキャッシュをご利用いただけます。注)ページのキャッシュで発生したPVは、IP アドレスがNginxでブロックされていても、分析データに加味されます。
  13. エッジキャッシュは、特定の国や地域からのアクセスのみを許可するような、位置情報に応じたブロック(ジオブロッキング)はサポートされません。ジオブロッキングは、CloudflareレベルではなくNginxレベルで行われます。Cloudflareは、サイトに設定されたジオブロッキングの詳細を把握しないため、エッジキャッシュを利用すると、コンテンツのキャッシュバージョンが、Cloudflareのデータセンターからブロックされた場所に配信される可能性があります。これを気にしない場合のみ、エッジキャッシュをご利用ください。

パフォーマンスデータ

ベータ版にて、91件のサイトのパフォーマンスデータを収集し、エッジキャッシュの速度向上を測定したところ、以下のような結果となりました。

  • ページキャッシュ(X-Kinsta-Cache: HIT)を使用したサイトの平均HTMLページ読み込み時間は、0.4909秒。エッジキャッシュを使用した場合は0.2239秒で、45.6%の速度向上、つまりHTMLページの表示速度がおよそ2倍高速化されました。
  • 平均TTFBは、51%削減されました(0.4025秒と0.2069秒)。

まとめ

サイト高速化の方法をお探しなら、エッジキャッシュをご利用ください。複数のデータセンターでキャッシュしたコンテンツを最小限の設定で配信できるようになります。また、別途プラグインのインストールも不要です。

この記事は役に立ちましたか?