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

Webクローラー(またはWebスパイダー)は、一般的にGoogleやBingのような検索エンジンによって運用されるボットの一種です。これらの目的は、インターネット全体のあらゆるWebサイトのコンテンツにインデックスを付け、Webサイトが検索エンジンの結果に表示されるようにすることです。

学習目的

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

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

関連コンテンツ


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

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

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

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

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

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クローラーには主に次の2つの目的があります。

  1. LLMの学習データ:LLMは、モデルをさらに改良し、より有用で正確な応答をユーザーに提供するには、大量のコンテンツが必要です。新しいコンテンツは、LLMの継続的な改善に役立ちます。AIクローラーはWebサイトを調べて、新しいコンテンツを探します。見つけたコンテンツをコピーして保存し、学習に利用できるようにします。
  2. ユーザー向けの情報のライブ検索: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サーバーでホストされているrobots.txtファイルを確認します。robots.txtファイルは、ホストされたWebサイトやアプリケーションにアクセスするボットに対する規則を指定したテキストファイルです。これらの規則は、ボットがどのページから情報を収集し、どのリンクをたどれるかを定義します。たとえば、Cloudflare.comのrobots.txtファイルを見てみましょう

これらのすべての要因は、各検索エンジンがスパイダーボットに組み込む独自のアルゴリズム内で様々な方法で評価されます。さまざまな検索エンジンのWebクローラーの動作はわずかに異なりますが、最終目標は同じです。Webページからコンテンツをダウンロードしてインデックスを作成します。

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クローラーボットをブロックしないことが非常に重要です。

検索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クローラーなどの正当なボットのアローリストを自動更新して維持し、正当なボットがブロックされないようにしています。小規模な組織は、Cloudflare ProおよびBusinessプランで利用できるSuper Bot Fightモードで、同様のレベルの可視性とボットトラフィックの制御を得ることができます。Cloudflareはまた、検索クローラーを通過させながら、AIクローラーをブロックすることができます。

Cloudflare Radarは、検索クローラーとAIクローラーの両方に関するライブインサイトを提供します。最新のRadarデータをご覧ください