Webサイトやブログを運営されている方の中には、Google Search Console(旧 Googleウェブマスターツール)を使われている方も多いかと思います。
その他にGoogle Analytics(Googleアナリティクス)などのアクセス解析ツールを併用されている方もいらっしゃるでしょう。
このブログ以外の運営サイトでGoogle Analyticsと他のアクセス解析ツールを使っているのですが、サイト公開からしばらく経って異変が起きている事に気付きました。
サイトへ訪れるユニークユーザー数に変化はあまり無いのに、サーバーへのページリクエスト数(リクエスト数やページ数と分かれているツールもあります)と転送量が急激に増加していたのです。
ちょうどGoogle Search Consoleでインデックス数が順調に伸び始めた頃と重なっていたので、その影響だろうと何も疑う事無く思い込んでいました。
しかし、Google Search Consoleでのインデックス数が落ち着きを見せ始めた頃から、再び急激なサーバーへのページリクエスト数と転送量の増加が始まったのです。
そんなにボリュームがあるサイトでは無いのに1日のページリクエスト数が34772回となり転送量が1GBを超える事態となって初めてサーバーの生ログを直接見てみる事にしました。
サーバーの生ログに記録されていた真犯人、それこそがBingbotだったのです。
1日のページリクエスト数が34772回だとイメージが掴みにくいと思いますが、1時間あたり約1449回、1分あたり24回のアクセスと表記するとイメージしやすいかと思います。
つまり約2~3秒に1回のペースでBingbotがサイトのどこかにアクセスしてきている計算になります。
共用レンタルサーバーで負荷をかける要因になりかねない事態を放置しておく事は他の同居者の方に迷惑をお掛けする事につながってしまうため、Bingbot対策をとる事にしました。
○対策1 – Bingウェブマスターツールを使う
Google Search Consoleに比べるとマイナーではありますが、BingにもBingウェブマスターツールが存在します。
登録を済ませサイトダッシュボードへ移動すると左側にメニューがあり、ダッシュボード下の「自分のサイトの設定 – クロール制御」とクリックしていきます。
ここで全ての時間帯においてクロールレートを一番遅い設定にしてから保存ボタンを押します。
○対策2 – robots.txtで制御を試みる
bing blogsで公式に書かれているこちらの記事「Crawl delay and the Bing crawler, MSNBot」を参考に、robots.txtへmsnbotをBingbotに置き換えて下記の記述を追加しました。
User-agent: BingBot
Crawl-delay: 10
※Crawl-delayの数字は秒数では無く、Extremely slowという指示を出すための数値のようです。
この対策を施してから約半年間の間は減少傾向にあったのですが、また昨年末からページリクエスト数と転送量の増加が始まり、原因はBingbotでした。
ただ単に不躾なbotなのか、スター・ウォーズ/フォースの覚醒の公開に合わせて覚醒しちゃっただけなのかは判りませんが、とりあえず現在も猛攻が続き頭を悩ませてくれています。
さくらのレンタルサーバーでWordPressを設置すると503エラー「503 Service Unavailable」「Service Temporarily Unavailable」が多発するとか連発するという記事を見かけますが、もしかしたらこういうbot襲来も影響しているのかも知れません。
自分が使っているのはさくらのレンタルサーバーでは無いのですが、エラーこそ出ない裏で負荷をかけていないか心配になる時があります。
思い切って拒否しちゃえば楽なのかも知れませんが、拒否せずに何とかBingbotのクロール制御ができる方法がないか探ってみたいと思います。