Webクローラーとは? | Webスパイダーの仕組み

Webクローラー(またはスパイダー)は、GoogleやBingなどの検索エンジンプロバイダーや、OpenAI、MetaなどのAIモデルプロバイダーなどが運用することが多いボットの一種です。検索用にWebサイトのインデックスを作成したり、AIモデルのトレーニングや運用を目的にしたコンテンツのスクレイピングなど、さまざまなタスクを実行します。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • Webクローラーボット(あるいはスパイダー)が何かを知る
  • Webクローラーがクロールするページを決める仕組みを理解する
  • 検索エンジンのWebクローリングとAIのWebクローリングの違いを説明する
  • Webクローリングを特定のWebページで許可すべきかどうかを知る

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

Cloudflareでクレデンシャルスタッフィングやコンテンツスクレイピングなどのボット攻撃を防御する

Webクローラーボットとは?

Webクローラー、スパイダー、検索エンジンボットなどは、インターネット全体からコンテンツにアクセスしたり、ダウンロード、インデックス付けなどを行うソフトウェアプログラムです。Webクローラーの運用者は、Web上の(ほぼ)すべてのWebページの内容を把握し、必要なときに情報を取得できるようにすることを目的としている場合があります。検索エンジンの運用者は、検索結果に関連ページを表示できるように、これらのボットを使用して情報を収集することがあります。クローリングとは、自動的にWebサイトにアクセスし、ソフトウェアプログラムによってデータを取得することを意味する技術用語であるため、ボットは「Webクローラー」と呼ばれます。

AI Webクローラーは、別種ではあるものの、関連性のあるクローラーボットの一種です。AI WebクローラーがWeb上のコンテンツにアクセスするのは、大規模言語モデル(LLM)の学習に役立つため、またはAIアシスタントがユーザーに情報を提供できるようにするためです。また、多くの検索プロバイダーがAIクローラーを運用しています。

検索エンジンのWebクローラー

Webクローラーで集めたデータに検索アルゴリズムを適用することで、検索エンジンは、ユーザーの検索クエリに応じた関連リンクを提供し、GoogleやBing(または別の検索エンジン)に検索語を入力した際に表示されるWebページのリストを生成します。

検索エンジンのWebクローラーボットは、図書館を訪れた人が必要とする情報を速く容易に見つけることができるように、図書館内のすべての無秩序な本を探し出し、カード式目録を組み立てる係に似ています。図書館の本をトピックによって分類しソートするのを支援するために、本のタイトル、要約、および内部テキストの一部を読み取ります。

情報を整理するWebクローラーボット

ただし、図書館とは異なり、インターネットは物理的な本の山で構成されていないため、必要な情報がすべて適切にインデックス付けされているか、それとも膨大な量が見落とされているのかを判断するのは困難です。インターネットが提供する関連情報をすべて見つけようとして、Webクローラーボットは特定の既知のWebページのセットから開始し、それらのページから他のページへのハイパーリンクをたどり、さらにそれらのページからその他のページへのハイパーリンクをたどる、というように続けます。

公開されているインターネットのうち、検索エンジンボットによって実際にクロールされているのがどのくらいなのかは不明です。一部の情報源は、検索用にインデックス付けされているのはインターネットの40〜70%程度であると推定しています。これでも数十億のWebページです。

AI Webクローラー

AI Webクローラーには主に次の3つの目的があります。

  1. LLMの学習データ:LLMは、モデルをさらに改良し、より有用で正確な応答をユーザーに提供するには、大量のコンテンツが必要です。新しいコンテンツは、LLMの継続的な改善に役立ちます。AIクローラーはWebサイトを調べて、新しいコンテンツを探します。見つけたコンテンツをコピーして保存し、学習に利用できるようにします。
  2. ユーザー向けの情報のライブ検索:AIアシスタントは、外部ソースからのコンテンツで生成した回答を補完することがあります。そのため、クローラーボットが見つけたWebコンテンツを応答に組み込む場合があります。
  3. コンテンツのインデックス化:検索エンジンと同じように、AIモデルもインターネット上のどこに有用なコンテンツがあるかを把握しておく必要があります。AIモデルがこの情報を持っていない場合、例えばユーザーからの質問に対してリアルタイムで情報を取得することができません。

人々は検索の答えをAIツールから得ることが増えており、現在ではAIによるクローリングの活動が検索エンジンのクローラーを上回るようになっています。しかし、残念ながら、人間がWebサイトを訪問することで収益を得ることが多いコンテンツ制作者にとって、従来の検索のようにAIツールがクロールすることでWebサイトの訪問者が増えることはほとんどありません。

検索インデックスとは?

