コンテンツへスキップ
ネットワークセキュリティ

Googlebot を IP で検証し、偽の Googlebot を見抜く方法

Googlebot の検証方法:逆引き DNS と正引き DNS による確認、Google が公開する IP レンジ、そして本物の Googlebot と偽装されたものを並べた実際のルックアップ結果を解説します。

著者GeoIPHub チーム公開日読了時間17 分で読めます
同じ形をした 2 つのクローラー。一方は安定した光の輪をまとい、もう一方は輪郭がひび割れている。検証済みの Googlebot と偽物を並べて表現している

User-Agent は、なりすます側が自由に操作できる部分です。Search Engine Journal が公開した、ある新規サイトでの 14 日間のテストでは、Googlebot を名乗る 799 件のリクエストのうち、検証済みの Google アドレスから来たものは 107 件だけでした。小さなサイト 1 つでの結果なので、割合ではなく警告として受け止めてください。以下では、手動での確認方法、自動での確認方法、そして本物と偽物の Googlebot を並べた実際のルックアップ結果を紹介します。

ノードと名札の間を結ぶ光の閉じたループ。逆引き DNS と正引き DNS による確認を表している
逆引き DNS、次に正引き DNS。ループが閉じなければなりません。

Googlebot の User-Agent が何の証明にもならない理由

User-Agent 文字列はクライアントが自分自身について主張する内容であり、どのクライアントでも任意の文字列を送信できます。スクレイパーが Googlebot の User-Agent をコピーするのは、多くのサイトがそれを優遇しているからです。レート制限なし、ログインの壁なし、ボットチャレンジなし。だからこそ、この名前はまとう価値のある変装になります。

それを信じることのコストは両方向に生じます。偽の Googlebot を通してしまえば、スクレイパーはクローラー並みの速度でコンテンツを取得します(その様子は、アクセスログでスクレイピングボットを検出するガイドで紹介しています)。逆に本物を誤ってブロックすれば、ページが Google のインデックスから消えてしまいます。どちらに対しても対処は同じで、アドレスを検証することです。より広範なAI クローラーを IP で検証するガイドでは GPTBot、ClaudeBot、署名付きエージェントを扱い、OpenAI の主要ボットである GPTBot、OAI-SearchBot、ChatGPT-Userの比較ではそのうちどれをブロックすべきかを扱っています。本記事では Google のクローラーのみを扱います。

Googlebot を手動で検証する方法:逆引き DNS、次に正引き DNS

Google は 2 段階の DNS チェックを文書化しており、どちらのステップも重要です。以下は、2026 年 10 月 5 日に本物の Googlebot アドレスで実行した例です。

GeoIPHub API
# 1. Reverse lookup: which hostname does the IP claim? dig +short -x 66.249.66.1 # crawl-66-249-66-1.googlebot.com. # 2. Forward lookup: does that hostname point back to the same IP? dig +short crawl-66-249-66-1.googlebot.com # 66.249.66.1

ホスト名は googlebot.com で終わり、元の IP に解決されるので、このリクエストは Google から来たものです。よくある間違いはステップ 2 を省くことです。IP を管理する者はその逆引き DNS レコードも管理できるため、スクレイパーは自分のサーバーに crawl-fake.googlebot.com という名前を付けられます。しかし、Google の DNS にその名前を自分のサーバーへ向けさせることはできません。正引きルックアップこそが、このチェックを偽造不可能にしています。

調査対象のアドレスが 1 つなら、この方法で十分です。しかし、アクセスの多いログでは時間がかかります。新しい IP ごとに 2 回の DNS クエリが必要になり、DNS の失敗が誤った「偽物」判定につながるからです。

Googlebot の IP レンジ:3 種類のクローラー、3 種類のレンジファイル

Google のクローラーは 3 つのグループに分かれ、それぞれに独自のホスト名と公開 IP リストがあります。適切なファイルと IP を照合することが DNS チェックの自動化版であり、大規模な検証のほとんどはこの方法で行われています。

