キャッシュタグの投稿

Ktai Style と WP Super Cache を併用する
以前、Ktai Style と WP-Cache の併用方法を紹介しましたが、WP Super Cache への対応も可能となりましたので、紹介いたします。
[追記: 2009-02-22] Ktai Style 1.70 から、WP Super Cache 0.6.8 以降を利用していれば .htaccess が自動で書き換わるようになりました。以下の手順は不要です。詳しくは Ktai Style の附属ドキュメント「WP-Cache および WP Suer Cache と併用する場合」を参照してください。
[追記: 2009-12-31] Ktai Style 1.81 から、WP Super Cache 配下の plugins ディレクトリーに入れる patch-supercache-ktaistyle.php ファイルを提供するようにしました。今後は WP Super Cache に同梱してもらう予定です。以下の手順は確認方法のみが有効なので、それ以外は del で消しました。
基本的には、WP Super Cache が生成する .htaccess で携帯電話のユーザーエージェントを除外させ、変数 $super_cache_enabled を false にすれば OK です。原理としては WP-Cache と同じなのですが、.htaccess にユーザーエージェントを書いてしまっているので、将来、対応する端末が増えたときは、ユーザーが手動で .htaccess を更新する必要があるのが注意点です。WP-Cache の方はメンテナンス不要なのですが……。
今回、wpcache.php を patch-wpcache.php に名称変更し、CVS からダウンロードしてもらうことにしました。設置方法は WP-Cache とほぼ同様です。
wp-cache-config-sample.php を複製して wp-cache-config.php を作り、46 行目 ($cache_rejected_user_agent を定義した直後) に以下のコードを書く。if (file_exists(ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php')) { include ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php'; }wp-cache-config.php を wp-config/ 直下に置き、WP Super Cache を有効にする。WP Super Cache で .htaccess の書き換えを行い、さらに手動で以下のコードを2か所ある RewriteRule の直前に挿入します。RewriteCond %{HTTP_USER_AGENT} !^(DoCoMo/|J-PHONE/|J-EMULATOR/|Vodafone/|MOT(EMULATOR)?-|SoftBank/|[VS]emulator/|KDDI-|UP\.Browser/|emobile/|Nokia) RewriteCond %{HTTP_USER_AGENT} !(DDIPOCKET;|WILLCOM;|Opera\ Mini|Windows\ CE;|PlayStation\ Portable;|Nitro)→※追記する内容は、Ktai Style 附属ドキュメント README.ja.html を参照してください。
- ログアウト状態、かつ、クッキーを削除した状態の PC で閲覧して、リロードしたとき、XHTML ソースの末尾に “super cache” の表示があることを確認する (WP Super Cache の動作確認)
- 携帯電話で同じページを閲覧して、携帯向け表示になっていることを確認する。PC 表示だったり文字化けしていたら失敗です。
- 再度 PC で同じページを見て、携帯向け表示になってないことを確認する (携帯ページがキャッシュされてないかの確認)。
携帯向け表示の確認は、Firefox で UserAgentSwitcher を使ってしまうと、ブラウザーのキャッシュに携帯向けページが残ってしまい、再度 PC で見たときの確認がうまくいきません。電話の実機で行うことをおすすめします。もしくは、PC 向け表示の確認には別のブラウザーを使ってみてください。
.htaccess で携帯電話のユーザーエージェントを検出すればいいことは分かっていたのですが、Super Cache の確認環境がうまく動作せず、確認していませんでした。今回、対応にチャレンジされた方がおられたため、重い腰を上げて環境を整え、対応させることにしました。ポイントとしては、.htaccess ではスペースをバックスラッシュでエスケープする必要があることでしょうか。これに気がつかないと HTTP 500 エラーになります。

Ktai Style と WP-Cache を併用する
ページ表示をキャッシュするプラグイン WP-Cache (日本語版) は、そのままKtai Style による携帯電話向け表示で問題があって併用できません (携帯電話に PC 向け表示が出たり、携帯向け表示になっても文字化けしたり)。それを回避するコードを開発しましたので、公開してみます。まだ試験段階なので、別途配布の状態です。現在、「旅行記」の方で実運用しています。→Ktai Style 1.35 で正式採用しました。
→
→Ktai Style 最新版に同梱している patch-wpcache.php を使ってください
- 圧縮ファイルを展開して、patch-wpcache.php をサーバーの wp-content/plugins/ktai_style/ ディレクトリーに入れます。(追記: wpcache.php から patch-wpcache.php にリネームしました)
- WP-Cache を入手し、展開します。wp-cache-config-sample.php を複製して wp-cache-config.php を作り、19行目 ($cache_rejected_user_agent を設定した直後) に以下のコードを書きます。
if (file_exists(ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php')) { include ABSPATH. 'wp-content/plugins/ktai_style/patch-wpcache.php'; } - WP-Cache をインストールします。wp-cache-config.php は wp-content/ 直下に入れます。
- WP-Cache を有効にします。携帯電話で見て文字化けしていないことを確認してください。
以前から WP-Cache との併用をどうすればいいか検討していましたが、できるだけ簡単に設定する方法として、以上のような手法となりました。けっきょく、携帯電話では一切キャッシュしないという方法になっています。Mobile Eye+ と WP-Cache を併用する場合は、携帯電話向けコンテンツも別途キャッシュしていますが、Ktai Style の場合は、機種ごとに絵文字やページ分割位置が異なるため、「キャッシュしない」という方法を取らざるを得ません。携帯電話向けには、オブジェクトキャッシュを行う方向で検討してみます。
[追記] 少し問題が発生しました。スマートフォン等で「PC表示にする」と切り替えたときは、キャッシュされず、また、キャッシュを使いません。PC 表示をするかどうかはクッキーを使っていますが、wpcache.php でそのクッキーを見るようにしてみます。→配布ファイルを差し替えました。
[追記 2008-05-23] WP Super Cache への対応も行いました。

上に戻る