クロールの急増、5xx応答の繰り返し、予期しないボット負荷が発生したときに使います。User-Agent文字列は本人の申告であり、身元の証明ではありません。
役立つログサンプルを作る
- タイムスタンプ、送信元IP、User-Agent、メソッド、パス、ステータス、レスポンスバイト数、リクエスト所要時間をエクスポートします。期間とタイムゾーンを固定します。
- 申告されたクローラー、ステータス、パスごとにグループ化します。リクエスト数とユニークIP数を別々に数え、生のリクエストから人や訪問者数を推測しません。
アクセスを変更する前に身元を検証する
- Googlebotについては、Googleが公開しているIP範囲または公式の逆引きDNS手順で送信元IPを検証します。User-Agentが一致するだけでは不十分です。
- 検証済みのリクエストをrobotsルール、クロール速度、サーバーエラーと照合します。正確に特定した不正なIP/パスのパターンだけをエスカレーションし、証拠とロールバック手段を残します。
例と期待される結果
- 例:ログ行に
GET /page 200 "Googlebot"とあります。実際のIPに対して逆引きDNSを行い、Google公式クローラーのホスト名であることを確認してから、正引きして元のIPが返ることを検証します。ステータス、URL、レスポンスコード、時刻を記録します。サンプルIPの203.0.113.24はドキュメント用です。 - 2つのDNS確認結果が一致しない場合は、そのリクエストを未検証として記録します。User-Agentだけで判断しないでください。この手順の対象はGoogleのみです。他のプロバイダーには、それぞれが公開している検証方法を使います。ログへのアクセスを制限し、IPデータは設定済みの保存期間だけ保持します。