Google クローラーとフェッチャーの概要(ユーザー エージェント)
Google はクローラーとフェッチャーを使用して、自動的にまたはユーザー リクエストに基づき、サービスのアクションを実行します。
「クローラー」(「ロボット」や「スパイダー」と呼ばれることもあります)は、ウェブページ間のリンクをたどることによってウェブサイトを自動的に検出し、スキャンするプログラムの総称です。Google 検索に使用される Google のメインのクローラーは、Googlebot と呼ばれます。
フェッチャーは、ブラウザと同様に、ユーザーからの指示に基づいて単一の URL をリクエストするツールです。
下記の表は、さまざまなプロダクトやサービスで使用されている Google のクローラーとフェッチャーおよび、リファラーログでの表示のされ方、robots.txt で指定する方法を示しています。このリストはすべてを網羅しているわけではなく、ログファイルに表示される一般的なリクエスタのみを記載しています。
-
ユーザー エージェント トークンは、サイトのクロールルールを作成するにあたってクローラーのタイプを指定するために使用します。具体的には robots.txt の
User-agent:
行に記述します。表に示すように、複数のトークンを持つクローラーもありますが、適用する各ルールで指定できるクローラー トークンは 1 つのみです。このリストはすべてを網羅しているわけではありませんが、お客様のウェブサイトを訪れる可能性があるほとんどのクローラーについて記載しています。 - 完全なユーザー エージェント文字列は、クローラーの詳細な説明であり、HTTP リクエストとウェブのログに表示されます。
一般的なクローラー
Google の一般的なクローラーは、Google の検索インデックスの作成、他のサービス固有のクロールの実施、分析に必要な情報を見つけるために使われます。クローラーは常に robots.txt ルールに従い、通常 googlebot.json オブジェクトで公開されている IP 範囲をクロールします。
一般的なクローラー | |||||
---|---|---|---|---|---|
スマートフォン用 Googlebot |
|
||||
パソコン用 Googlebot |
|
||||
画像用 Googlebot |
Google 画像検索と画像に依存するサービスの画像 URL のクロールに使用されます。
|
||||
ニュース用 Googlebot |
ニュース用 Googlebot は、Googlebot を使用してニュース記事をクロールします。ただし、以前のユーザー エージェント トークン
|
||||
動画用 Googlebot |
Google Video と動画に依存するサービスの動画 URL のクロールに使用されます。
|
||||
Google StoreBot |
Google StoreBot は、商品の詳細ページ、カートページ、購入手続きページなど、特定のタイプのページをクロールします(ただし、これらのページに限定されません)。
|
||||
Google-InspectionTool |
Google-InspectionTool は、Search Console のリッチリザルト テストや URL 検査などの検索テストツールで使用されるクローラーです。ユーザー エージェントとユーザー エージェント トークン以外は、Googlebot とよく似ています。
|
||||
GoogleOther |
GoogleOther は、一般公開されているコンテンツをサイトから取得するためにさまざまなプロダクト チームが使用できる汎用クローラーです。たとえば、内部の研究開発のために 1 回限りのクロールに使用されることがあります。
|
||||
GoogleOther-Image |
GoogleOther-Image は、GoogleOther の別バージョンで、一般公開されている画像 URL を取得するために最適化されています。
|
||||
GoogleOther-Video |
GoogleOther-Video は、GoogleOther の別バージョンで、一般公開されている動画 URL を取得するために最適化されています。
|
||||
Google-CloudVertexBot |
Google-CloudVertexBot は、Vertex AI エージェントを構築するときに、サイト所有者のリクエストに応じてサイトをクロールします。
|
||||
Google-Extended |
|
特殊なケース用のクローラー
特殊なケース用のクローラーは、クロールされるサイトとサービス間でクロール プロセスに関して合意がある、特定のサービスで使用されます。たとえば、AdsBot
は広告パブリッシャーの許可に基づき、グローバル robots.txt ユーザー エージェント(*
)を無視します。特殊なケース用のクローラーは robots.txt ルールを無視して、一般的なクローラーとは異なる IP 範囲でクロールを実施する場合があります。IP 範囲は special-crawlers.json オブジェクトで公開されています。
特殊なケース用のクローラー | |||||
---|---|---|---|---|---|
APIs-Google |
Google API がプッシュ通知メッセージの配信に使用します。robots.txt のグローバル ユーザー エージェント(
|
||||
モバイルウェブ用 AdsBot |
モバイル ウェブページの広告品質をチェックします。robots.txt のグローバル ユーザー エージェント(
|
||||
AdsBot |
パソコンのウェブページの広告品質をチェックします。robots.txt のグローバル ユーザー エージェント(
|
||||
AdSense |
AdSense クローラは、関連性の高い広告を配信するために、サイトにアクセスしてコンテンツを分析します。robots.txt のグローバル ユーザー エージェント(
|
||||
モバイル AdSense |
Mobile AdSense クローラは、関連性の高い広告を配信するために、サイトにアクセスしてコンテンツを分析します。robots.txt のグローバル ユーザー エージェント(
|
||||
Google-Safety |
Google-Safety ユーザー エージェントは、Google サービスで一般公開されたリンクに対するマルウェアの検出など、不正行為に固有のクロールを処理します。このユーザー エージェントは robots.txt ルールを無視します。
|
ユーザー トリガー フェッチャー
ユーザー トリガー フェッチャーは、ユーザーによってトリガーされ、サービス固有のフェッチ機能を実行します。たとえば、Google サイト検証ツールは、ユーザーのリクエストに基づき動作します。また、Google Cloud(GCP)でホストされているサイトには、サイトのユーザーが外部 RSS フィードを取得できる機能があります。フェッチはユーザーによってリクエストされたものであるため、通常このようなフェッチャーでは robots.txt ルールは無視されます。ユーザー トリガー フェッチャーが使用する IP 範囲は、user-triggered-fetchers.json オブジェクトと user-triggered-fetchers-google.json オブジェクトで公開されています。
ユーザー トリガー フェッチャー | |||||
---|---|---|---|---|---|
Feedfetcher |
Feedfetcher は、Google Podcasts、Google ニュース、PubSubHubbub の RSS フィードと Atom フィードのクロールに使用されます。
|
||||
Google パブリッシャー センター |
Google ニュースのランディング ページで使用するために、Google パブリッシャー センターを通じてパブリッシャーが明示的に提供したフィードを取得して処理します。
|
||||
Google Read Aloud |
Google Read Aloud は、ユーザー リクエストに基づいてウェブページを取得し、テキスト読み上げ(TTS)を使ってウェブページを読み上げます。
|
||||
Google サイト検証ツール |
Google サイト検証ツールは、ユーザー リクエストの Search Console 確認トークンに基づいてフェッチします。
|
ユーザー エージェントの Chrome/W.X.Y.Z に関する注意
表内でユーザー エージェント文字列に Chrome/W.X.Y.Z という文字列が表示されている場合、その W.X.Y.Z はプレースホルダであり、そのユーザー エージェントが使用する Chrome ブラウザのバージョンを表しています(例: 41.0.2272.96
)。このバージョン番号は徐々に数字が大きくなり、Googlebot が使用する最新の Chromium リリース バージョンに一致します。
このパターンのユーザー エージェントをログで探す場合、またはこのパターンのユーザー エージェントでサーバーをフィルタリングする場合、バージョン番号そのままを指定するのではなく、バージョン番号のワイルドカードを使用します。
robots.txt のユーザー エージェント
robots.txt ファイルの中で、複数のユーザー エージェントが見つかった場合は、最も限定的なものに従って Google のクロールが行われます。サイトのすべてのページをクロールの対象とする場合は、robots.txt ファイルを作成する必要はありません。一部のコンテンツに対して Google のクローラーによるアクセスをブロックまたは許可する場合は、Googlebot をユーザー エージェントとして指定します。たとえば、サイトのどのページも Google 検索に表示されるようにしたい場合や、AdSense 広告をサイトのページ上に表示したい場合は、robots.txt ファイルは必要ありません。また、一部のページに対して Google からのアクセスを一切ブロックしたい場合は、ユーザー エージェント Googlebot
をブロックすると、Google の他のユーザー エージェントもすべてブロックされます。
さらに細かくコントロールしたい場合は、より具体的に指定します。たとえば、サイトのページをすべて Google 検索に表示させても、/personal ディレクトリにある画像はクロールの対象外にしたい場合があります。その場合、robots.txt を使用して、ユーザー エージェント Googlebot-Image
による /personal ディレクトリ内のファイルのクロールを禁止するように指定します(一方で、Googlebot にはすべてのファイルのクロールを許可します)。次に例を示します。
User-agent: Googlebot Disallow: User-agent: Googlebot-Image Disallow: /personal
別の例として、サイトのすべてのページに広告を表示させても、ページを Google 検索には表示させたくない場合が考えられます。その場合は、次のように Googlebot をブロックし、ユーザー エージェント Mediapartners-Google
によるアクセスは許可します。
User-agent: Googlebot Disallow: / User-agent: Mediapartners-Google Disallow:
クロール速度の制御
Google のクローラーは、それぞれ特定の目的を持って、さまざまな頻度でサイトにアクセスします。Google は、アルゴリズムを使用して各サイトの最適なクロール頻度を決定します。Google のクローラーによるサイトのクロール頻度が多すぎる場合は、クロール頻度を減らすことができます。
廃止された Google クローラー
以下の Google クローラーは使用されなくなりました。あくまで参考のためにここに列挙しています。
廃止された Google クローラー | |||||
---|---|---|---|---|---|
ウェブ上の Duplex |
「ウェブ上の Duplex」サービスをサポートしていました。
|
||||
Web Light |
該当する条件下の検索でユーザーがページをクリックするたびに
|
||||
モバイルウェブ用 AdsBot |
iPhone のウェブページの広告品質をチェックします。robots.txt のグローバル ユーザー エージェント(
|
||||
モバイルアプリ Android |
Android アプリページの広告品質をチェックします。
|
||||
Google Favicon |
|