携帯向けのサイト作成にはrailsとjpmobileを使っています。
jpmobileは携帯サイト開発にはなくてはならないライブラリで便利に使わせてもらっています。
ただ、携帯でセッションを対応させるためにtrans_sidを有効にしてURLにセッションIDを付加させるやり方だと、googleのクローラーがこのセッションIDもそのままインデックスに登録していしまいます。
jpmobileの作りではau、softbank携帯からのアクセスの場合、セッションIDのURLへの付加は行わずPCからのアクセス同様にCookieでセッション管理をします。
docomoの場合はCookieに対応していないので上記のセッションIDをURLに付加します。
このdocomoの場合の処理がgoogleのクローラーに不都合なのです。
googleのクローラーは現状ではdocomoの携帯端末に成りすましてアクセスするためにURLに必ずセッションIDが付いてしまうわけです。
実現したかったことはgoogleのクローラーの場合、セッション管理はしないようにしたかったわけです。googleで色々検索したのですがなかなかうまい対処を発見することができなかったのでjpmobileのソースに手を入れてしまいました。本当はしたくなかったのですが・・・
内容は単純でdocomoの場合、Cookieに対応しているか返すメソッドsupports_cookie?が必ずfalseを返すようになっていたのでUser Agent にGooglebot-Mobileが含まれていたらtrueを返すようにしてしまいました。(docomo.rbのsupports_cookie?メソッドです)
とってもお気楽な対応をしてしまったのですがとりあえず動いているようです。
これじゃまずいよとか、もっといい方法があるよという方はお知らせいただければ助かります。
最近のコメント
3週 2日前
3週 2日前
7週 5日前
7週 6日前
16週 5日前