種類例逆引き DNS の形式レンジファイルrobots.txt に従うか
一般的なクローラーGooglebotcrawl-*.googlebot.com または geo-crawl-*.geo.googlebot.comcommon-crawlers.json自動クロールでは常に従う
特殊なクローラーAdsBotrate-limited-proxy-*.google.comspecial-crawlers.json従う場合と従わない場合がある
ユーザー トリガーのフェッチャーGoogle Site Verifier、ユーザーがリクエストしたフェッチ*.gae.googleusercontent.com または google-proxy-*.google.comuser-triggered-fetchers.json、user-triggered-fetchers-google.json、user-triggered-agents.json従わない(ユーザーがフェッチを要求したため)

古いスクリプトがつまずく点が 2 つあります。1 つ目は、ファイルが移動したことです。旧 googlebot.json の URL は現在 /static/crawling/ipranges/common-crawlers.json への 301 リダイレクトを返すため、リダイレクトを追わないコードは何も取得できず、しかもエラーになりません。2 つ目は、Google の検証ページに更新スケジュールが記載されていないことです。2026 年 10 月 29 日に取得したファイルの日付は前日でした。2026 年 10 月 5 日に取得したものは 2026 年 10 月 2 日に生成されており、317 のプレフィックス(うち 170 が IPv4)が記載されていました。ファイルはキャッシュして構いませんが、少なくとも 1 日 1 回は更新してください。

表の出典:Google のGoogle のクローラーとフェッチャーからのリクエストを確認するページ。

本物の Googlebot と偽物を並べて比較

違いを確かめる最も手早い方法は、両方のアドレスをルックアップすることです。2026 年 10 月 5 日に 2 件のルックアップを実行しました(レンジの変動に伴い結果は変わります)。1 件目は 66.249.66.1 で、Google 自身のドキュメントに載っている Googlebot のアドレスです。2 件目は 104.248.50.21 で、DigitalOcean のサーバーです。ログ上でこのアドレスが Googlebot の User-Agent を送ってきたと想像してください。

GeoIPHub API
[ { "ip": "66.249.66.1", "asn": { "asn": 15169, "org": "GOOGLE - Google LLC", "asn_type": "hosting", "user_type": "search_engine_spider" }, "detection": { "is_hosting": true, "is_vpn": false, "is_proxy": false, "is_tor": false }, "threat": { "is_crawler": true, "crawler": { "verified": true, "name": "Googlebot", "operator": "Google", "category": "search_engine", "verification_method": "ip_range_list" } }, "scoring": { "fraud_score": 0, "recommended_action": "allow", "detection_methods": ["datacenter_ip", "no_ptr_datacenter", "verified_crawler"] } }, { "ip": "104.248.50.21", "asn": { "asn": 14061, "org": "DIGITALOCEAN-ASN - DigitalOcean, LLC", "asn_type": "hosting", "user_type": "hosting" }, "detection": { "is_hosting": true, "is_vpn": false, "is_proxy": false, "is_tor": false }, "threat": { "is_crawler": false, "crawler": { "verified": false, "name": "none", "verification_method": "none" } }, "scoring": { "fraud_score": 15, "recommended_action": "allow", "detection_methods": ["datacenter_ip", "no_ptr_datacenter"] } } ]

1 件目のアドレスは Google のレンジリストに含まれているため、threat.crawler.verified は true となり、verification_method がその方法(ip_range_list)を示しています。verified_crawler シグナルによって、fraud_score は 0 に引き下げられています。2 件目は普通のクラウドサーバーです。どの種類のクローラーでもないため、ここから Googlebot の User-Agent を付けて届くリクエストは定義上、偽物です。

スコアが何をしないかに注目してください。偽物のスコアは 15 で allow です。クラウドサーバーであること自体は悪意を意味しないからです。「偽 Googlebot」という判定は、2 つの事実の組み合わせから生まれます。ログには Googlebot とあり、ルックアップは Google ではないと示している、という事実です。API が見るのは IP であってヘッダーではないため、この比較は自分で行う必要があります。

