通常 WordPress はアクセスがある都度データベースを読みに行って表示する HTML を組み立てているのですが、ブログ記事など頻繁に更新されるものではないのに都度処理が走るのは非効率。
ということでレスポンスの高速化及びサーバの負荷軽減のためにキャッシュを生成してそれを利用するのが WP Super Cache というプラグイン。このブログでも使ってます。HTML ソースを見ると一番下に Cache page generated by WP-Super-Cache と記載がありますね。
http://wordpress.org/plugins/wp-super-cache/インストール
プラグインの新規追加画面から WP-Super-Cache で検索して出てきたものをインストール -> 今すぐ有効化 を押すとインストールが完了します。
インストールしただけでは、キャッシュが有効になってないと思うので、WP-Suepr-Cache の設定画面から「キャッシング利用」を選択し、有効にしましょう。
また、以下のようなメッセージが出た場合は、メッセージにしたがってパーミッションの設定を変更しましょう。
警告 ! /path/to/wp/wp-content が書き込み可能になっています!
設定
設定はいろいろありますがほとんど日本語化されているし初期設定でも十分な性能が出るでしょう。
自分は詳細画面にある有効時間だけ変更して長時間キャッシュするよう設定しています。
設定やボタン類が沢山あります。一個ずつ見ていきましょう。
簡易
このページではシンプルに以下の事だけが出来ます。
- キャッシュを利用する/しない
- キャッシュの削除
テンプレートなどを編集していて一時的にキャッシュを利用しない設定にしたり、キャッシュを削除して新しいページを確認するのによく使ったりします。
設定を反映するには「ステータスを更新」を押すのを忘れないようにしましょう。
詳細
細かい動作の設定を変更できます。
キャッシング
- キャッシュを利用するか否か、どのキャッシュを利用するかを指定できます。
- キャッシュファイルの利用時に php か mod_rewrite か,レガシーなページキャッシュを利用するかを選択できます。
簡易設定でキャッシュを利用する/しないを変更するとここの「ヒットしたページをキャッシュし、素早くアクセスさせる。」の項目が連動してチェックが入るようです。
その他
- ページの圧縮を使用するか否か。
- 304 Not Modified ブラウザーキャッシングを利用するか否か。
- 既知のユーザーにはページをキャッシュを利用するか否か。
- GETパラメータ付与時にキャッシュを利用するか否か。
- 匿名ユーザにキャッシュを利用するか否か。
- 新しいファイルの生成中に登録ユーザー以外に supercache のファイルを供給するか否か。
- このサーバが Stephen Fry Proof であることを表示する。
Stephen Fry Proof というのは著名な映画監督である Stephen Fry にリンク貼られても WP Super Cache のおかげでサイトがダウンせずにすんだ事があってある種のスラングになったようだ。
詳細
- ダイナミックキャッシュを利用するか否か。
- モバイル端末のサポート。
- UTF8 文字のサポートを .htaccess から除外。
- 投稿やページを公開もしくは更新した際に全てのキャッシュを削除するか否か。
- 追加のホームページチェック(稀にキャッシングがストップする事があるので)。
- コメントが投稿された際、該当のページだけリフレッシュ。
- キャッシュされた最新のページを一覧で表示する。
- 荒削りなファイルロック。
- 遅延モード
あまり触るような事も無さそうですがどのような機能があるのか確認しておくのは良いと思います。
効果
以前 WP-Super-Cache でどのくらい高速化するのか ab コマンドで測った事があります。
WordPress を APC + WP Super Cache で簡単に高速化してみる。APC 込での計測ですが 10倍ぐらい速くなっていますね。
注意点
普通にブログとして WordPress を使用するのであればこのプラグインはとても有効に動きます。ユーザーがログインして頻繁にコンテンツが更新されるようなサイトではキャッシュが邪魔で想定通りに動かないなんて事があります。動作確認はしっかりしておきましょう。
また、以前 APC が動いてる環境では正常に動作しない事がありました。
APC と WP Super Cache が競合する?キャッシュはイロイロ大変ですが効果は確かにあるので注意しながら使っていきましょう。