検索インデックスは、図書館のカードカタログをインターネット用に作成するようなもので、これにより検索エンジンは、ユーザーがあるものを検索するときにインターネット上のどこから情報を取得するかがわかります。また、本の裏にある索引にも似ています。索引には、本の中で特定の題目やフレーズが言及されている場所がすべて記載されています。

インデックス作成の主な焦点は、ページに表示されるテキストと、ユーザーには表示されないそのページに関するメタデータ*に合わせます。ほとんどの検索エンジンは、ページのインデックス作成において、ページ上のすべての単語をインデックスに追加します。Googleの場合は「a」、「an」、「the」などは除外します。ユーザーがインデックスに記載された単語を検索すると、検索エンジンはインデックスを調べ、それらの単語が表示されるすべてのページのうち関連性の高いものを選択します。

*検索インデックスの文脈では、メタデータは検索エンジンにWebページの内容を伝えるデータです。多くの場合、検索エンジンの結果ページに表示されるのは、ユーザーが目にするWebページ本文ではなく、メタタイトルとメタディスクリプションです。

Webクローラーの仕組みは?

インターネットは常に変化し拡大しています。インターネット上にあるWebページの合計数を知ることはできないため、Webクローラーボットはシード、つまり既知のURLのリストから開始します。最初にそれらのURLのWebページをクロールします。Webページをクロールすると、他のURLへのハイパーリンクが見つかるため、それらを次にクロールするページのリストに追加します。

検索用にインデックス付けできるインターネット上の膨大な数のWebページを考えると、このプロセスはほぼ無期限に続く可能性があります。ただし、Webクローラーは、特定のポリシーに従い、クロールするページ、クロールする順序、およびコンテンツの更新を確認するために再度クロールする頻度についてより選択的に行動します。

各Webページの相対的な重要性:ほとんどのWebクローラーは、公開されているインターネット全体をクロールするわけではなく、またそうすることを意図していません。代わりに、そのページにリンクする他のページの数、ページが取得する訪問者の量、および重要な情報が含まれる可能性を示すその他の要因に基づいて、最初にクロールするページを決定します。

ここでは、他の多くのWebページによって引用され、多くの訪問者を集めるWebページは、質の高い信頼できる情報を含むと仮定されています。したがって検索エンジンはこうしたページにインデックスを付けることが重要です。ちょうど図書館が多くの人々が読んだ本を、多数用意するのと同じです。

Webページの再訪:Web上のコンテンツは、絶えず更新、削除、またはロケーション移動されています。Webクローラーは定期的にページにアクセスして、コンテンツの最新バージョンがインデックスに登録されていることを確認する必要があります。

Robots.txtの要件:Webクローラーは、robots.txtプロトコル(ロボット除外プロトコルとも呼ばれます)に基づいて、クロールするページも決定することもできます。Webクローラーは通常、Webページをクロールする前に、そのページのWebサーバーでホストされているrobots.txtファイルを確認します。robots.txtファイルは、ホストされたWebサイトやアプリケーションにアクセスするボットに対する規則を指定したテキストファイルです。これらのルールには、ボットに対する指示が記述されており、クロールを許可するページと、辿ることを許可するリンクがWebサイト運営者によって定義されています。たとえば、Cloudflare.comのrobots.txtファイルを見てみましょう

これらの要素は、検索エンジンがそれぞれのスパイダーボットで構築した独自アルゴリズム内に、違った方法で加味されます。最終目標は同じで、Webページからコンテンツをダウンロードしインデックスを付けることですが、異なる検索エンジンのWebクローラーはわずかに違った方法で動作します。すべてのWebクローラーがrobots.txtファイルに記載された指示に従うわけではありません。

Webクローラーが「スパイダー」と呼ばれる理由とは?

インターネット、特に多くの人が普段使っている部分は、World Wide Webとしても知られています。実際、ほとんどのWebサイトURLの「www」部分は、この略称に由来しています。検索エンジンボットは、本物のくも(スパイダー)がくもの巣(スパイダーウェブ)をはい回るようにWebのあらゆるところをはい回るため、自然と「スパイダー」と呼ばれるようになりました。

WebクローラーボットはWebプロパティへのアクセスが常に許可される必要はあるのか?

これはWebプロパティ次第であり、多くの要因によって異なります。Webクローラーはコンテンツにインデックスを付けるためにサーバーリソースを必要とします。WebサイトにアクセスするユーザーやWebサイトにアクセスする他のボットと同様に、サーバーが応答する必要があるリクエストを行います。各ページのコンテンツ量やサイト内のページ数によっては、検索インデックスを頻繁に許可しないことが、Webサイト運営者にとって得策となる場合があります。インデックスが過剰になると、サーバーに過度の負担がかかったり、帯域幅コストが増大したり、あるいはその両方が起こる可能性があるためです。

