2026年10月3日

2026年10月3日

W3 Total Cacheでページキャッシュを設定する手順と動作確認

W3 Total Cache のページキャッシュは、WordPress が生成したHTMLを保存しておき、次のアクセスからはPHPやデータベースの処理を省いて返す機能です。設定の中心は「保存方式の選択」「キャッシュしないページの指定」「動作の確認」の3つです。この記事では、ページキャッシュだけに絞って有効化から確認、トラブル時の戻し方までを説明します。圧縮・結合(Minify)やCDNなどの機能は、ページキャッシュが安定してから個別に試すことをおすすめします。

始める前の準備

ページキャッシュは .htaccess や wp-config.php、wp-content 配下のファイルを書き換えます。作業前に次の準備をしてください。

  • ファイルとデータベースのバックアップを取る。
  • 可能ならステージング環境で先に試す。
  • ほかのページキャッシュ系プラグイン(WP Super Cache、WP Fastest Cache、LiteSpeed Cache など)を無効化する。キャッシュを二重にかけると、更新が反映されない原因になります。
  • レンタルサーバーのサーバーキャッシュ機能を使っている場合は、どちらか一方に寄せるか、併用してよいかをサーバー会社の案内で確認する。

FTPやSFTPでサーバーに接続できることも確認しておきます。管理画面に入れなくなったときに、プラグインのフォルダ名を変えて止める手段になるからです。

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

W3 Total Cache を有効化すると、管理画面に「Performance」メニューが追加されます。新しいバージョンでは初回にセットアップガイドが表示され、ページキャッシュの方式を測定しながら選べる場合があります。ここでは手動で設定する流れを説明します。画面の表記はバージョンによって変わることがあります(2026年10月現在)。

  1. 「Performance」→「General Settings」を開きます。
  2. 「Page Cache」の項目で有効化にチェックを入れます。
  3. 保存方式(Page Cache Method)を選び、設定を保存します。

保存方式の選び方

主な保存方式は次のとおりです。

  • Disk: Enhanced: キャッシュしたHTMLをファイルとして保存し、Webサーバーの書き換えルールで直接返します。PHPを通らないため速く、共有サーバーでは第一候補になります。Apache では .htaccess にルールが追加されます。
  • Disk: Basic: ファイルに保存しますが、配信はPHP(advanced-cache.php)を通ります。書き換えルールが使えない環境向けです。
  • Opcode / Memcached / Redis: メモリ上に保存する方式です。サーバーに該当の拡張やサービスが入っている場合だけ選択できます。複数台構成のサーバーではファイル保存より扱いやすいことがあります。

迷ったら Disk: Enhanced から始め、うまく動かない場合に Disk: Basic へ切り替えると切り分けが楽です。

Nginx の場合

Nginx は .htaccess を読まないため、Disk: Enhanced の書き換えルールはサーバー設定に読み込ませる必要があります。W3 Total Cache は設定内容に応じたルールを書き出したファイル(サイトのルートに置かれる nginx.conf など)を生成するので、そのファイルを Nginx のサーバー設定から include し、設定を再読み込みします。設定の反映前には nginx -t で構文を確認してください。サーバー設定を編集できないマネージド環境では、Disk: Basic かサーバー側のキャッシュ機能を使います。

キャッシュする範囲を決める

「Performance」→「Page Cache」で、何をキャッシュし、何をしないかを細かく指定できます。主な項目の考え方は次のとおりです。

  • ログインユーザーにはキャッシュしない: 管理バーや会員向けの表示が他人に見えてしまう事故を防ぐため、有効のままにします。
  • トップページ・フィード: 通常はキャッシュして問題ありません。
  • HTTPSのリクエスト: サイト全体がHTTPSなら有効にします。無効だと、ほとんどのページがキャッシュされません。
  • クエリ文字列付きのURL: 検索結果や絞り込みなど、URLの ? 以降で内容が変わるページがある場合は慎重に。広告計測用のパラメータだけが付く場合は、除外や無視の設定を検討します。
  • 404ページ: キャッシュすると負荷は減りますが、ステータスコードの扱いに影響する場合があるため、有効にしたら後述の方法で確認します。

