ブログのページ読み込み速度アップとCPU負荷削減の為、
『W3 Total Cache』と『Quick Cache』のプラグインを試しました。

しかし、モバイル環境からのアクセスではキャッシュをしない設定しか無く、
デスクトップからのアクセスはキャッシュされ、モバイルからの環境ではキャッシュ無し
となってしまいます。

このブログのアクセスはPCとモバイルがほぼ半々なので上のプラグインは削除しました。
もしかしたら、Quick Cacheの方は有料版を使えば出来るかもしれません。

そこで、WordPress再インストール前まで使っていたWP Super Cache
をインストールしたらデスクトップとモバイル別々にキャッシュ出来る様になりました。

スポンサーリンク

WordPressのキャッシュ系プラグイン

様々な種類のキャッシュ系プラグインがありますが一番効果があると思うのは
ページキャッシュプラグイン。

オブジェクトやデータベースのキャッシュプラグインは逆に遅くなる可能性もあります。
オブジェクトなどをキャッシュしてもキャッシュ先はHDDなのでそんなに早さは変わらない
と思います。

またmoファイルをキャッシュするプラグインもありますが、
moファイルはWordPressの翻訳ファイル。
ローカライズ対応のプラグインやテーマなどにあります。
しかし、moファイルを使うのは管理画面が多いので、ブログ記事の方はあまり関係無い
気がします。

そこで、ページキャッシュプラグイン。

ページキャッシュプラグインはアクセスの有ったページをサーバ上にキャッシュ(保存)
しておいて次同じページへアクセスが有ったらキャッシュの方を表示させる仕組み。

ワードプレスではページを動的に表示しているのでHTTPのリクエストが来てから
ページを組み立てるので時間が掛かりますが、次回以降は計算の手間が掛からないので
ページの読み込みは早くなり、サーバ負荷は下がります。

また、一定期間経過したらキャッシュを削除する仕組みもあります。

PCとモバイル別々にキャッシュするWP Super Cache

WP Super Cache by Automattic

WP Super Cacheは悪さをする場合もある様です。
【参考】ちょっと待て!素人がWordPressのキャッシュ系プラグインをわけわからずに使うと悲惨な目に遭うぞ!

WP Super Cacheはキャッシュへのアクセスを高速化させる為.htaccessファイルを編集します。
.htaccessはApache Webサーバを制御出来るので.htaccessを使用する事で
Apacheが直接ファイルを読み込み、PHPを経由しないのでより高速化出来ます。

そんな状態で、.htaccessをアンインストール前に修正しないでフォルダを消してアンインストール
するとエラーが発生してしまいます。

なので、いろんなキャッシュ系プラグインを試そうとする方で良く分かってない場合は
ワードプレスのフォルダをローカルにダウンロード&コピーしてバックアップを取っておくと
後から元に戻す時に、役立つかもしれません。

また、WP Super Cacheの開発元はAutomattic、
JetpackプラグインやWordpress.comの運営元なので信頼出来ます。

設定画面で
Mobile device support. (External plugin or theme required. See the FAQ for further details.)
にチェックを入れればモバイルデバイス対応する様で、

WP Super CacheでキャッシュされたPC版とモバイル版・圧縮版

とあるページを見てみたら、モバイルとデスクトップ、圧縮版がキャッシュされていました。

WP Super Cacheとwp_is_mobileの併用は危険

WP Super CacheとWordressのwp_is_mobile関数ではタブレットの
扱いが違うので、ブログ内でwp_is_mobileを使った表示が有った場合
タブレットでキャッシュされた場合、モバイルの表示がPCなどで表示される危険があります。

wp_is_mobile関数を弄っちゃえば一番簡単に済みますが
コアファイルなのでなるべく編集は控えたいし、
アップデートすると元に戻るので、おすすめできません。

次に簡単なのは、テーマのfunctions.phpに独自の関数を追加して
wp_is_mobile()の変わりにする方法。

これはテーマのfunctions.phpに入れるのでテーマを更新すれば元に戻ってしまうかも
しれませんが、コアファイルよりは安全なのでこちらに独自関数is_mobile()を入れて
デスクトップとモバイルの判別に使いました。

このis_mobile()ではモバイルはスマホのみで
パソコンとタブレットはデスクトップとして認識され、多分WP Super Cacheと同じ認識をするハズです。

is_mobile()はこちらのページにありましたので使わせて頂きました。
http://enjiout.com/post-1508/

ちなみに、タブレットはモバイルでは、と思いましたが
Googleのタブレット向けガイドライン
タブレット向けガイドライン - Webmasters Google Developers
の中に

ウェブサイトに PC 用とスマートフォン用で異なるページがあり、
タブレット専用のページがない場合、Google の認識では、通常、
タブレット ユーザーにはサイトのスマートフォン用ページではなく PC サイトが表示されます。

とあるので、タブレットにはデスクトップ表示で問題は無いと思います。

まとめ

PVがそんなになくても、導入した方が良いと思います。
ページ読み込むの速度が遅いより速い方が小さな要素ですがSEO的にも良い様です。
【参考】ページの表示速度は日本でもランキング要因になっていた

また、CPU負荷低減の効果もあるので、気になる方は是非インストールしてみましょう。
インストール後、パソコン、スマホと出来ればタブレットでの表示テストを忘れずに!