GeoIPHub API
const claimsGooglebot = /Googlebot/i.test(req.headers["user-agent"] ?? ""); const res = await fetch(`https://api.geoiphub.com/v1/lookup/${clientIp}`, { headers: { "x-api-key": process.env.GEOIPHUB_KEY }, }); const ip = await res.json(); const isRealGoogle = ip.threat.crawler.verified && ip.threat.crawler.operator === "Google"; if (claimsGooglebot && !isRealGoogle) { // Treat as an ordinary unverified bot: rate-limit or challenge it. }

どちらのアドレスも、無料のIP ルックアップツールで API キーなしに試せます。

偽の Googlebot への対処

チェックに失敗したリクエストは、攻撃ではなく「未検証のボット」として扱います。このリクエストは Google を装う誰かから来ており、それはクローラーとしての扱いを望んでいることを意味します。その扱いを取り除き、他の自動化クライアントと同じように処理してください。

  • クローラー向けの優遇をやめる。 検証に通らなかった Googlebot という名前に対して、レート制限、ペイウォール、ボットチャレンジの回避を認めないでください。
  • アドレス単位ではなくネットワーク単位でレート制限する。 スクレイパーは 1 つのプロバイダー内で IP をローテーションします。IPv6 の送信元では、IPv6 を /64 プレフィックス単位でレート制限するガイドのように、プレフィックスをキーにしてください。
  • 検証済みの Google アドレスを誤ってブロックしない。 どのブロックリストルールよりも先に検証を実行し、ホスティングや ASN の広範なブロックが本物の Googlebot を巻き込まないようにします。
  • 実際のクライアント IP を検証する。 接続元のアドレスを使い、転送ヘッダーは自社のプロキシや CDN が設定する場合にのみ使ってください。クライアントは X-Forwarded-For に何でも書き込めます。本物の Googlebot のアドレスでさえもです。
  • DNS エラー時はフェイルオープンにする。 逆引きルックアップがタイムアウトしても、それは偽物の証拠ではありません。レンジファイルにフォールバックするか、リクエストを通して後で確認してください。
  • 証拠を残す。 主張された User-Agent、IP、検証結果をログに記録し、「Googlebot」トラフィックのうちどれだけが本物かを測定できるようにします。

同じパターンは、自動化エージェントが有名なボットを名乗ることが増えているチェックアウトやサインアップにも当てはまります。チェックアウトでの AI ショッピングエージェント不正をブロックするガイドでは、検証済みまたは未検証のクローラーフラグを決済の判断にどう組み込むかを紹介しています。IP ルックアップで識別できるボットとできないボットの種類については、IP データからボットについて何がわかるかの概要をご覧ください。

IP による検証の限界

レンジ照合でわかるのは、そのアドレスが Google のクローラーのものであるということです。これに頼る前に知っておくべき限界があります。

  • Google のすべてのファイルを、それぞれ固有の名前で扱っています。 GeoIPHub は、上の表にある Google の 5 つのファイル(一般的なクローラー、特殊なクローラー、3 つのユーザー トリガーのファイル)を含む 19 の公式レンジフィードからクローラーを検証しています。2026 年 10 月 8 日、user-triggered-fetchers.json に含まれる 107.178.192.1 は verified: true を返しましたが、名前は Googlebot ではなく name: "GoogleUserTriggeredFetcher" でした。verified だけでなく threat.crawler.name も確認してください。
  • 短いタイムラグが生じることがあります。 Google はファイルの更新スケジュールを明示していません。私たちはファイルを毎日再取得し、ルックアップデータベースも毎日再構築しているため、新しい Google のプレフィックスが私たちのサービスで検証されるまでに最大で約 2 日かかることがあります。DNS チェックにはタイムラグがありません。
  • 私たちのレコードには、これらのアドレスの逆引き DNS が含まれていません。 そのため、dig は crawl-66-249-66-1.googlebot.com を返すにもかかわらず、上の本物の Googlebot には no_ptr_datacenter が表示されています。判定は信頼できる経路であるレンジリストに基づいていますが、メソッドのラベルは誤解を招きます。これはバグとして記録済みです。
  • 署名付きリクエストは導入されつつありますが、Googlebot はまだです。 Google は、エージェントがリクエストに暗号署名できる Web Bot Auth を、自社インフラ上の一部の AI エージェントでテストしています。すべてのリクエストに署名しているわけではなく、Google は上記の確立されたチェックにフォールバックするよう案内しています。署名の検証方法は、AI クローラー検証ガイドで解説しています。
  • 本物の Google アドレスが常に Googlebot とは限りません。 Google のネットワークである AS15169 は Google Public DNS(8.8.8.8)などのサービスも運んでおり、私たちのルックアップではこれをクローラーではなく単なるホスティングとしてスコアリングします。意味を持つのはクローラー用レンジファイルだけなので、AS15169 全体を許可リストに入れることは絶対に避けてください。

まずは自社のログから 1 つの数字を出してみてください。先週 Googlebot を名乗ったリクエストは何件あり、そのうち何件の IP が正引きで裏付けた DNS チェックに合格するか。その差が偽 Googlebot のトラフィックであり、たいていは想像以上に大きなものです。

よくある質問

Googlebot の IP アドレスは何ですか?

Googlebot に単一の IP アドレスはありません。Google が common-crawlers.json で公開している多数のプレフィックスからクロールしており、更新スケジュールは明示されていません。2026 年 10 月 5 日に取得したファイルには 317 のプレフィックスがあり、そのうち 170 が IPv4 でした。Google 自身のドキュメントで例として使われている 66.249.66.1 もその 1 つです。ハードコードしたリストではなく、常に最新のファイルでアドレスを確認してください。

リクエストが本当に Googlebot からのものか、どう検証すればよいですか?

User-Agent ではなく IP を確認します。IP に対して逆引き DNS ルックアップを実行し、ホスト名が googlebot.com、google.com、googleusercontent.com のいずれかで終わることを確認します。次にそのホスト名で正引きルックアップを実行し、同じ IP が返ることを確認します。大規模に行う場合は、Googlebot なら common-crawlers.json をはじめとする Google 公開のレンジファイルと IP を照合してください。

Google は Googlebot の IP レンジをどこで公開していますか?

Google の「Google のクローラーとフェッチャーからのリクエストを確認する」ページからリンクされた JSON ファイルで公開しています。Googlebot とその他の一般的なクローラーは common-crawlers.json にあります。旧 googlebot.json のアドレスは、現在このファイルへの 301 リダイレクトを返します。AdsBot などの特殊なクローラーやユーザー トリガーのフェッチャーには、それぞれ専用のファイルがあります。

Google の IP はすべて Googlebot の IP ですか?

いいえ。Google のネットワーク(AS15169)は、8.8.8.8 の Google Public DNS など、他の Google サービスも運んでいます。Google のクローラーと言えるのはクローラー用レンジファイルに含まれるアドレスだけなので、ASN 単位の許可リストは範囲が広すぎます。私たちのルックアップでは、66.249.66.1 は Googlebot として検証されましたが、同じ名前を名乗る DigitalOcean のサーバーは検証されませんでした。

Googlebot を名乗りながら検証に失敗したリクエストはブロックすべきですか?

Googlebot としてではなく、通常の未検証クライアントとして扱ってください。他のボットと同様にレート制限をかけるか、チャレンジを課します。本物の Googlebot に与えているクロール上の優遇は与えず、自社のルールが検証済みの Google アドレスを決してブロックしないことも確認してください。

執筆者

GeoIPHub チーム

GeoIPHub API を支えるチーム

GeoIPHub IP インテリジェンス API とそのスキャナーを開発している GeoIPHub チームが執筆しています。下書きは AI の支援を受けて作成し、チームが編集しています。API の例は、「説明用」と明記したものを除き、本番 API に対する実際のルックアップです。

この記事をシェア
その他の記事

関連 記事