bingbotのクロール頻度が多すぎて重いので、robots.txtで調整した

サイトを運用していると、時たま謎のサーバー負荷に悩まされることがありますが、今回はBingのクローラーがやらかしてたという話です。

2013/1/16 追記:robots.txtでも調整できない場合の対策も盛り込みました。

ユーザーのアクセスが最も多いお昼時の時間帯でこれですよ。

157.55.35.85 - - [29/Oct/2012:14:07:25 +0900] "GET /***/ HTTP/1.1" 200 5503 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:25 +0900] "GET /***/ HTTP/1.1" 200 5503 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:26 +0900] "GET /***/ HTTP/1.1" 302 572 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:26 +0900] "GET /***/ HTTP/1.1" 302 572 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:27 +0900] "GET /***/ HTTP/1.1" 200 10168 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:27 +0900] "GET /***/ HTTP/1.1" 200 10168 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.36.52 - - [29/Oct/2012:14:07:28 +0900] "GET /***/ HTTP/1.1" 200 9638 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.36.52 - - [29/Oct/2012:14:07:28 +0900] "GET /***/ HTTP/1.1" 200 9638 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:28 +0900] "GET /***/ HTTP/1.1" 200 3924 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:28 +0900] "GET /***/ HTTP/1.1" 200 3924 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:29 +0900] "GET /***/ HTTP/1.1" 302 572 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:29 +0900] "GET /***/ HTTP/1.1" 302 572 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
msnbot-157-55-36-52.search.msn.com - - [29/Oct/2012:14:07:30 +0900] "GET /***/ HTTP/1.1" 200 4390 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:30 +0900] "GET /***/ HTTP/1.1" 403 411 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:30 +0900] "GET /***/ HTTP/1.1" 403 411 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:32 +0900] "GET /***/ HTTP/1.1" 200 4211 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:32 +0900] "GET /***/ HTTP/1.1" 200 4211 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:33 +0900] "GET /***/ HTTP/1.1" 200 4295 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
157.55.35.85 - - [29/Oct/2012:14:07:33 +0900] "GET /***/ HTTP/1.1" 200 4295 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
...

/***/ はダミーです。 実際のアクセス先はすべて異なるURLです。

1秒間に平均2回、多い時は4回以上ですよ。 静的なページであればともかくDBアクセスが必要なページにガンガンアクセスしてきます。

いやね、インデックスしてくれるのは嬉しいんですが、ちょっとやりすぎじゃないですかと。
この頻度はページ数が多く、更新頻度が高いページであればあるほどbingbotのクローラー攻撃の激しさが増します。

というわけで、ちょっと調整しますよ。

robots.txtで調整

今回は以下のようにrobots.txtに書き込んでみました。

User-agent: bingbot
Crawl-Delay: 5

これは「bingbotクローラーに対して5秒に1回の頻度でページにアクセスしてください」という意味です。

これで調整した結果、以下のように正確な秒間隔ではありませんが、クロールの頻度が10秒間隔くらいになっていることが確認できました。

msnbot-157-55-33-21.search.msn.com - - [05/Nov/2012:10:18:49 +0900] "GET /xxx/ HTTP/1.1" 200 7616 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
msnbot-157-55-33-112.search.msn.com - - [05/Nov/2012:10:19:02 +0900] "GET /xxx/ HTTP/1.1" 200 6979 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
msnbot-157-55-33-112.search.msn.com - - [05/Nov/2012:10:19:14 +0900] "GET /xxx/ HTTP/1.1" 200 7536 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
msnbot-157-55-33-112.search.msn.com - - [05/Nov/2012:10:19:22 +0900] "GET /xxx/ HTTP/1.1" 200 7501 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

もちろん、秒数をもっと長くすればかなり負荷を抑えられるんですけど、あんまり間隔を開けすぎるとbingbotクローラーがちょっとのページしかクロールせずに帰ってしまうというデメリットもあるわけです。

bingbotも他にまわるサイトが沢山あるわけですし、自分のサイトにそんなに時間をかけてくれるわけでもありません。

ですから、負荷のかからない範囲でなるべく短時間に多くまわってもらえる間隔を設定する、というのがベストだと思います。

ぜひ試してみてはいかがでしょう?

One More Thing: それでも止まないBingbot攻撃の場合…

robots.txtで調節したのに全然減ってくれない!とお嘆きのあなたには最後の手段。
Bingウェブマスターツールにアカウント登録して、クロール頻度を直接調整しちゃいましょう。

2013年に入ってから、GoogleBotの後を追うようにBingBotが来襲し、かつクロール数も多いのでrobots.txtが効いてくれない事態が起こっているようです。

Bingウェブマスターツール登録後に「ダッシュボード > 自分のサイトの設定 > クロール制御」を選択すると、サイトへbingbotがクロールしに来る頻度をブロックで調整できます。

bing-webmaster-clawl-modify.gif

