2021年9月10日

robots.txt で botの来襲を防ぐ Semrush Ahrefs MJ12 BLEX

タイトルで言っちゃってますが、robots.txt に下記のように記述します

robots.txt の記述方法

robots.txt

User-agent: SemrushBot
Disallow: /
User-agent: AhrefsBot
Disallow: /
User-agent: MJ12bot
Disallow: /
User-agent: BLEXBot
Disallow: /

後は botが読み込んで来なくなるのを待つだけ

各botの説明サイトと実際のサービスサイトを張っておきます
Semrush は無料では使えないので Disallow: / でよいと思います
Ahrefs は無料で多少使えますが、詳しく見ようと思うと有料
majestic MJ12bot は無料でさわりを見ることができ、詳しく見ようと思うと有料
webmup BLEXbot は無料でさわりを見ることができ、詳しく見ようと思うと有料

・SemrushBot https://ja.semrush.com/bot/ https://ja.semrush.com/
・AhrefsBot https://ahrefs.com/ja/robot https://ahrefs.com/ja/
・MJ12bot https://mj12bot.com/ https://majestic.com/
・BLEXbot http://webmeup-crawler.com/ https://webmeup.com/

もっとアグレッシブに防御したい場合は下記

Apache .htaccessの記述例

.htaccess で 403 forbiddenを返し、robots.txtだけ表示する場合

apache 2.2系

SetEnvIf User-Agent "SemrushBot" bot
SetEnvIf User-Agent "AhrefsBot" bot
SetEnvIf User-Agent "MJ12bot" bot
SetEnvIf User-Agent "BLEXBot" bot

order Allow,Deny
Allow from all
Deny from env=bot
<Files robots.txt>
Allow from all
</Files>

apache 2.4系

SetEnvIf User-Agent "SemrushBot" bot
SetEnvIf User-Agent "AhrefsBot" bot
SetEnvIf User-Agent "MJ12bot" bot
SetEnvIf User-Agent "BLEXBot" bot

<RequireAll>
Require all Granted
Require not env deny_bot
</RequireAll>
<Files robots.txt>
Require all Granted
</Files>

設置したら、実はアクセスの大半がbotでサーバが軽くなったとかあるかも!?

実際あったんですよね
しょぼいシステムだったからか、DBに負荷がかかり、調べたらbotでした


参考:

迷惑クローラーの排除・拒否方法についての解説&よくある勘違い(初心者向け)
https://qiita.com/fallout/items/ef33549e2d6b4e799874

スポンサーリンク



  • follow us in feedly