nginxでGooglebotとBingbotの検証 シンプル版

Contents

前置き

nginxでGooglebotの検証という記事を書きましたが、すぐ後にGoogleがGooglebotの範囲を公開しました。BingbotについてもVerify Bingbotの下の方で公開していることに気付き(Googlebotと同時期に公開した模様)それに合わせてシンプルに簡易検証ができるようになったので更新します。

Bingbotの範囲について

Bingbotの範囲の方は2022-09-30現在IPv4だけなのでこのデータのまじめ具合をチェックするために全部の逆引きであるPTR RRを検索してみたところ一部NXDOMAINでした。それ以外は各IPv4アドレスをW.X.Y.Zとするとmsnbot-W-X-Y-Z.search.msn.com. というPTR RRで、それらの表引きも正しいA RRを返しました。これらのNXDOMAINをAzureの範囲と突き合わせると、ぎりぎり重なっていない場所でした。なんらかの予約域でしょうか。気になる場合はこれらの基準から外れた範囲を自動的に取り除く手順をかませるのも良いかと思います。

余談ですがさらにこれらのNXDOMAINの範囲の表引きを検索すると、3つの範囲のうち2つの範囲のmsnbot-W-X-Y-Z.search.msn.com.はW.X.Y.ZのA RRを返しました。

GooglebotとBingbotの範囲を整形

定期的(1日1回程度)にGooglebotの範囲Bingbotの範囲をダウンロードしてから以下のような感じでJSONを整形してマップを作成します。恐ろしいことにBingbotの方は e2 80 8b (U+200B) のZERO WIDTH SPACEがリテラル内に入ってるのでlocate対応気にせずtrでサクッと取り除きます。

nginxを設定

あとはGoogleのUser AgentBingbotのUser Agent(および変更)と組み合わせて以下のようなnginx用の設定を追加します。

シンプルになりました。少しアレンジしてクローラーの範囲内のUser Agentのチェックをもっと厳密にしたり、クローラーの範囲内でUser Agentがクローラでない場合などをお好みで変えていくのも良いかと思います。

コメントを残す

メールアドレスが公開されることはありません。