WordPress の W3 total cache と WPtouch を併用するには除外設定が必要だ to @donpy
この記事は2012年04月の記録です。 本文と追記はいずれも過去の環境についての記録です。設定を現在のサイトにそのまま適用せず、使用中のプラグインの仕様を確認してください。

【追記】
現行バージョンの 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 の設定の中にある
Minify
の
です。
「メンドクセーから設定をちゃっちゃと教えろや」って人は、下記をコピーして 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 タブから
Minify
の二つをオフにすることでも大丈夫ですが、そういう設定にするんだったら W3 total cache の使用をやめて WP File Cache + MO Cache にする方が良いと思います。
というわけで、先日の
WordPressの高速化決定版はMO Cacheだ for @donpy
への補足でした。