開発者や会社は、ユーザーがすでにページのリンクを持っていない限り、特定のWebページが検索で見つからないようにしたいと考えることがあります(そのページをペイウォールやログイン制限の背後に置くことなく)。そのような場合の企業の一例として、マーケティングキャンペーン用の専用ランディングページを作成するものの、キャンペーンの対象外の人にはそのページにアクセスさせたくない場合などがあります。そのようにアクセスを限定することで、メッセージを調整したり、ページの成果を正確に測定したりすることができます。こうした場合、企業はランディングページにインデックスを禁止する「noindex」タグを追加することで、そのページを検索エンジンの結果に表示させないようにできます。robots.txtファイルに「disallow」タグを追加することで、検索エンジンのスパイダーがそのページをクロールしないようにすることもできます。

また、Web管理者の中には、自身のコンテンツに関するLLMの学習に利用されることを望まない場合もあります。Webサイトのコンテンツには、独自のものや著作権で保護されている場合があります。場合によっては、学習データ用にWebコンテンツを収集することが、そのWebサイトのビジネスモデルを損なう可能性があります。たとえば、Webサイトが独自のコンテンツをホストし、広告枠の販売によって収益を上げている場合などです。このようなWebサイトでは、管理者は検索エンジンボットには無料でクロールできるようにしながら、AIクローラーボットの活動を制限したり、利用料を課したいと考えるでしょう。

Webサイトの所有者は、他のさまざまな理由でも、ウェブクローラーボットがサイトの一部またはすべてをクロールすることを望まない場合があります。たとえば、サイト内で検索する機能をユーザーに提供するWebサイトは、検索結果ページをブロックしたいかもしれません。ほとんどのユーザーにとっては役に立たないためです。1人のユーザーまたは少数の特定のユーザーにのみ役立つその他の自動生成ページもブロックする必要があります。

WebクローリングとWebスクレイピングの違いとは?

Webスクレイピング、データスクレイピング、またはコンテンツスクレイピングは、ボットが許可なくWebサイト上のコンテンツをダウンロードすることであり、多くの場合、そのコンテンツを悪用しようとする意図があります。

Webスクレイピングは通常、Webクロールよりもはるかに対象を絞っています。Webクローラーは特定のページまたは特定のWebサイトのみを追跡するのに対して、Webクローラーはリンクをたどり続け、ページをクロールし続けます。

さらに、WebスクレイパーボットはWebサーバーにかける負荷に配慮しません。一方、Webクローラー(特に主な検索エンジンのもの)はrobots.txtファイルに従う可能性が高く、Webサーバーに負荷をかけないようにリクエストを制限します。

WebクローラーはSEOにどのように影響するのか?

SEOとは検索エンジン最適化を意味し、Webサイトが検索エンジン結果でより上位に現れるように、検索インデックス付けに合わせてコンテンツを準備することです。

スパイダーボットがWebサイトをクロールしない場合、インデックス付けができず、検索結果に表示されません。このため、Webサイトの所有者が検索結果からオーガニック検索のトラフィックを取得したい場合には、Webクローラーボットをブロックしないことが非常に重要です。

しかし、SEOとWebトラフィックの関係は変化しました。AIチャットボットやAI生成結果の使用が増加すると、上位ページでさえもトラフィックが減少します。一方、AIクローラーボットは、従来の検索エンジンクローラーよりもはるかに高い頻度でWebコンテンツを要求します。WebクローラーにはWebサイトにメリットをもたらす面もありますが、Webトラフィックから収益を得ているWebサイトは、AIクローラーによって悪影響を受ける可能性があります。

検索Webクローラーの一覧

主な検索エンジンのボットは次のような名前がついています。

  • Google:Googlebot(実際にはデスクトップ検索のGooglebot Desktopとモバイル検索のGooglebot Mobileの2種類のクローラー)
  • Bing:Bingbot
  • DuckDuckGo:DuckDuckBot
  • Yahoo! Search:Slurp
  • Yandex:YandexBot
  • Baidu:Baiduspider
  • Exalead:ExaBot

また、他にも多くのWebクローラーボットがあり、その中には検索エンジンとは無関係なものもあります。

AIクローラーの一覧

以下は、LLMの学習データを収集する代表的なAIクローラーボットの一部です:

  • OpenAI:GPTBot
  • OpenAI:ChatGPT-User(ライブ検索用)
  • Meta: Meta-ExternalAgent
  • Google:GoogleOther
  • Huawei:PetalBot
  • Amazon:Amazonbot
  • ByteDance:Bytespider
  • Claude:Claudebot

Cloudflareの検証済みボットのリストをご覧ください。

ボット管理では、なぜWebクローラー対策が重要なのですか?

