CloudwaysのObject Cache Pro:Varnish・Redis・Breezeプラグインの設定とキャッシュのクリア

Cloudwaysのキャッシュ構成では、サーバーのVarnishが完成したページを、Redisがデータベースの照会結果を保存し、Cloudways最適化WordPressにはBreezeとObject Cache Proプラグインがインストールされた状態で提供されます。Lightning Stackのテスト用アプリケーションのレスポンスヘッダーを確認したところ、トップページは9時間以上同じVarnishのコピーが返されており、記事を修正した内容はBreezeやWP Rocketがキャッシュをクリアして初めて反映されます。
1️⃣ Cloudwaysのキャッシュ構造
Cloudwaysのサーバーには、WebサーバーのNginxとApache、ページキャッシュのVarnish、オブジェクトキャッシュのRedis、PHP-FPMとMariaDBがあわせてインストールされています。アプリケーションごとに[Application Settings] › [WebStack]で、NginxとApacheを併用するHybrid Stackと、Nginxだけを使うLightning Stackのどちらかを選びます。Lightning Stackは[.htaccess]を読み込みません。
2️⃣ Varnishの設定と除外ルール
VarnishはすべてのCloudwaysサーバーで標準でオンになっており、サーバーでオンにするとそのサーバーのすべてのアプリケーションに適用されます。特定のアプリケーションだけオフにするには、そのアプリケーションの[Application Settings] › [General]で[Varnish]をオフにします。

WordPressのログイン・管理画面とWooCommerceのカート・決済ページ、ログインCookieのあるリクエストは、最初からキャッシュの対象外になっています。さらに除外したいURLやCookieは、[Application Settings]の[Varnish]タブで[Add New Exclusion]から追加します。URLは[/booking/]のように、ドメインを除いたパスで入力します。
テスト用アプリケーションにログインCookieを付けてリクエストすると、レスポンスに[x-cache]ヘッダーは出ませんでした。Cookieなしでリクエストしたトップページでは[x-cache: HIT]と[age: 33254]が表示されました。[age]はVarnishのコピーが作られてから経過した秒数で、約9時間14分です。
VarnishはWordPressとMagento 2で使われ、Laravelや自作のPHPアプリケーションには向きません。
キャッシュの保持時間(TTL)は、サーバーの[Settings & Packages] › [Advanced]にあるVarnishの[Cache Lifetime]で決めます。新しく作ったテストサーバーの値は30日でした。選べる値は4・8・14・24時間と7・14・30日で、この値はサーバー単位のため、ステージングを含むすべてのアプリケーションに共通で適用されます。





3️⃣ RedisとObject Cache Pro
Varnishがページを保存しても、ログインしたユーザーやカートのようにキャッシュから除外されたリクエストでは、WordPressがデータベースを照会してページを作ります。Object Cache Proは、この照会結果をRedisのメモリに保存して、同じデータを再び要求されたときにデータベースを経由しないようにするプラグインです。
Cloudways最適化のWordPressとWooCommerceのアプリケーションは、Object Cache Proがインストール・有効化された状態で作られ、Cloudwaysのユーザーは無料で使えます。オン・オフを切り替える場所はアプリケーションの[Application Settings] › [WordPress]タブで、新しく作ったテスト用アプリケーションも最初からオンになっていました。

Redis Object CacheやWP Redisなど、ほかのオブジェクトキャッシュプラグインと一緒にインストールすると競合するため、先に削除します。サーバーでRedisサービスをオフにすると、すべてのアプリケーションのObject Cache Proが無効になり、PHP 7.4より低いバージョンでは使えません。
4️⃣ BreezeとWP Rocketの選び方
Breezeがなく、Varnishだけを使っていてもページキャッシュは動作します。ただし、Varnishは記事が変わったことを自分では把握できないため、キャッシュの保持時間が過ぎるか、自分でクリアするまで古いページが表示されます。
BreezeはCloudways最適化WordPressにインストールされた状態で提供される無料のキャッシュプラグインで、設定画面は管理画面メニューの[設定] › [Breeze]から開きます。
確認したアプリケーションでは[Cache System]がオンで、内部キャッシュをクリアする周期は1440分(1日)でした。[VARNISH]タブの[Auto Purge Varnish]がオンになっていると、新しい記事やページを公開したりコメントが登録されたりしたときに、Varnishキャッシュも一緒にクリアされます。
WP Rocketを使うなら、Breezeのような他の最適化プラグインは無効化して削除します。WP Rocketを使っていたサイトをMigratorプラグインで新しいアプリケーションに移した直後、トップページのHTMLにBreezeのキャッシュ表示とWP Rocketの遅延読み込みスクリプトが一緒に入っていました。そのため、サイトを移したあとはまずBreezeがオンになっているか確認します。
WP Rocketの [Varnish]タブで自動パージをオンにするとBreezeと同じ役割を果たし、Object Cache ProはBreezeやWP Rocketのようなページキャッシュプラグインと併用できます。
5️⃣ キャッシュのクリア
キャッシュをすぐにクリアするには、WordPress上部の管理ツールバーにある[Breeze]メニューを使います。
SSHで接続している場合は、次のコマンドでプラグインのキャッシュとVarnishキャッシュをまとめてクリアします。
wp breeze purge --cache=all[--cache=varnish]はVarnishキャッシュだけをクリアします。
wp breeze purge --cache=varnish[--cache=local]はプラグインのキャッシュだけをクリアします。
wp breeze purge --cache=localCloudflareのようなプロキシを前段に置いているサイトでは、Varnishをクリアしても変更内容がすぐに表示されないことがあり、その場合はCloudflareのキャッシュも一緒にクリアします。
🔢 FAQ & おすすめコンテンツ













ℹ️ 提携について
当サイトのコンテンツにはアフィリエイトリンクが含まれています。訪問者がこのリンクを通じて商品やサービスを購入すると、当サイトは販売元から手数料を受け取ります。この過程において、購入者が支払う金額(イベント割引適用で金額が下がります↓)は上昇しません。掲載されている価格・割引・在庫情報は作成時点のものであり、実際とは異なる場合がありますので、ご購入前に販売元にて最終確認をお願いいたします。商品の選定および評価は独自の基準に基づいて行われており、手数料の支払いの有無は紹介順や評価内容に影響を与えません。

