WordPressはページを表示するたびにデータベースサーバーにアクセスし、リアルタイムにページを生成している。
そのため、サーバーへの負荷は大きなものとなる。
投稿数やアクセスが増加してきた時に、画面表示に時間がかかるようになってきた。
そこで、WP Super Cacheを導入してみた。
これは一度表示したページをキャッシュに保存し、再度同じページを表示するときにキャッシュを利用するため、サーバーへの負荷を減らせると同時に表示速度の高速化にもつながる。
しかし、なかなかうまく導入出来ずにはまってしまったので記述しておく。
さらに、Ktai-Styleとの併用はいろいろな問題を引き起こすらしく、導入に一手間加えないといけない。
まず、WP Super Cacheをサイトからダウンロード。
ダウンロードしたファイルを解凍し、いつものようにpluginsフォルダにアップロード。
wp-cache-config-sample.php を複製して wp-cache-config.php を作り、48 行目行目あたりの
$cache_rejected_user_agent = array ( 0 => 'bot', 1 => 'ia_archive', 2 => 'slurp', 3 => 'crawl', 4 => 'spider');
という記述の下に以下のコードを記述。(Ktai-styleを使用してない人は記述不要)
if (file_exists(ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php')) { include ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php'; }
wp-cache-config.php を wp-content/ 直下に置き、Wordpressのプラグイン設定画面からWP Super Cacheを有効にする。
そして、WP Super Cacheの設定画面で、
ON WP Cache and Super Cache enabled
を選択して更新。
さらにMod Rewrite Rulesのところも更新をおこない.htaccess の書き換えを行う。
ここで、生成された.htaccessをテキストエディタで開く。
下記のコメントで括られた部分が、WP Super Cacheによって書き加えられた部分。
# BEGIN WPSuperCache # END WPSuperCache
この間にRewriteRuleが2箇所ある。
その直前にそれぞれ2箇所に下記のコードを書き加える。(Ktai-styleを使用してない人は記述不要)
RewriteCond %{HTTP_USER_AGENT} !^(DoCoMo/|J-PHONE/|J-EMULATOR/|Vodafone/|MOT(EMULATOR)?-|SoftBank/|[VS]emulator/|KDDI-|UP\.Browser|emobile/|Huawei/|Nokia|mixi-mobile-converter/) RewriteCond %{HTTP_USER_AGENT} !(DDIPOCKET;|WILLCOM;|Opera\ Mini|Opera\ Mobi|PalmOS|Windows\ CE;|PDA;\ SL-|PlayStation\ Portable;|SONY/COM|Nitro)
以上で設定は終了。
実際の動作を確認してみる。
ログアウト状態、かつ、クッキーを削除した状態の PC で閲覧して、リロードしたとき、XHTMLソースの末尾に
のような表記があればPCでの動作は成功。
次に携帯で同じページを参照。
携帯用の表示になっていれば成功。
もう一度PC画面をリロードして、PC用の画面が出力されるかを確認。
PC用の画面が出力されたら成功。
もし、表示がおかしかったりしたら、再度上から設定を見直して欲しい。
どこかが間違えているはず。