wp-cacheとiPhone向けプラグインの共存

キバンインターナショナルでは、Wordpressの高速化させるために、wp-cacheというプラグインを使っています。このプラグインは、一度生成したHTMLをファイルシステムにキャッシュすることで、2件目以降のアクセスを圧倒的に高速化できるのですが、そのままでは、iPhone用のプラグイン(WPtouch iPhone Theme)と共存できません。

iPhone用のプラグインをインストールすると、PCで閲覧した場合と、iPhoneから閲覧した場合で異なるHTMLが出力されるようになります。しかし、wp-cacheは、iPhone用のプラグインと組み合わせて使うことが想定されていないため、最初に出力したHTMLを記憶してしまいます。そのため、最初にiPhoneでアクセスしてしまうと、パソコンで見てもiPhone用のデザインで、最初にパソコンで見るとiPhone用のデザインで表示されてしまいます。

この問題を解決するために、iPhoneから閲覧した場合はキャッシュを無効化するように、wp-cacheを書き換えました。

wp-cache/wpcache-phase1.php 13行目付近を以下のように変更しました
変更前

if (!$cache_enabled || $_SERVER[“REQUEST_METHOD”] == ‘POST’)
return;

変更後

if (!$cache_enabled || $_SERVER[“REQUEST_METHOD”] == ‘POST’ || strpos($_SERVER[‘HTTP_USER_AGENT’],’iPhone’) !== false)
return;

ifの条件部分に、エージェント判定を追加しました。ユーザエージェントにiPhoneが含まれている場合は、キャッシュのプラグインの処理を行いません。iPhoneでアクセスした時のレスポンスは若干低下しますが、パソコンと比べてネットワーク接続もハードも非力なので、問題なく運用できています。

Facebookページもよろしくお願いします

CATEGORIES WordPressby.a.takeuchi2 Comments2010.02.02
記事の投稿者
a.takeuchi a

Facebook comments:

コメントをどうぞ

Eメールアドレスは公開されません。

Trackback URL

管理者の承認後に表示します。無関係な内容や、リンクだけで意見や感想のないものは承認しません。

  • 製品・サービス
    PC、iPhone対応のeラーニングシステム。20名まで無料でASPサービスを利用できます
    PC、iPhone対応のeラーニング学習管理システム(LMS)【SmartBrain】
    http://smartbrain.info/
    PC、iPhone対応のeラーニングシステム。ユーザ数無制限のASPコースをご用意。


    eラーニングポータルサイト【elearning.co.jp】
    http://elearning.co.jp/
    eラーニング専門企業(株)キバンインターナショナルの製品を紹介しています。


    コンテンツビジネス支援パック
    http://contentsbank.jp/

    Ustream配信、動画コンテンツ制作、セミナーにご利用いただけるレンタルスタジオ
    Ustreamレンタルスタジオ「パンダスタジオ」
    http://pandastudio.tv/

    eラーニング専門企業(株)キバンインターナショナルのスタッフが、eラーニングに関する情報・最新事情をBlogでご紹介。月50本程度の情報発信を行っています。
    ブログ「blog.eラーニング.co.jp」
    http://blog.elearning.co.jp/

  • アーカイブ
  • カテゴリー
  • Amazon
  • タグ