キャッシュしてはいけないページ

ユーザーごとに内容が変わるページは除外します。代表的なのは次のページです。

  • WooCommerce のカート、チェックアウト、マイアカウント
  • 会員専用ページ、ログインページ
  • フォームの送信完了ページ(送信内容を表示する場合)

除外したいURLは「キャッシュしないページ」の欄に1行ずつ指定します。WooCommerce はカートなどで DONOTCACHEPAGE 定数を定義してキャッシュ対象から外す仕組みを持ち、W3 Total Cache もこの定数を尊重しますが、テーマや他のプラグインの組み合わせで期待どおりにならないこともあります。URLの除外も併用し、カートに商品を入れた状態で表示を確認すると安心です。

キャッシュの削除と事前生成

記事を更新すると、W3 Total Cache は該当ページや関連するページ(トップページ、アーカイブなど)のキャッシュを削除します。どこまで削除するかは「Purge Policy」に相当する設定で選べます。表示が古いままのページがあれば、ここで対象を増やします。

手動で全キャッシュを消すときは、管理バーの「Performance」メニューから全キャッシュを削除する操作を使います。WP-CLI が使える環境では、W3 Total Cache が追加するコマンドで削除できます。

# 全キャッシュを削除する(W3 Total Cache の WP-CLI コマンド)
wp w3-total-cache flush all

アクセスが少ないサイトでは、最初の訪問者がキャッシュのない遅い表示に当たりやすくなります。キャッシュの事前生成(Cache Preload)を有効にし、XMLサイトマップのURLを指定すると、WP-Cron でページを順に生成できます。一度に生成するページ数を多くしすぎるとサーバーに負荷がかかるため、少なめから始めてください。

動作を確認する

設定を保存したら、ログアウトした状態で確認します。ログインしたままでは、キャッシュが返されないためです。別のブラウザかシークレットウィンドウを使うと簡単です。

  1. ページを2回読み込み、ページのソースを表示します。
  2. HTMLの末尾に W3 Total Cache のコメントがあり、使われた保存方式が書かれていればキャッシュされています。
  3. 2回目以降の表示で、ブラウザの開発者ツールの「ネットワーク」タブにある最初のHTMLの待ち時間(TTFB)が短くなっているかを見ます。

コマンドラインからは、レスポンスの末尾を見る方法もあります。

# ログアウト状態でHTMLの末尾を確認する(URLは自分のサイトに置き換える)
curl -s https://example.com/ | tail -n 5

Disk: Enhanced の場合は、wp-content/cache 配下にキャッシュファイル(page_enhanced というフォルダ)が作られているかも確認できます。ファイルが増えない場合は、ディレクトリの書き込み権限や、書き換えルールが反映されているかを確認してください。

うまく動かないときの戻し方

管理画面が表示されない、ページが真っ白になるなどの問題が起きた場合は、次の順に戻します。

  1. 「General Settings」でページキャッシュを無効にして保存し、全キャッシュを削除します。
  2. 管理画面に入れない場合は、FTPで wp-content/plugins/w3-total-cache のフォルダ名を変更してプラグインを止めます。
  3. それでも直らない場合は、wp-content/advanced-cache.php、wp-config.php の define( 'WP_CACHE', true );、.htaccess の W3 Total Cache のルールが残っていないかを確認し、バックアップと比較して取り除きます。

プラグインを削除する前に管理画面から無効化しておくと、これらのファイルの後片付けが自動で行われることが多いので、可能ならその順番で作業してください。

まとめ

  • 作業前にバックアップを取り、ほかのページキャッシュ系プラグインは止めておく。
  • 保存方式は Disk: Enhanced から試し、動かなければ Disk: Basic へ。Nginx では生成されたルールを include する。
  • ログインユーザー、カート、チェックアウト、会員ページはキャッシュから外す。
  • ログアウト状態でHTML末尾のコメントとTTFBを見て動作を確認する。
  • トラブル時はページキャッシュを止め、advanced-cache.php・WP_CACHE・.htaccess の残りを確認する。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