スパムクローラー・ボットを排除する

「robots.txt」を無視する悪質なクローラー・ボットを拒否します。
Apache のログには残るので、それなりの負荷は掛かるでしょうが…

以下は「.htaccess」の例です。
BrowserMatchNoCase は大文字小文字を区別しません。

BrowserMatchNoCase ahrefsbot bad_bot
BrowserMatchNoCase siclab bad_bot
BrowserMatchNoCase “\+Robot” bad_bot
BrowserMatchNoCase ethereal bad_bot
BrowserMatchNoCase “Sogou web spider” bad_bot
BrowserMatchNoCase R6_CommentReader bad_bot
BrowserMatchNoCase R6_FeedFetcher bad_bot
BrowserMatchNoCase SEOENGWorldBot bad_bot
BrowserMatchNoCase niki-bot bad_bot
BrowserMatchNoCase searchbot bad_bot
BrowserMatchNoCase ia_archiver bad_bot
BrowserMatchNoCase TencentTraveler bad_bot
BrowserMatchNoCase EasouSpider bad_bot
BrowserMatchNoCase ShortLinkTranslate bad_bot
BrowserMatchNoCase 360Spider bad_bot
BrowserMatchNoCase HeartRails bad_bot
BrowserMatchNoCase TencentTraveler bad_bot
BrowserMatchNoCase “Windows 95” bad_bot
BrowserMatchNoCase “Windows 98” bad_bot
BrowserMatchNoCase “Windows ME” bad_bot
BrowserMatchNoCase “Windows 2000” bad_bot
BrowserMatchNoCase yplus bad_bot
BrowserMatchNoCase “Deepnet Explorer” bad_bot
BrowserMatchNoCase Nutch bad_bot
BrowserMatchNoCase “MSIE 2” bad_bot
BrowserMatchNoCase “MSIE 3” bad_bot
BrowserMatchNoCase “MSIE 4” bad_bot
BrowserMatchNoCase “MSIE 5” bad_bot
BrowserMatchNoCase “MSIE 6” bad_bot
BrowserMatchNoCase TurnitinBot bad_bot
BrowserMatchNoCase “Mobile\/10A5355d” bad_bot
BrowserMatchNoCase Unknown bad_bot
BrowserMatchNoCase “^$” bad_bot
BrowserMatchNoCase ZmEu bad_bot
order deny,allow
deny from env=bad_bot

特に「ahrefsbot」「niki-bot」「360Spider」あたりは酷いです。

IE6以下のバージョンはスパムが多いので、この例では拒否しています。

User-Agent を設定してこない場合もありますね。
xxx.xxx.xxx.xxx – – [31/Mar/2014:13:19:51 +0900] “GET / HTTP/1.1” 200 25793 “-” “-“

その場合は「BrowserMatchNoCase “^$” bad_bot」とします。
xxx.xxx.xxx.xxx – – [02/Apr/2014:16:22:41 +0900] “GET / HTTP/1.1” 403 202 “-” “-“