あるSNSのAPIを利用したWebサービスに対して、やたらとクローラーやbotが来るので、拒否してみました。
無駄なアクセスが多いとAPIの利用制限に抵触して Rate limit exceeded のようなエラーになるなどの問題があるので。
目立つのは以下のUserAgentのクローラーです。
'HTTP_USER_AGENT' => 'CriteoBot/0.1 (+https://www.criteo.com/criteo-crawler/)',
'HTTP_USER_AGENT' => 'Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)',
'HTTP_USER_AGENT' => 'Mozilla/5.0 (compatible; proximic; +https://www.comscore.com/Web-Crawler)',
USER_AGENT に clawler が入っているのでわかりやすいですね。
調べて拒否してみると、毎分のようにクローラーが来ていたことがわかりました。
こんなに拒否していいのかしら……。
ただ、サービスに影響するレベルでアクセスしているクローラーは主に上記のUserAgentのクローラーなのはわかっていました。もともとクロールの頻度が高めなんですよね。
アクセス拒否したら、巡り巡ってアクセス数が減ったり、広告が表示されなくなったり、何かしら悪影響があるのだろうか?とドキドキしていたのですが、……
拒否する前
拒否した後
↑3週間後、大きな変化がなく、問題なさそうです。
様子を見ていましたが、上の結果のとおり特に悪影響はなく、
クローラー、ボットのせいでAPIの利用制限にかかる回数が減り、
利用者へはサービス改善になったのではないかと思います。
Googleのクローラーは拒否すると悪影響が予想されるので
これは拒否しないで運用しています。
ターゲットが日本国内向けなのか全世界なのかによっても違うかもしれないです。私のサービスは国内向けです。
以上、マイナーなクローラーは拒否しても特に問題はなかったよ!でした。