各時間ごとの頻度もカスタムで調整できるので、どうにもできないとなった場合に利用してみてくださいませ。

5 件のコメント

  • IT・WEB訳わかりません より:

    はじめまして!
    bingbotのクロール回数があまりに多くウザイなと思っていたところ、色々検索していると貴殿のサイトにたどり着きました。

    そこで、教えていただいたクロール制御を実施して暫くほっておいたところ、何時の間にかに通常の訪問者のアクセス数が激減してしまいました。
    なぜ?と思い、調べてみると、それまでグーグルの検索で1位だったコンテンツが圏外にぶっ飛ばされていました(笑)

    原因は、このクロール制御しか考えられないと思うのですが、なぜなのでしょうか?
    (私はこのようなことにまったく無知なので、他には何もいじっていません)

    まったく詳しくない私にできることはないので、取り敢えずクロール制御を概定値に戻しました。
    これで暫く様子を見てみます。

    これって、検索結果にこれほどまで影響するのでしょうか?実際影響が出ているように思うのですが…  これ以外の難しい設定みたいなのは私には怖くてできないですし、取り敢えず私の場合は、概定値で様子を見るしかないですよね?

    • コメントありがとうございます!
      検索の順位の変動については、robots.txtの影響は無いと思います。
      おそらくですが、2017年からGoogleの検索アルゴリズム変更によって評価方法が変わり、大きく変動したものと思われます。
      「フレッドアップデート」あるいは「アウルアップデート」といったキーワードで検索してみてください。

  • IT・WEB訳わかりません より:

    返信・コメントありがとうございます。
    現在の状況ですが、一応順位はかなり回復しました。
    概定値に戻して半日くらいである程度もどり、数日してかなり回復。現在は5位くらいで元の順位よりは少し低いですが、その記事に関連した記事も6位に上がりました。

    この順位なら1ページ目なので、ほぼ問題はなさそうな気がします。
    この記事には画像も含まれていますが、よく1ページ目に(検索名による)「画像検索結果」というものが、出てくることも多いと思われますが、この画像検索結果には、私の記事にある画像が一番最初に提示されているので、その意味でもほとんど回復したようにも思います。

    ただ、このような事に疎い私には何が原因だったのか分かりません。
    教えていただいたグーグルのアップデートに抵触するようなサイトなのかもちょっと分からないです…

    ちなみに私のサイトは、アドセンスは一応入れてはいますが、広告等はそれのみです。
    一応純粋な?情報発信をしているサイトのつもり(笑)です!
    どちらかというとですが、ある分野に関する専門性のある?サイトです。
    自身がその分野で長い経験と国家資格を持ち、自分の専門の分野で技術的なことや、あるいは法規的なことを発信しています。

    たとえば、アフィリエイトサイトや、何か小手先のテクニック等に依存したSEO対策などを施したサイトでしたら、グーグルの何々アップデート等に引っかかることも十分あり得そうにも思いますが、私はそれらのSEO等の知識もないですし、専門分野の記事を純粋に少しずつ増やしてきました。
    一つひとつの記事のコンテンツも内容がペラペラの薄いものではなく、なるべく詳しく書き、自分の経験から導いた真似のない自分の言葉で多少のボリュームのある濃い?記事にしているつもりです。
    でも、まだまだ記事数自体は少ないので、もっと充実させてサイト全体をもっとボリュームのあるサイト、もっともっと皆のためになるサイトにしないと色々と引っかかってしまうのでしょうね!

    それと、まだまだサイト全体のボリュームが多くないうちにアドセンスなどは入れない方がいいのでしょうか?
    多くのサイトが入れているようなので、私も取りあえず入れてみたというだけなのですが…
    広告など別になくてもいいので、アドセンスがまずいのならば、外してみようとも思います。

    • 素晴らしいサイトを運営されているようですね!復活されて良かったです!
      Googleはオリジナルの価値ある記事(実体験や独自視点など)を高く評価しますが、その記事が多くの人に自然にリンクされたり(被リンク)、シェアされるかどうかも同じく大変重要視します。

      リンクやシェアされるポイントとしては、専門性のある情報でしたらグラフを表示させたり表を表示するなど、網羅性のある形で作成されると、引用元としてリンクされたり再訪問向けにブックマークされるなどして被リンクが増えやすくなり、さらに価値が高まります。

      アドセンスについては、運営元のGoogleといえども貼ることで高評価になることはあまりありません。逆に表示速度が低下しますので、思い切って外すのもありかと思います。

  • IT・WEB訳わかりません より:

    コメントありがとうございます!

    リンクやシェアされるポイントも大変参考になりました。
    アドセンスも思い切って外すことも視野に入れてみます。

    この度は、色々とアドバイス・コメントを頂き、本当にありがとうございました。

    山下様の今後の益々のご活躍をお祈り申し上げます。
    感謝!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2012-10-29