parudou
parudou
parudou
更新日:2019/01/17

<2019年最新>迷惑なbotをアクセス拒否・除外する設定方法まとめ(Nginx・Apache)

WEBサイトのアクセスはbotが占める率が高い。
2000記事ほどで1日1万ものbotのログが溜まります。
そのうち半分は検索エンジンですが、もう半分はSEO・マーケティング系のbot。
それらはアクセス拒否を強く検討すべきだろう。

Nginxでのbot除外方法

自分は次のコードをserverコンテキスト内に挿入して除外しています。
サイト個別のconfファイル(parudou3.confなど)に設定すると良い。


if ( $http_user_agent ~* (SemrushBot|AhrefsBot|Linguee|proximic|BLEXBot|GrapeshotCrawler|Mappy|MJ12bot|MegaIndex|bidswitchbot|SMTBot|ltx71|integralads|jet-bot|trendictionbot) ) {
return 403;
}

ユーザーエージェントに、指定の文字列が含まれる場合に「403」を返します。
もちろん、404でもいいし、444でもいい。
ただし、444の場合はバックエンドサーバーでは使わないように。
サーバーダウンと同じ状態とみなされ、フロントサーバーがエラーを返します。
「deny all;」はエラーログに出力されるので、自分はやりません。

上記コードは2019年1月時点での拒否したいbotを入れています。
上位のSEO・マーケティング系を拒否。
各国の検索エンジンは拒否していません。

変更後はもちろん、リロードを。

//CentOS7の場合
systemctl reload nginx

Apache(.htaccess)でのbot除外方法


SetEnvIf User-Agent "SemrushBot" jogai
SetEnvIf User-Agent "AhrefsBot" jogai
SetEnvIf User-Agent "Linguee" jogai
SetEnvIf User-Agent "proximic" jogai
SetEnvIf User-Agent "BLEXBot" jogai
SetEnvIf User-Agent "GrapeshotCrawler" jogai
SetEnvIf User-Agent "Mappy" jogai
SetEnvIf User-Agent "MJ12bot" jogai
SetEnvIf User-Agent "MegaIndex" jogai
SetEnvIf User-Agent "bidswitchbot" jogai
SetEnvIf User-Agent "SMTBot" jogai
SetEnvIf User-Agent "ltx71" jogai
SetEnvIf User-Agent "integralads" jogai
SetEnvIf User-Agent "jet-bot" jogai
SetEnvIf User-Agent "trendictionbot" jogai
order Allow,Deny
Allow from all
Deny from env=jogai

これを.htaccessに記載します。

直近7日間のbotのアクセス一覧

日にち 総数 bot bot率
11月23日 135091 5769 4.3%
11月24日 178391 5386 3.0%
11月25日 179972 8005 4.4%
11月26日 177381 4806 2.7%
11月27日 133293 5509 4.1%
11月28日 132291 6651 5.0%
11月29日 137769 7481 5.4%

サーバー分散しているので、実際にはこの倍あります。
pv数とは比例せず、記事数で比例すると思われる。

次に上記をアクセスが多い順に並べました。
途中から詳細説明放棄。

bot名 件数 種類 サイト名
googlebot 10007 検索エンジン Google
SemrushBot 9529 SEOサービス SEMrush
bingbot 8417 検索エンジン bing
Yandex 2707 検索エンジン Yandex
AhrefsBot 2025 SEOサービス ahrefs
Linguee Bot 1969 辞書・翻訳サービス linguee
proximic 1344 マーケティング系 comscore
BLEXBot 1297 SEOサービス WebMeUp
GrapeshotCrawler 1296 マーケティング系 grapeshot
Mappy 1272 マーケティング系 core.inc
MJ12bot 714 SEOサービス MAJESTIC
Superfeedr bot 684 RSSサービス Superfeedr
archive.org_bot 588 アーカイブサービス archive.org
Twitterbot 310 独自サービス
DuckDuckBot 259 検索エンジン DuckDuckGo
MegaIndex 169 SEOサービス MegaIndex
bidswitchbot 135 マーケティング系 BidSwitch
SMTBot 91 マーケティング系 SimilarTech
ltx71 61 目的不明
applebot 59 独自サービス
istellabot 55 検索エンジン istella
integralads 41 マーケティング系 Integral Ad Science
Mail.RU_Bot 35 検索エンジン Mail.RU
SeznamBot 34 検索エンジン Seznam
jet-bot 33 マーケティング系 Jetlink
trendictionbot 32 マーケティング系 Talkwalker
blogmuraBot 30 独自サービス ブログ村
NetSeer crawler 24
DuckDuckGo-Favicons-Bot 23
contxbot 23
ia_archiver 20
omgili 15
searchbot 14
Sogou web spider 12
coccocbot 10
Discordbot 8
AdsBot-Google 8
PubMatic Crawler Bot 6
Qwantify 6
FeedlyBot 5
Slackbot 5
Exabot 5
Nimbostratus-Bot 4
Uptimebot 4
SEOkicks 4
Slack-ImgProxy 4
Yahoo! Slurp 3
linkdexbot 2
Pinterestbot 2
CipaCrawler 2
AdsTxtCrawler 2
heritrix 2
Steeler 1
TweetmemeBot 1
YisouSpider 1
GetIntent Crawler 1
Centro Ads.txt Crawler 1
SurdotlyBot 1
IABTechLab Ads.txt Crawler 1
The Knowledge AI 1
Quantcastbot 1
総計 43415

「RSSサービス」や「ブログ村」は利用しているサイトだけ来ると思います。
この中に含まれないbotは、ユーザーエージェントを偽装しているはずです。
それはさすがに除外できない。

「Semrush」は2019年に日本でもサービス開始。
そのためにロボットが活発だったのですね。

bot除外時の注意点

そのサービスにおいて、自分のサイトが消える。

被リンクを調べるのに便利なSEOサービスでは、
自分のサイトが無かったことになります。
自分だけではなく相手にも伝わらない。

マーケティング系も広告出稿に影響が出る可能性があります。
自分のサイトをアピールできなくなってしまう。

そのため、サーバーに余裕があるのであれば拒否しない選択肢もある。
自分はそれらデメリットはどうでもいいと思っているので拒否しています。

考察など

VPSなど高性能なサーバーであれば除外してもしなくても良い。
さくらレンタルサーバーなど、低性能なサーバーでは必須だと思う。

pv数がまぁまぁあるサイトだとbot率は5%ほどですが、
全くないサイトだと90%はbotという可能性も十分ある。
さすがに馬鹿らしいので、そんな時は除外するのが良いだろう。

昔はbotと言えば検索エンジンだったのですが、
今はデータ収集を商売にしている企業が増え、増加の一方。
botの仕様も悪いので、時々とんでもないペースでアクセスしてきます。
定期的にbotを調査し、除外するようにしていきたい。

robots.txtでも拒否できますが、精度は低い。
ユーザーエージェントで拒否するのが一番だと思います。
そもそもrobots.txtですらアクセスしてほしくない。

なお、botはJSは無効なはずなので、アクセス解析にはほぼ反映されない。
調べるにはアクセスログの解析が必要です。
これがまたとんでもない行数。エクセルで処理しますが、corei7でもきつい。

こんな簡単な記事を作るのにも、数時間がかかりました。
この調査結果を信じて、除外することをおすすめします。

コメント

是非ご感想・ご指摘等をください。

プロフィール

管理人:parudou
単なるWEBサイト作成マニアです。
底辺法人アフィリエイター。
Twitterはこちら

日記はパルどうSEOブログ

閲覧履歴
履歴なし
カテゴリー
Copyright (c) parudou All Rights Reserved.