検索の仕組み

Lizzi Harvey
Lizzi Harvey

検索エンジンの役割

検索エンジンは、デジタル版の図書館司書のようなものです。包括的なインデックスを使用して、クエリに適した情報を見つけます。検索の基本を理解することで、ユーザーがコンテンツを見つけられるように準備できます。

クローラがウェブを閲覧する仕組み

クロールは、図書館にあるすべての本を読み通すようなものです。検索エンジンが検索結果を表示するには、ウェブからできるだけ多くの情報を取得する必要があります。このために、検索エンジンはクローラーを使用します。クローラーは、サイトからサイトへと移動し、ブラウザのように動作するプログラムです。

書籍やドキュメントが欠落しているか破損している場合、クローラはそれを読み取ることができません。クローラーは、各 URL を取得してドキュメントの状態を判断しようとします。ドキュメントがエラー ステータス コードを返した場合、クローラはそのコンテンツを使用できず、後で URL を再試行することがあります。これにより、一般公開されているドキュメントのみがインデックスに登録されます。

クローラは、リダイレクト ステータス コード(301 や 302 など)を検出すると、リダイレクトに従って新しい URL に移動し、そこで処理を続行します。成功レスポンスを受け取ると(つまり、ユーザーがアクセス可能なドキュメントが見つかると)、クロールが許可されているかどうかを確認し、コンテンツをダウンロードします。

このチェックには、HTML と、HTML で言及されているすべてのコンテンツ(画像、動画、JavaScript など)が含まれます。クローラは、リンク先の URL にもアクセスできるように、HTML ドキュメントからリンクを抽出します。クローラはリンクをたどることで、ウェブ上の新しいページを見つけます。

クローラは、リンクやボタンを積極的にクリックするのではなく、URL をキューに送信して後でクロールします。新しい URL にアクセスすると、Cookie、サービス ワーカー、ローカル ストレージ(IndexedDB など)は使用できません。

インデックスの作成

ドキュメントを取得した後、クローラーはコンテンツを検索エンジンに渡してインデックスに追加します。検索エンジンは、コンテンツをレンダリングして分析し、理解します。レンダリングとは、ブラウザと同じようにページを表示することです(いくつかの制限があります)。

検索エンジンは、キーワード、タイトル、リンク、見出し、テキストなど、さまざまな要素を調べます。これらは、ページのコンテンツとコンテキストを記述するシグナルと呼ばれます。シグナルにより、検索エンジンは、特定のクエリに対して最適なページを回答できます。

検索エンジンは、異なる URL で同じコンテンツを見つけることがあります。たとえば、「アップルパイ」のレシピが /recipes/apple-pie と /recipes/1234 の両方に存在する場合があります。レシピが 2 回インデックスに登録されて表示されるのを避けるため、検索エンジンはメインの URL を決定し、同じコンテンツを表示する代替 URL を破棄します。

最も有用な検索結果の提供

検索エンジンは、クエリをインデックス内のキーワードと照合するだけではありません。有用な結果を提供するために、コンテキスト、代替の表現、ユーザーの場所などが考慮される場合があります。たとえば、「シリコンバレー」は地理的な地域またはテレビ番組を指す場合があります。しかし、クエリが「シリコンバレー キャスト」の場合、地域に関する結果はあまり役に立ちません。

「パルプ フィクションの曲」のように、間接的なクエリもあります。検索エンジンは、これを解釈して、映画の音楽の結果を表示する必要があります。ユーザーが何かを検索すると、検索エンジンは最も有用な結果を判断してユーザーに表示します。ページのランキング(順序付け)は、クエリに基づいて行われます。より適切な情報が利用可能になると、順序が変更されることがよくあります。

次のステップ: 検索エンジン向けに最適化する方法

検索エンジンの仕組みの基本を理解したところで、検索エンジン向けに最適化することの価値が見えてきたのではないでしょうか。これは SEO(検索エンジン最適化)と呼ばれます。検索エンジンがコンテンツを検出して自動的に理解できるようにすることで、関連する検索でのサイトの視認性を高めることができます。こうした調整は、サイトに関心を持ち、訪れるユーザーを増やすことにつながります。Lighthouse でサイトを監査し、SEO の結果を確認して、検索エンジンがユーザーにコンテンツをどの程度認識させることができるかを確認します。