ヘルスチェックで「ページキャッシュが検出されません」の警告
WordPress を高速化するために Redis Object Cache を導入しているのに、ヘルスチェックで「ページキャッシュが検出されません」とヘルスチェックで警告が出ます。

ページキャッシュが検出されず、サーバーのレスポンスが遅くなっています
ページキャッシュは、ユーザーがアクセスするたびにページを読み込むのではなく、静的なページを保存して提供することで、サイトの速度とパフォーマンスを向上させます。
ページキャッシュの検出は、有効化されたページキャッシュプラグインの検索のほか、ホームページへのリクエストを3回行い、以下のHTTPクライアントキャッシュレスポンスヘッダーのうち1つ以上の検索で行います:
cache-control, expires, age, last-modified, etag, x-cache-enabled, x-cache-disabled, x-srcache-store-status, x-srcache-fetch-status.
・サーバーの応答時間の中央値は625ミリ秒でした。推奨されるしきい値600ミリ秒以下の時間でなければなりません。
・クライアントキャッシュレスポンスヘッダーを検出できませんでした。
・ページキャッシュプラグインは検出されませんでした。

Redis Object Cache を導入しているのに、何故かなと思ったら、Redis Object CacheはWordPress 内部のオブジェクトキャッシュに特化しており、HTMLページ自体のキャッシュ(ページキャッシュ)を行っていないためです。
そこで、Nginx のレスポンスヘッダー設定でページキャッシュを有効化することで、
ブラウザや中間キャッシュがページを再利用できるようになります。
Nginx のレスポンスヘッダー設定でページキャッシュを有効化にする
Nginxの設定変更
Nginx の設定ファイルを編集します
$ sudo vim /etc/nginx/sites-enabled/example.com
location / ブロック内に以下の 2 行を追加します。
location / { try_files $uri $uri/ /index.php?$args; # ページキャッシュ有効化(5分) expires 5m; add_header Cache-Control "public, max-age=300"; }
設定ファイルを保存したら、構文をチェックして、問題がなかったらnginxを再起動します
# 構文チェック $ sudo nginx -t # 問題ないなら再起動 $ sudo systemctl reload nginx
動作確認
ブラウザの開発者ツール(F12キー → [ネットワーク] タブ)で、
サイトのレスポンスヘッダーを確認します。
以下のように Cache-Control
や Expires
ヘッダーが含まれていればOKです。
cache-control: public, max-age=300 expires: Tue, 08 Oct 2025 05:10:00 GMT
まとめ
キャッシュ種別 | 担当箇所 | 効果 | 設定例 |
---|---|---|---|
オブジェクトキャッシュ | Redis Object Cache プラグイン | データベース・クエリ結果の再利用 | WordPress内で有効化 |
ページキャッシュ | Nginx(expires / Cache-Control) | ブラウザ・プロキシの再利用 | 上記設定追加 |
HTMLファイルキャッシュ | FastCGI cache / WP Super Cache など | サーバーサイドの完全キャッシュ | 任意で導入 |