BaiduspiderというBaidu(百度)のクローラーだけど、GooglebotやYSTのクローラーとrobots.txtの解釈が少し違うようだ。
以下は実際の設定を少し書き換えて表現した架空のものだが、
/entery_20080618_hogehoge.html
/entery_20080621_hagehage.html
/entery_20080621_foobar.html
といったURLをクロールして欲しくなくて以下のような設定を行った。
-
User-agent: *
-
Disallow: /entry_
この場合、GooglebotやYahoo! Slurpは、/entry_ で始まる全てのURLをクロールしないが、Baiduだけは構わずしてくる。おそらくGooglebotやYSTは前方一致、baiduspiderは完全一致で判断していて、この設定でBaiduspiderがクロールしないのは /entry_ で終わるURL一つ (/entery_$と同じ?) だけなのだろう。
Googleのウェブマスターツールにある運用ツールでrobots.txtの挙動テストを行った限りでは、この設定で問題はなかった。
robots.txtの解釈はそれぞれの検索エンジン次第だろうから、GooglebotやYSTで思惑通りに機能するからといってBaiduに同じ挙動を望むのはこちらの身勝手だろうと思われる。
そんなわけで、とりあえずワイルドカードにしてみた。
-
User-agent: *
-
Disallow: /entry_*
1週間後に再度チェックしてみる。これで駄目だとURLを全部羅列しないといけないわけで、その場合、こうなります。
-
user-agent: baiduspider
-
disallow: /
ヘルプセンター - 検索全般について(利用環境について) (百度)
を読んでもワイルドカードが使えるとはどこにも書いてないなぁ。
#追記 (2008/7/12 12:45)
ワイルドカード、使えてるようです。クロールされなくなりました。