WordPressプラグイン「Blackhole for Bad Bots」で迷惑bot対策

シンプルかつ軽量なファイアウォール「BBQ(Block Bad Queries)」作者の迷惑bot対策プラグインでこちらも超軽量。対象となるのはrobots.txtを遵守せず大量にアクセスしてくるようなbotである。revsliderやfckeditorなどを探すようなbotには効かない。

BlackholeBBBlackhoke for Bad Bots

仕組みは簡単。
Blackholeを有効化すると、WordPress記事内にdisplay:noneで閲覧者には見えないリンクが作成される。これは極小サイズ(1ドットだそうな)で人間が踏むような事はまずない。
(しかも”Blackhole for Bad Bots”>Do NOT follow this link or you will be banned from the site!”と丁寧に書かれてる。)
そして、robots.txtにBlackholeを禁止する記述を追加すれば準備完了。

このプラグインの優れている点は、こちらが何も設定しなくてもよいところ。クローラーがrobots.txtに従わずにBlackholeのリンクを踏むと自動でそのIPを登録してアクセスを拒否してくれるため、user agentやIPを控えてブラックリストを作る必要なし。

短時間にとんでもない量のアクセスをするような行儀の悪いクローラーは勝手に罠にかかってブロックされる。Googleなど検索エンジンの類は最初からホワイトリストに入っているので心配なし。
(baiduもホワイトリストに入っているが、最近はおとなしいからまぁ……)

呆れるほどに単純かつ効果的であり、実際にログを見てブロックされている様を確認して感心する事しきり。後から大量のアクセスに気づいて慌ててブラックリストに追加…なんてありがちパターンから解放されるのだ。

唯一の懸念はdisplay:noneとnofollowを使っているところ。これらを使用するのはSEO的には良くない行為と一般に言われている。まあSEO界隈は怪しげな都市伝説紛いの情報が多すぎる。GoogleのMatt Cutts氏の発言に振り回されたり、その解釈で喧喧諤諤している様は不毛かつバカらしい。
Blackholeでの使いかたは問題がない範囲だとは思うが、使用される場合は自己責任でお願い。

Bingbot

bingbotはこちらのrobots.txtを遵守する気は全くないようだ。Disallowを無視するのでblackholeを踏みまくり、次の来訪時にそのblackholeのリンクにアクセスしようとして404を大量に発生させるわでいい迷惑。

クロールのペースも高く…というか1秒間に10ぐらい404エラーになったりとか抑えるつもりは全くないらしい。当然crawl-delayも効いている気配がない。GoogleのSearch ConsoleのBing版のようなページから頻度は設定できるようだが、ここまで印象が悪いとそんなページに登録したくもないのでやる気にもならない。

どうせBingからの来訪者は1%あるかどうかなのでホワイトリストからbing関連を削除する事にした。Googleの一強は好ましくないのでMSには頑張ってほしいのだが、こんな強引なやり方してたらbaiduのように嫌われるだけじゃないのか。


PAGE TOP