悪意のあるボットは、ユーザー体験の質の低下からサーバーのクラッシュ、さらにデータの盗難まで、多くの損害を引き起こす可能性があります。しかし、悪意のあるボットをブロックするにあたっては、検索エンジンのWebクローラーなどの正当なボットが依然としてWebプロパティにアクセスできるようにしておくことが重要です。Cloudflare Bot Managementは、正当なボットのWebサイトへのアクセスを維持しながら、悪意のあるボットトラフィックを軽減します。この製品は、Webクローラーなどの正当なボットのアローリストを自動更新して維持し、正当なボットがブロックされないようにしています。

Webサイトは検索エンジンのクローリングのメリットを受けることができますが、検索エンジンもAIツールも、多くの場合ユーザーからの質問に対してユーザーをWebサイトに誘導せずに直接答えを返します。これにより、ウェブサイトへの訪問者数が大幅に減少します。さらに、AIクローラーは、検索エンジンボットよりもかなり頻繁にクロールする傾向があり、その分Webサイトのコストが増加する可能性があります。コンテンツ制作者を保護するために、Cloudflareは、Webサイト所有者がAIクローラーを許可するか、完全にブロックするか、または「クロールごとに課金」という機能を使用してコンテンツへのアクセスに対して課金するかを選択できるようにしています。

よくある質問

Webクローラーとは?

Webクローラーはスパイダーとも呼ばれる自動化されたプログラムまたはボットで、主にGoogleやBingなどの検索エンジンがインターネット上のWebコンテンツを調査し、カタログ化するために使用されます。主な機能は、ほぼすべてのWebページのコンテンツを収集し、検索結果でその内容を提供できるようにすることです。

Webクローラーはどのように、訪問するページやインデックスを作成するページを決定するのか?

Webクローラーは、既知のWebサイトアドレスまたはURLの事前定義されたリストから巡回を開始します。まず最初のページを処理し、新しいハイパーリンクを見つけ、クロールする対象としてリストに追加します。インターネットは広大であるため、クローラーは他のページからの被リンク数や流れ込むトラフィック量などの要因を基にページの優先順位を付けます。多くの場合、これらの要因は、そのコンテンツに価値があることを示します。また、Webサイトの所有者が作成するrobots.txtファイルの指示に従い、クローラーのアクセスが許可されている範囲を確認しながら巡回します。

検索インデックスの目的は?

検索インデックスの目的は、インターネット版の総合的な図書館目録を作成するようなものです。この仕組みにより、ユーザーが検索を実行した際に、検索エンジンは関連情報を素早く見つけて表示することができます。インデックスの作成プロセスでは、主にページ上の可視テキストとそのメタデータに注目します。

AI Webクローラーの機能と目的は?

AI Webクローラーはボットの一種であり、主に2つの理由でWebコンテンツにアクセスします。一つ目は、大規模言語モデル(LLM)のトレーニングのために膨大な量のコンテンツを収集することで、モデルの応答生成の精度と有用性を向上させます。二つ目は、AIアシスタントがユーザーに提供する回答を補完するために、Webからライブ情報を取得するために使用されます。

Webサイトの所有者がWebクローラーのアクセスを制限する理由とその方法は?

Webサイトの所有者は、クローリングによる帯域幅の消費とサーバー応答のリソースを抑える目的でクローラーのアクセスを制限することがあります。また、特定のマーケティング用ランディングページなどのように、検索に表示したくない場合やアクセスを制御したい場合、正確なパフォーマンスを測定したい場合などの理由から制限をかける場合があります。さらに、広告収益を生む著作権や独自コンテンツを AI モデルの学習に利用されるのを防ぎたい管理者もいます。そのような場合、所有者はrobots.txtファイルに「noindex」タグを追加したり、「disallow」タグを使用してクローリングを完全にブロックすることで、そのページを検索結果に表示されないようにすることができます。

WebクローリングとWebスクレイピングの違いは?

Webクローリングは一般的に、検索エンジンのボットなどの正当なボットが実行して検索結果のコンテンツをインデックス化します。しかし、Webスクレイピングには、Webサイトのコンテンツを不正に収集する行為を伴う場合があります。これらのスクレイパーは、robots.txtのルールを無視したり、大量のリクエストでサーバーに負荷をかけたり、収集したオリジナルコンテンツを無断で利用したりすることがあります。Webスクレイパーを使用するAIおよび検索エンジン企業は、コンテンツをスクレイピングする許可を取得するとともにコンテンツ制作者に対してコンテンツの使用料を支払うべきであると考えます。

Webクローラーボットを管理することが検索エンジン最適化(SEO)にとって重要な理由は?

WebクローラーによるWebサイトへのアクセスがブロックされると、そのサイトがインデックス化されず、検索結果に表示されないため、効果的にボットを管理することはSEOにとって非常に重要です。オーガニックトラフィックを得たいWebサイトの所有者にとって、検索エンジンクローラーのような良性ボットがアクセスしてコンテンツをインデックス化できるようにすることは重要です。