2006年10月28日 22:30 [Edit]

クローラにしかとシカトしてもらう50の方法

というわけで備忘録代わりに。

[を] Yahoo! Slurp に rel="nofollow" を無視された
Yahoo! Slurp に一斉にアクセスされてサーバのロードアベレージが激ヤバ。 とりあえず、CGIスクリプトのファイル名を変更して回避。

robots.txt

最も基本的なのがこれ。たつをくんがこれを知らないはずはないのだけど一応基本からということで。

http://www.dan.co.jp/robots.txt

ちなみに最後のワイルドカードを使った形式は正式の仕様には入っていないのだけど、googlebotなどはサポートしてくれているみたい。文法を検証してくれるサイトもあります。

欠点としては、そのサイトのDocumentRootに書き込む権限がないと使えないこと。あくまでも紳士協定なので行儀の悪いクローラーには無視されることです。

BrowserMatch/SetEnvIf

より強力かつDocumentRootにアクセスできなくても、.htaccessにさえ書き込めれば使えるのがこの手です。Apache 1.3以降でサポートしています。

例えば、

[を] Baiduよけ
中国の検索エンジン「百度」(Baidu)のクローラは元気が良すぎて困る。 今のところ利点はないのでクロールを拒否しておくことに。

は、以下のように簡単に設定できます。

# mod_setenvif
BrowserMatchNoCase "baiduspider" evilua
# mod_access
Order allow,deny                        
Allow from all
Deny from env=evilua

検証はLWP付属のlwp-requestコマンドを使って、以下のように行うことが出来ます。

% lwp-request -mHEAD -H 'User-Agent: baiduspider' http://www.dan.co.jp/~dankogai/uatest/
403 Forbidden
Connection: close
Date: Sat, 28 Oct 2006 13:19:43 GMT
Server: Apache/1.3.33 (Unix) mod_perl/1.29 DAV/1.0.3
Content-Type: text/html; charset=iso-8859-1
Client-Date: Sat, 28 Oct 2006 13:19:32 GMT
Client-Peer: 219.127.162.235:80
Client-Response-Num: 1

% lwp-request -mHEAD http://www.dan.co.jp/~dankogai/uatest/
200 OK
Connection: close
Date: Sat, 28 Oct 2006 13:19:54 GMT
Server: Apache/1.3.33 (Unix) mod_perl/1.29 DAV/1.0.3
Content-Type: text/html
Client-Date: Sat, 28 Oct 2006 13:19:43 GMT
Client-Peer: 219.127.162.235:80

今のところ、一番お薦めなのがこの方法です。もちろん、上で見た通り、User-Agent:ヘッダーはいくらでも偽装できますが、そこまで行くのはもはやクローラーというより明白な悪意があると見なすべきで、対処の方法も「やんわり断る」から「きっぱり断る」に変える必要があるでしょう。

アクセス先を見てシャットアウト

結局たつをくんが取った方法が

[を] Baiduよけ
order allow,deny allow from all deny from 60.28.17

だったわけですが、これは「きっぱり断る」方法なので、最後の武器としてとっておくべきでしょう。単なるロボット除けとしてこれを使うのは、鉈でひげ剃り感が否めません。もっとも、その一つ前の方法も「おまえはだめロボットだ」と言っているので、それほどやんわりでもないのですが。でもやはりUser-Agentを憎んでIPアドレスを憎まずにしておきたいものです。

とりあえず備忘録としてはこんなところか。

Dan the Man with too Many Web Sites to Administer

追記:

海馬日記
ッておい、三つしか無いぢゃないか。詐欺だ詐欺。

いつの魔に物言いがついたので、spoilerと知りつつちょこっと解説。

404 Blog Not Found:ソースを貼付ける50の方法
いえ、50もありません。Paul Simonの歌のもじりです、はい。ちなみに6曲目。いいんです。Paul Simonだって50も紹介してないんですから。

ということです。


この記事へのトラックバックURL

この記事へのトラックバック
404 Blog Not Found:クローラにしかとシカトしてもらう50の方法
404 Blog Not Found:クローラにしかとシカトしてもらう50の方法【】at 2012年01月19日 03:27