W3 Total Cache 設定ガイド (User Agent Groups編)

W3 Total Cache(以下 W3TC)のUser Agent Groupsメニューでは、主にWebサイトにアクセスしてきた端末の種類を識別・グループ分けして追加のページキャッシュを生成したり、テーマを切り替えるための設定をおこないます。

具体的には、PCとは別にモバイル専用のテーマを使用している場合や、プラグインやカスタムコードでデスクトップとモバイルで広告やサイドバーなどのコンテンツを切り替えている場合に、このメニューを適切に設定することで、同じページでも端末種別ごとに複数のページキャッシュを提供したり、テーマを切り替えたりできるようになります(テーマ切替機能単独で利用することもページキャッシュとの併用も可)。

運営しているサイトがレスポンシブレイアウトに対応していて、どの端末でアクセスしても出力されるコンテンツそのものは同じであれば、追加のページキャッシュやテーマの切り替えは不要なので、このメニューでの設定は不要です。

User Agent Groupsによるキャッシュは、Cache Preloadによって事前キャッシュすることは出来ません。

Manage User Agent Groups

W3TC User Agent Group セクション

Manage User Agent Groups セクションには、初期設定でタブレット端末(tablets)とスマートフォン(phones)の2つのグループがあらかじめ作られています。

これらのグループには、アクセスしてきた端末を識別するUA(ユーザーエージェント) が記述されています。なお、各グループはドラッグアンドドロップで並べ替えて優先順位を変更することができます(この場合の優先順位が何を意味するかは不明)。

ユーザーエージェントとは、訪問者のブラウザがWebサーバーに対して自動的に通知するブラウザやOSの種類やバージョンなどの情報を組み合わせた識別情報のことをいいます。

Create a group

このセクションの一番上にある Create a group ボタンをクリックすると追加のグループを作成することができます。ページキャッシュと併用する場合は、キャッシュ容量やパフォーマンスを考慮してグループ数は最小限にとどめておいた方が良いでしょう。

W3TC User Agent Group セクション グループ追加ダイアログ
グループ作成時のダイアログ

グループ名を半角英数で入力し、OKをクリックするとセクションの一番後ろに新しいグループが追加されます。なお、グループ名は後から変更することができません。変更したい場合は一旦削除して新規にグループを作り直す必要があります。

Group name

グループ名が表示されます。グループ名の横にある Delete group ボタンをクリックすると該当のグループを削除することができます。

W3TC User Agent Group セクション グループ削除ダイアログ
グループ削除時の確認ダイアログ

一時的にそのグループのキャッシュ生成を止めるだけなら、下のEnabledオプションを使いましょう。

Enabled

チェックを入れるとそのグループ用のページキャッシュの生成(または転送やテーマの切替)が有効になります。

Theme

WordPressに2つ以上のテーマをインストールしている場合で、そのグループに含まれているユーザーエージェントからアクセスがあった時に、専用のプラグインなどがなくても別のテーマに切り替えることができます。

W3TC User Agent Group セクション テーマの切り替え
切り替えたいテーマをドロップダウンメニューから指定

テーマを切り替える必要がない場合や、テーマを切り替える専用のプラグインを別途使用している場合は、Pass-through を選択します

なお、下の Redirect users to で転送先を指定している場合は、このオプションの設定内容は無視されます。

Redirect users to

そのグループに含まれているユーザーエージェントからアクセスがあった時は、別ドメインに302リダイレクト(一時的な転送)をおこないます。使い道は良くわかりませんが、プラグイン内の説明によるとWebサイトのモバイルバージョンを提供する外部サービスを利用する際に指定するようです。したがってこの欄には何も入力しません

現在設定中のWebサイトのドメインを入力すると無限にリダイレクトが発生することになるので、使用する場合は必ず別ドメインを入力します。

User agents

このセクションの最も核となる部分で、アクセスしてきた端末を識別するためのユーザーエージェントを入力する欄です。1行に1つずつ入力しますが、正規表現を使うこともできます。

1つのユーザーエージェントは1つのグループにしか所属できないので複数のグループがある場合は重複しないように気をつけてください(グループの有効・無効を問いません)。

