W3 Total Cacheで「クエリ文字列変数を使ってURIでキャッシュを実行」を有効にできない場合の対処【WordPress】
結構なペラ記事ですが、WordPress のキャッシュ用プラグイン「W3 Total Cache」で、設定の「ページキャッシュ」→「クエリ文字列変数を使って URI でキャッシュを実行」のチェックボックスが押せない場合の対処方法について書いておきます。
「ページキャッシュ方法」の設定変更が必要
「W3 Total Cache」で、設定の「ページキャッシュ」→「クエリ文字列変数を使って URI でキャッシュを実行」 のチェックボックスが押せない場合は、
- 設定の「一般設定」→「ページキャッシュ」
を「ディスク:拡張」以外の値に設定する必要があります。
クエリストリング付きURLのキャッシュでパフォーマンス低下?
ちゃんと検証していないので適当な事を書くのですが、「ディスク:拡張」では、恐らくは WEB サーバーの Rewrite 設定を使ってページキャッシュを実現していると思われるため、今回の設定に変更すると、サイトが処理できる1秒あたりのリクエスト数が結構な勢いで落ちそうな予感はします。(よく知らないけど「ディスク:ベーシック」は php を通している気がする)
いずれにせよ、AMP ページのキャッシュなどを目的に Query String 付き URL を別ページとしてキャッシュしたい場合は、ページキャッシュの「ディスク:拡張」は使えない、という形ですので、このあたりは認識されておいたほうが。
なお、言うまでもなく、「クエリ文字列変数を使って URI でキャッシュを実行」を有効にすると、WordPress のサイト内検索などの結果も個別にキャッシュされてしまいます。
この辺り、単純な情報配信目的のサイトなら問題になることは少ないかもしれませんが、トランザクション系のサイトさんはお気を付けください。
また、この設定を有効にすると、クエリストリング付きの URL 毎にページがキャッシュされるようになるため、ディスクの空き容量も多少は気にする必要があるでしょう。