先日、WP Super Cacheについての記事を書きましたが、その後も格闘しております。
まず、分かったこと:
WP Super Cache は「ON」モードと「HALF ON」モードがあり、「ON」モードの方が高速らしいです。
しかし、自分のサーバー環境では「ON」モードにするとうまく動作しません。
「ON」モードと「HALF ON」モードでは、cacheファイルが置かれる場所もファイルの名前も違いますが、なぜか、
・cacheを作るときは「ON」モードで
・作ったcacheを見に行くときは「HALF ON」モードで
というナゾな動きになっており、処理がかみ合っておらず、何回リクエストしても「cacheがないので新しく作るぜ」モードになってしまいます。
時間があれば原因も突き止めたいと思うのですが、もうあまりかかわりたくないので「HALF ON」モードのまま使ってます。
「ON」モードの方が高速って言ったって、「ON」モードで動くシーンはそんなにないだろう
ログとかソースとか追っかけてると、POSTリクエストはそもそもキャッシュされる対象にはなっていないし、GETリクエストも、パラメータ
を渡しているリクエスト(?key=valueみたいなリクエスト)は、「ON」モードではなく「HALF ON」モードで処理される仕様みたいです。
うちのサイトのWordPressは、各記事エントリは「?p=xxxx」みたいなURLになるので、必ず「HALF ON」モードになるってことです。
言いかえれば、「ON」モードで動くURLはindex表示(記事一覧表示)くらいしかありません。
なので、「ON」モードに無理にせず、「HALF ON」モードで使ってりゃいいんじゃない?ということになるわけです。
2回目ではなく、3回目のリクエストで初めてキャッシュが効くリクエストがある
XOOPSでXPressMEを使っているときに限った話ですが、WP Super CacheとXPressMEのプラグインが処理される順番の
関係により、2回目ではなくて3回目で初めてキャッシュが効くようです。
WordPressプラグインは、アルファベット順に処理されるようなので、WP Supeer Cacheの方がXPressMEより先に実行されるため、
上記のような現象が起こります。
Chromeではキャッシュが効かなかったが、いつのまにか直っていた
たぶん「ON」モードではなく「HALF ON」モードにしたから直ったのか…? 知らん間に直ってたから謎。
XPressMEの作者toemonさんとの昨日からのディスカッションの過程で、自分の理解の浅さに気がついて、今日焦ってそんなことを調べていたのでした。
そんでディスカッションも私の言ってることがおかしな方向に行ってるのでちょっとかみ合ってなかったり…
しかしこの人はすごいなぁ。XOOPSとWordPressの仕様を熟知しておられる。それでいて仕事が速い。そして指摘がするどい。
とりあえず、WPtouch用のハックをマージしていただいた件に続き、今回のWP Super Cahceプラグインの件も次期リリースに
取り込んでいただけるみたいでホッと一安心です。
かまって君みたいな粘着で、しかも的を得ない要求でもちゃんと受け入れてもらえてほんまありがたいですが…