重複している場合は警告のメッセージが出てグループの変更を保存できないようになっていますが、私の経験では警告をスルーしたことがあり、管理画面にアクセスできなくなりました。

運悪くクラッシュしてしまった場合は、こちらの記事を参考にW3TCをクリーンアップするか、腕に自信のある方は FTPソフトを使って、w3tc-config フォルダ内の master.php の該当の箇所を修正するなどして対処してください。

当サイトの設定例

初期値のままグループを有効化して利用しても構いませんが、私の場合は mobile という名前のグループを一つだけ作り、WordPressの wp is mobile 関数に合わせたユーザーエージェントを設定しました。シンプルですがこれで充分な気がします。

W3TC User Agent Group セクション 当サイトの設定例

wp is mobile 関数が判定するユーザーエージェントは以下のとおり(執筆時現在)。

android
blackberry
kindle
mobile
opera mini
operamobi
silk/

ひとつのグループにする時は、ユーザーエージェントの重複によるトラブルを避けるために、先にデフォルトのグループを削除しておくことをお勧めします。

なお、各グループのデフォルトのユーザーエージェントは、この記事の執筆時現在で以下のようになっていますが、今後のバージョンアップで変更になるかもしれません。参考用として掲載しておきます(クリックして展開)。

tablets 用
a1-32ab0
a210
a211
b6000-h
b8000-h
bnrv200
bntv400
darwin
gt-n8005
gt-p3105
gt-p6810
gt-p7510
hmj37
hp-tablet
hp\sslate
hp\sslatebook
ht7s3
ideatab_a1107
ideataba2109a
ideos\ss7
imm76d
ipad
k00f
kfjwi
kfot
kftt
kindle
l-06c
lg-f200k
lg-f200l
lg-f200s
m470bsa
m470bse
maxwell
me173x
mediapad
midc497
msi\senjoy\s10\splus
mz601
mz616
nexus
nookcolor
pg09410
pg41200
pmp5570c
pmp5588c
pocketbook
qmv7a
sgp311
sgpt12
shv-e230k
shw-m305w
shw-m380w
sm-p605
smarttab
sonysgp321
sph-p500
surfpad
tab07-200
tab10-201
tab465euk
tab474
tablet
tegranote
tf700t
thinkpad
viewpad
voltaire
phones 用
(android|bb\d+|meego).+mobile
240x320
2.0\ mmp
\bppc\b
acer\ s100
alcatel
amoi
archos5
asus
au-mic
audiovox
avantgo
bada
benq
bird
blackberry
blazer
cdm
cellphone
cupcake
danger
ddipocket
docomo
docomo\ ht-03a
dopod
dream
elaine/3.0
ericsson
eudoraweb
fly
froyo
googlebot-mobile
haier
hiptop
hp.ipaq
htc
htc\ hero
htc\ magic
htc_dream
htc_magic
huawei
i-mobile
iemobile
iemobile/7
iemobile/7.0
iemobile/9
incognito
iphone
ipod
j-phone
kddi
konka
kwc
kyocera/wx310k
lenovo
lg
lg/u990
lg-gw620
lge\ vx
liquid\ build
maemo
midp
midp-2.0
mmef20
mmp
mobilephone
mot-mb200
mot-mb300
mot-v
motorola
msie\ 10.0
netfront
newgen
newt
nexus\ 7
nexus\ one
nintendo\ ds
nintendo\ wii
nitro
nokia
novarra
openweb
opera\ mini
opera\ mobi
opera.mobi
p160u
palm
panasonic
pantech
pdxgw
pg
philips
phone
playbook
playstation\ portable
portalmmm
proxinet
psp
qtek
s8000
sagem
samsung
samsung-s8000
sanyo
sch
sch-i800
sec
sendo
series60.*webkit
series60/5.0
sgh
sharp
sharp-tq-gx10
small
smartphone
softbank
sonyericsson
sonyericssone10
sonyericssonu20
sonyericssonx10
sph
symbian
symbian\ os
symbianos
t-mobile\ mytouch\ 3g
t-mobile\ opal
tattoo
toshiba
touch
treo
ts21i-10
up.browser
up.link
uts
vertu
vodafone
wap
webmate
webos
willcome
windows\ ce
windows.ce
winwap
xda
xoom
zte