2026年5月20日
2026年5月20日
WP Super Cacheの設定方法|シンプルとエキスパートの違い・除外・有効期限・確認方法
WP Super Cache は、WordPress のページを静的な HTML ファイルとして保存し、次からはそのファイルを返すことで表示を速くするキャッシュプラグインです。開発元は Automattic です。
この記事の画面の名前は、2026年11月時点で WordPress.org で配布されている WP Super Cache 3.1.5 のファイルと日本語の翻訳で確認したものです。このバージョンは WordPress 6.8 以上、PHP 7.4 以上を必要とします。
1. インストールして有効化する
管理画面の「プラグイン → 新規追加」で「WP Super Cache」を検索してインストールし、有効化します。WP-CLI なら次のとおりです。
wp plugin install wp-super-cache --activate
キャッシュを有効にすると、プラグインは次のファイルを作り、書き換えます。
wp-config.phpにdefine( 'WP_CACHE', true );を追加するwp-content/advanced-cache.phpとwp-content/wp-cache-config.phpを作る- キャッシュを
wp-content/cache/の下に保存する
このため、wp-content と wp-config.php にウェブサーバーから書き込めることが前提です。書き込めない場合は設定画面に案内が出るので、その指示に従います。
2. 「簡単」タブでキャッシュを有効にする
「設定 → WP Super Cache」を開くと、「簡単」「高度な設定」「CDN」「コンテンツ」「先読み」「プラグイン」「デバッグ」のタブが並んでいます。
- 「簡単」タブで「キャッシング利用(推奨)」を選び、「ステータスを更新」を押します。
- 同じタブの「キャッシュテスター」で「キャッシュをテスト」を押します。ページを2回取得して時刻を比べ、「両方のページのタイムスタンプが一致しました。」と表示されればキャッシュが効いています。
「簡単」タブで有効にすると、次の推奨設定がまとめて入ります。
- ログイン中のユーザーにはキャッシュを無効化
- シンプルなキャッシング(配信方法は「シンプル」)
- キャッシュリビルド
- 10分ごとのガーベージコレクションと、30分のキャッシュの有効時間(まだ設定していない場合)
多くのサイトは、ここまでで使い始められます。細かい設定は「高度な設定」タブで変えます。
3. 配信方法: シンプルとエキスパート
「高度な設定」タブの「キャッシュ配信方法」で、保存した HTML をどう返すかを選びます。
| 配信方法 | 仕組み | 向いているサイト |
|---|---|---|
| シンプル(推奨) | PHP がキャッシュのファイルを読んで返す。.htaccess は変更しない |
ほとんどのサイト。Nginx のサーバーでもそのまま使える |
| エキスパート | Apache の mod_rewrite が、PHP を通さずにキャッシュのファイルを直接返す | Apache で、.htaccess を自分で直せる人 |
エキスパートは PHP を動かさない分だけ速くなりますが、プラグインがサイトの .htaccess に書き換えのルールを追加します(wp-content/cache/.htaccess にも書きます)。ルールが合わないとサイトが表示されなくなることがあるので、選ぶ前に .htaccess のバックアップを取ります。追加されるルールは、エキスパートを選んで「ステータスを更新」を押したあと、同じタブの「Mod Rewrite ルール」の欄で確認でき、「Mod_Rewrite ルールを更新」で書き込みます。
Nginx でエキスパートと同じことをするための設定例も公開されていますが、プラグインの画面では「公式にはサポートしていない」と書かれています。Nginx のサーバーではシンプルを使うのが無難です。
どちらの配信方法も、パーマリンクが「基本」(?p=123 の形)以外になっている必要があります。
4. 「高度な設定」タブのおもな項目
「その他」のまとまりにある「キャッシュ制限」で、誰にキャッシュを返すかを選びます。
| 選択肢 | 動き |
|---|---|
| すべてのユーザーに対してキャッシュを有効化する | ログイン中の人にもキャッシュを返す |
| ブラウザーに cookie をセットした訪問者にはキャッシュを無効化する | コメントを書いた人なども含め、Cookie がある人には返さない |
| ログイン中のユーザーに対してはキャッシュを無効化する(推奨) | ログイン中の人には毎回 PHP で作ったページを返す |
ほかに、よく使う項目は次のとおりです。
- GET パラメーター(URL 末尾の ?x=y など)のページをキャッシュしない: 検索や絞り込みのパラメーターで中身が変わるページがある場合にオンにします。
- ページを圧縮し、訪問者により速くページを供給する: キャッシュを gzip で圧縮して保存します。サーバー側ですでに圧縮している場合など、表示が崩れる環境があるため初期値はオフです。オンにしたら表示を確かめます。
- キャッシュリビルド: 新しいキャッシュを作っている間、古いキャッシュを返します。
- 投稿や固定ページの公開、または更新時にすべてのキャッシュファイルをクリア: 記事を更新したらサイト全体のキャッシュを消します。トップページやサイドバーの新着一覧をすぐ反映させたい場合に使います。
設定を変えたら、画面下の「ステータスを更新」を押します。
5. キャッシュしないページを指定する
同じ「高度な設定」タブの「除外する URL 文字列」に、キャッシュしたくない URL に含まれる文字列を1行に1つ書き、「文字列を保存」を押します。URL にその文字列が含まれるページはキャッシュされません。
/contact/
/members/
初期値として wp-.*\.php と index\.php が入っています。消さずに残します。
WooCommerce のカート・購入手続き・マイアカウントのページは、WooCommerce 自身が「このページをキャッシュしない」という合図(DONOTCACHEPAGE 定数)を出し、WP Super Cache はそれに従います。通常は、これらのページを自分で除外に追加する必要はありません。ほかのプラグインのページで、利用者ごとに中身が変わるのにキャッシュされてしまう場合は、ここに追加します。
6. 有効期限とガーベージコレクション
古いキャッシュは、有効期限を過ぎても自動ですぐには消えません。「ガーベージコレクション」という定期的な掃除で消えます。設定は「高度な設定」タブの「有効時間とガーベージコレクション」です。
| 項目 | 意味 |
|---|---|
| キャッシュのタイムアウト | キャッシュを新しいとみなす秒数。0 にするとガーベージコレクションを止める |
| スケジューラー(タイマー) | 指定した秒数ごとに古いキャッシュを探して消す |
| スケジューラー(定時) | 指定した時刻(UTC)に古いキャッシュを探して消す |
設定画面の説明では、サイドバーにウィジェットやフィードがあるサイトはタイムアウト 3600 秒・タイマー 600 秒が目安とされています。更新が多いサイトは短く、ほとんど更新しないサイトは長くします。変えたら「有効時間を変更」を押します。
ガーベージコレクションは WordPress の WP-Cron で動きます。WP-Cron が動かない環境では古いキャッシュが残り続けるので、サーバーの cron から wp-cron.php を呼んでいるかを確認します。
記事の公開やコメントの投稿で関係するページのキャッシュが消えるのは、ガーベージコレクションとは別の仕組みです。
7. 先読み(プリロード)
「先読み」タブの「キャッシュを今すぐプリロード」を押すと、公開中の投稿と固定ページを新しい順にたどってキャッシュを作ります。最初の訪問者もキャッシュされたページを見られます。
記事が多い(1万件以上など)サイトでは大量のファイルができるので、画面の説明どおり、新しい記事だけに絞ることも検討します。共用サーバーでは特に容量とファイル数の上限に注意します。
「プリロードモード」をオンにすると、通常のガーベージコレクションが止まり、プリロードしたファイルは期限切れになりません。
8. CDNを使う
「CDN」タブの「CDN サポートを有効化」をオンにし、「オフサイト URL」に CDN のアドレス(例: https://cdn.example.com、最後の / は付けない)を入れて「変更を保存」を押すと、wp-content と wp-includes の中のファイル(.php を除く)の URL を CDN のアドレスに書き換えます。CDN 側は、サイトからファイルを取ってくる設定(オリジンプル)にしておきます。
保存する前に、画面の警告どおり、静的なファイルの URL を CDN のアドレスに置き換えて開き、表示されるかを確かめます。設定後はキャッシュを削除します。
9. キャッシュが効いているか確かめる
キャッシュテスターのほかに、ログインしていない状態でページのソースを表示して確かめられます。「デバッグ」タブの「キャッシュのステータスメッセージ」が有効なら、HTML の最後に次のようなコメントが付きます。
<!-- Dynamic page generated in 0.450 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2026-11-10 12:00:00 -->
ページを再読み込みしても Cached page generated の時刻が変わらなければ、キャッシュが返っています。ログイン中は、推奨設定ではキャッシュが返らないので、別のブラウザーかプライベートウィンドウで確かめます。
10. キャッシュを削除する
- サイト全体: 「簡単」タブの「キャッシュを削除」、またはログイン中に管理バーに出る「キャッシュを削除」(管理画面で押すとサイト全体、公開ページで押すとそのページだけ)
- 期限切れのものだけ: 「コンテンツ」タブの「期限切れキャッシュを削除」
WP Super Cache 本体には WP-CLI のコマンドは含まれていません。また、wp cache flush は WordPress のオブジェクトキャッシュを消すコマンドで、WP Super Cache のページキャッシュは消えません。
うまく動かないとき
プラグインの説明書(readme)に挙げられている確認点のうち、よく当たるものです。
wp-config.phpのrequire_once ABSPATH . 'wp-settings.php';より上にdefine( 'WP_CACHE', true );があるかwp-content/advanced-cache.phpがあり、その中のプラグインのパスが正しいか。キャッシュがまったく作られない場合は、このファイルを削除して設定画面を開き直すと作り直されますwp-content/cache/supercache/の下にフォルダーとファイルができているか- 圧縮をオンにしたあとでブラウザーがファイルを保存しようとする、文字化けする場合は、「ページを圧縮」をオフにする
- キャッシュのフォルダーを NFS などのネットワーク上の場所に置いていないか(ローカルのディスクが必要)
注意点
- キャッシュ系のプラグインは1つだけ使います。ほかのページキャッシュのプラグインやサーバー会社のキャッシュ機能と重ねると、古いページが表示されたり、設定ファイルを取り合ったりします。
- 会員サイトなど、ログインしていない人にも利用者ごとに違う内容を見せるページは、除外に入れます。
wp-content/cache/は一時ファイルの置き場です。プラグインはここのファイルを削除するので、大切なファイルを置かないでください。- プラグインを止めるときは、プラグイン一覧から無効化・削除すると、
advanced-cache.phpとwp-cache-config.phpも片付けられます。ファイルが残った場合は、wp-config.phpのWP_CACHEの行と合わせて手で削除します。