有害なボットからサイトを守る方法

有害なボットとは何か?有害なボットの見分け方とから有害なボットからサイトを守る方法をまとめました。

有害なボットとは何か?

ボットとは、一般的に「自動化されたタスクを実行するアプリケーションソフトウェア」で、Webサイトに関連するところでは、ページ情報を解析する「クローラー」が馴染み深いところです。

クローラーも含めて、自サイトにアクセスしてくるボットは基本的にはサイトにとって有益なことはありません。除外されるのが、

  • Googleクローラーボット
  • Bingクローラーボット
  • Appleクローラーボット
  • Facebookクローラーボット
  • Twitterクローラーボット

などの大手IT企業のボットです。

これらはサイトの情報を勝手取得して解析しますが、解析した情報をコピーするなどの悪用はしませんし、自社のサイトから自サイトへのアクセス導線を引くために使うので、うまく利用すればサイトにとって有益になります。

一方で、

  • 価格収集ツール
  • コピーツール
  • リンク収集ツール

などのボットは、彼らの利益(収集した情報で顧客から料金を取っている)になるだけで、サイト運営者に取っては1円も得になりません。

こうした「手前都合なボット」は有害なボットと言えます。

有害なボットが与える被害

有害なボットが与える被害は、

  • データの不正利用(コピー)
  • サーバーへの過負荷

などです。

コピーするのは論外ですが、意外と見落としがちなのがサーバーへの過負荷。ページ数が多いサイトだと、例え有害でないと思えるボットでも有害になり得ます。サーバー負荷が増えると、上位プランへのプラン変更が必要となり、サーバーコストが増大します。

例えば、マイクロソフトのBingボットは、なりふり構わず短期間でリンクを辿るので、サーバーにかなり負荷をかけます。しかも、検索エンジン市場におけるBingのシェアは数%しかなく、かつてはAppleのSiriに使われていたのでメリットがありましたが、現在はApple独自のボットがクローリングしているので、ほぼメリットがありません。

一方で、GoogleのGoogleボットはサイトの速度などを計算して、過負荷にならないようにクロールする頻度を調整(いわゆるクローラーバジェット)するので、Googleボットのせいでサーバーが過負荷になるというケースは稀です。

有害なボットを除外する方法

IPブロック

ボットがインターネットを経由してアクセスしてくる以上、アクセスIPがわかります。このIPアドレスをブロックしてしまえば、確実にボットからサイトを守れます。

IPブロックは、

  • DNSサービス
  • サーバーファイアウォール
  • Webサーバー(Apache、Nginxなど)

の3段階で設定可能です。

サーバーへの負荷をかけないなら、DNSサービスでブロックするのが良いでしょう。

User Agentブロック

良心のあるボットであれば、User Agentにボット名を入れています。Googleなら「Goolgebot」、Bingなら「Bingbot」といった形です。

User Agentブロックは、

  • DNSサービス
  • Webサーバー(Apache、Nginxなど)

でブロック可能です。

robots.txtでDenyする方法もありますが、robots.txtは「あくまで宣言するだけで従うかはボット次第」なので、こちらから物理的にブロックした方が確実です。

また、User Agentを偽装するボットもいます。その場合は、CloudflareなどのDNSサービスが提供している「偽装ブロック」を使うと良いでしょう。


有害なボットからサイトを守る方法をみてきました。

有害なボットとは「サイトに取って利益でないボット」です。一般的に有益だと思われているボットでも、見方によっては有害になります。

有害なボットはうまく除外して、サイトのセキュリティを高めましょう。