PHPでとある携帯サイトを構築していたときのことです。
携帯ではCookieが使える端末と使えない端末があるので、SESSIONIDを持ちまわればセッションの維持はできます。そして、SESSIONを有効にするにはphp.ini内の【session.use_trans_sid】をONにすればリンクのURLに自動的にSIDを付与してくれます。
ここまでは、先日書いたとおりです。
しかし、これではSEO的には不利です。
検索エンジンのクローラがアクセスするたびにSIDは違いますから、いつまでも違うページとして認識されてしまいます。
ここで、一つPHPスクリプトの先頭に付け加えることで対応できます。
if (!mb_eregi (‘クローラ’, $_SERVER[‘HTTP_USER_AGENT’])){
session_start ();
}
こうすることで、クローラがアクセスしたときだけセッションが開始されないので、SIDがURLに付与されません。
ただ、クローキングに当たる行為ではと思うのですが、googleのガイドラインには問題ないようなことを書いています。
【代表的なクローラ】
※以下の情報は多少古いかもしれませんので、最新の情報については各々で調べて下さい。
・Yahoo! Slurp / Yahoo!
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
Mozilla/5.0 (compatible; Yahoo! DE Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
・Googlebot / Google
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
・msnbot / MSN
msnbot/1.0 (+http://search.msn.com/msnbot.htm)
msnbot-media/1.0 (+http://search.msn.com/msnbot.htm)