WordPress の W3 total cache と WPtouch を併用するには除外設定が必要だ to @donpy

2012/04/24

この記事は2012年04月の記録です。 本文と追記はいずれも過去の環境についての記録です。設定を現在のサイトにそのまま適用せず、使用中のプラグインの仕様を確認してください。

Wordpress logo

【追記】
現行バージョンの W3 Total Cache は、モバイル表示向けに別のキャッシュを作成するようになっていますので、モバイル向け表示でもデスクトップ向け表示でもページキャッシュによる高速表示が可能です。
https://iphone-lab.net/page-cahe-mobile-397832/

【本文】
WordPress の表示高速化を目的に MO cache を利用するため、W3 total cache をインストールしたら、WPtouch がうまく表示できなくなったとお困りのユーザーさんもいるかもしれません。

WordPress はアクセスがあるたびに動的にページを作成して表示する仕組みになっていますが、W3 total cache は予め表示されるページをHTMLとしてキャッシュしておくことで高速に表示できるという機能を持っています。

このページキャッシュの機能に対して、iPhone などモバイル機器からアクセスがあった場合はキャッシュを表示しないでスルーするように設定しておかないと、WPtouch の画面が表示されずに PC 用のキャッシュされた画面が iPhone や iPad にも表示されてしまいます。

設定するべき所は、W3 total cache の設定の中にある

Page Cache
Minify

の

Rejected User Agents:

です。

PageCache

「メンドクセーから設定をちゃっちゃと教えろや」って人は、下記をコピーして Rejected User Agents: にペーストしてください。

iphone
ipod
ipad
pre
pixi
iemobile
aspen
incognito
webmate
android
dream
cupcake
froyo
blackberry9500
blackberry9520
blackberry9530
blackberry9550
blackberry 9800
blackberry 9780
blackberry 9850
blackberry 9860
webos
s8000
bada

この二つの Rejected User Agents 予め入力されているのに WPtouch が表示されない場合は、そこの設定はそのままにして、 W3 total cache の設定の
User Agent Groups
にある「 1. high 」というグループに同じモノが入力されているか確認して、Enabled にチェックが入っていることと「Pass through」が選択されていることを確認してください。

これらの設定ができていれば、iPhone などモバイルからのアクセスにはページキャッシュ無しでスルーした表示になりますので、WPtouch が正常に表示されるはずです。

「設定がメンドクセーしページキャッシュなんかいらねーよ」という場合は、W3 total cache の Ganeral タブから

Page Cache
Minify

の二つをオフにすることでも大丈夫ですが、そういう設定にするんだったら W3 total cache の使用をやめて WP File Cache + MO Cache にする方が良いと思います。

というわけで、先日の
WordPressの高速化決定版はMO Cacheだ for @donpy
への補足でした。

サイト運営費を寄付 (PayPal)

 
当サイトの記事が有益だと思われましたら、運営費を寄付していただけると嬉しいです(金額自由)。サーバー代等に使用します。