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

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

Share facebook icon linkedin icon twitter icon email icon

Webクローラー

学習目的

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

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

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

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

これらのボットは、ほとんどが検索エンジンによって運用されています。検索エンジンでは、Webクローラーで集めたデータに検索アルゴリズムを適用することによって、ユーザーの検索クエリに合った適切なリンクを提供し、ユーザーが検索語をGoogleやBing(あるいは別の検索エンジン)に入力した後に現れるWebページのリストを生成することができます。

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

しかしながら、インターネットは図書館とは異なり、本の物理的な堆積からできているわけではないため、必要な情報がすべて適切にインデックスを付けられた、莫大な量の情報が見落とされていないかどうか判断することは困難です。インターネットが提示する関連情報をすべて見つけ出すために、Webクローラーボットは既知のWebページの特定のセットから始め、次に、このページから別のページまでハイパーリンクをたどり、この別のページからさらに別ページへとハイパーリンクをたどっています。

公的に利用可能なインターネットに、実際にどれだけの数の検索エンジンボットがあるかは未知です。いくつかの情報源では、インターネットで検索のためにインデックスが付けられているのは40~70%のみにとどまると推測されています。これだけでも数十億ものWebページに上ります。

検索インデックスの作成とは?

検索インデックスの作成とは、インターネット上で情報を検索できるよう、検索エンジンがインターネットの書誌情報としてカタログを作成することに似ています。これは本の末尾の索引にたとえることができます。これは本の中で、あるトピックや句が言及された場所をすべてリストしたものです。

インデックス付けでは、ページに現れるテキストと、ユーザーには通常見えないページ内のメタデータが対象となっています。ほとんどの検索エンジンがページにインデックスを付ける場合、ページの語句すべてをインデックスに追加します。Googleの事例では、冠詞や定冠詞以外のすべてです。ユーザーが検索を行う場合、検索エンジンは検索された語が現れるすべてのページのインデックスを検索し、最も関連性が高いものを選択します。

*検索インデックスの作成で、メタデータは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クローラーは「スパイダー」と呼ばれるのですか?

インターネット(すなわち少なくともほとんどのユーザーがアクセスする部分)は、ワールドワイドWebとして知られています。これはほとんどのWebサイトURLの「www」部分に対応しています。ちょうど実際のスパイダーがクモの巣の上で移動するように、インターネットWebの至る所を移動する検索エンジンボットは「スパイダー」と呼ばれるようになりました。

Webクローラーボットには、Webプロパティへのアクセスを常に許可しなければならないのですか?

この決定はWebプロパティによって決まり、多くの要因に依存します。Webクローラーはコンテンツにインデックスを付けるために、サーバー資源を要求します。ユーザーやその他ボットがWebサイトにアクセスする時と同じように、リクエストをサーバーに送信し、サーバーはこれに応答する必要があります。各ページのコンテンツの量あるいはサイト上のページの数によって、あまりにも多くの索引作成を行うと、サーバーの負荷が高まり帯域幅コストも上昇するため、サイトの運用者にとっては、インデックスの多すぎる検索クローラーの活動を禁止することが最大の利益となる場合があります。

さらに、開発者または会社が、一部の登録ユーザーのみにに公開される課金ページなどを検索から隠したい場合もあります。そのような場合の1つの例は、企業がマーケティングキャンペーンの専用トップページを作成し、キャンペーンが対象とする顧客以外には公開したくない場合などです。アクセスを限定することによってメッセージを調整したり、ページの運用を正確に測定することができるためです。こうした場合、企業はトップページにインデックスを禁止する「noindex」タグを追加し、検索エンジン結果に現れないようにできます。さらにページあるいは、robots.txtファイルに禁止するための「disallow」タグを追加し、検索エンジンのスパイダーが読み取らないようにできます。

Webサイト所有者は、その他さまざまな理由でサイトの一部あるいはすべてをWebクローラーボットに読み取られたくない場合があります。たとえば、サイト内検索機能を提供するWebサイトは検索結果ページを非表示にする場合があります。これらはほとんどのユーザーには役立たないためです。また、あるユーザーにのみ有用なページを自動生成したり、特定のユーザーを妨害する場合なども含まれます。

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
  • Yandex(ロシアの検索エンジン):Yandex Bot
  • Baidu(中国の検索エンジン):Baidu Spider

さらに一般的でないWebクローラーも多くあります。またこれらの一部は検索エンジンとは無関係です。

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

悪性のボットは、ユーザー体験を損ない、サーバークラッシュやデータ窃盗といった多くの損害をもたらす危険があります。しかしながら、悪性のボットをブロックすると同時に、Webクローラーのような良性のボットがWebプロパティにアクセスできるようにすることは重要です。Cloudflare Bot Managementは、良性のボットがWebサイトにアクセスできる状況を保ちながら、悪意のあるボットトラフィックを緩和します。この製品は、Webクローラーのような良性ボットのホワイトリストを自動的に最新状態に維持し、良性のボットがブロックされないようにしています。