クローラーが Googlebot などの Google クローラーであることを確認する

サーバーにアクセスしているウェブクローラーが、本当に Google クローラー(Googlebot など)かどうかを確認できる方法があります。この方法は、スパマーなどが Googlebot であると称してサイトにアクセスしていないかを確認したい場合に便利です。

Google のクローラーには次の 3 つのタイプがあります。

タイプ 説明 リバース DNS マスク IP 範囲
一般的なクローラー Google 製品で使用される一般的なクローラー(Googlebot など)。自動クロールでは常に robots.txt ルールに従います。 crawl-***-***-***-***.googlebot.com または geo-crawl-***-***-***-***.geo.googlebot.com googlebot.json
特殊なケース用のクローラー クロール対象のサイトと Google プロダクトの間でクロール プロセスに関する合意がある Google プロダクトに対して特定の機能を実行するクローラー(AdsBot など)。こうしたクローラーは robots.txt ルールに従う場合と従わない場合があります。 rate-limited-proxy-***-***-***-***.google.com special-crawlers.json
ユーザー トリガー フェッチャー エンドユーザーがフェッチをトリガーする、ツールおよびサービスの機能です。たとえば、Google サイト検証ツールはユーザーのリクエストに基づいて動作します。フェッチはユーザーによってリクエストされたものであるため、このようなフェッチャーでは robots.txt ルールは無視されます。
Google によって制御されるフェッチャーは、user-triggered-fetchers-google.json オブジェクト内の、google.com ホスト名に解決される IP から発信されます。user-triggered-fetchers.json オブジェクト内の IP は gae.googleusercontent.com ホスト名に解決されます。これらの IP は、たとえば、Google Cloud(GCP)上で実行されているサイトに、そのサイトのユーザーからのリクエストに応じて外部 RSS フィードをフェッチする必要がある機能が存在する場合に使用されます。
***-***-***-***.gae.googleusercontent.com または google-proxy-***-***-***-***.google.com user-triggered-fetchers.json および user-triggered-fetchers-google.json

Google のクローラーであることを確認するには、次の 2 つの方法があります。

  • 手動: 1 回限りのルックアップでは、コマンドライン ツールを使用します。ほとんどの場合、この方法で十分です。
  • 自動: 大規模なルックアップでは、自動ソリューションを使用して、公開されている Googlebot の IP アドレスのリストとクローラーの IP アドレスを照合します。

コマンドライン ツールを使用する

  1. ログにアクセスが記録されている IP アドレスについて、host コマンドを使用してリバース DNS ルックアップを実施します。
  2. ドメイン名が googlebot.comgoogle.comgoogleusercontent.com のいずれかであることを確認します。
  3. ステップ 1 で取得したドメイン名で host コマンドを使用して、取得したドメイン名について DNS フォワード ルックアップを実施します。
  4. これがログにアクセスが記録されていた元の IP アドレスと同じかどうかを確認します。

例 1:

host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1

例 2:

host 35.247.243.240
240.243.247.35.in-addr.arpa domain name pointer geo-crawl-35-247-243-240.geo.googlebot.com.

host geo-crawl-35-247-243-240.geo.googlebot.com
geo-crawl-35-247-243-240.geo.googlebot.com has address 35.247.243.240

例 3:

host 66.249.90.77
77.90.249.66.in-addr.arpa domain name pointer rate-limited-proxy-66-249-90-77.google.com.

host rate-limited-proxy-66-249-90-77.google.com
rate-limited-proxy-66-249-90-77.google.com has address 66.249.90.77

自動ソリューションを使用する

クローラーの IP アドレスを、以下の Google クローラーおよびフェッチャーの IP アドレス範囲のリストと照合し、IP アドレスで Googlebot を識別することもできます。

このリストにない IP アドレスを使用して Google がサイトにアクセスする場合があります(Apps Script など)。その場合は、アクセスに使用されている IP アドレスを通常の Google の IP アドレスのリストと照合してください。なお、JSON ファイル内の IP アドレスは CIDR 形式で表されます。