2016年06月08日
インデックスとは、「索引」「見出し」という意味で、プログラムやデータベースなどでも使われている用語です。
プログラムにおけるインデックスとは、配列の要素を指定するための通し番号のことを指し、データベースにおいては、データベース内に格納されたデータを素早く検索して取り出すための索引データのことを指します。
一方、検索エンジンの処理における「インデックス」という用語は、プログラムやデータベースにおける意味とは少し異なり、検索エンジンのデータベースにWebページのデータが格納されることを意味します。
それでは、検索エンジンはどのような仕組みでWebページをインデックスしているのでしょうか。
目次
検索エンジンがWebページをインデックスするためには、まずWebページの情報を収集する必要があります。 Webページの情報を収集するためのプログラムのことを「クローラー」「ロボット」などと呼びます。
クローラーが収集したWebページのデータは、Webページをインデックス化するためのプログラム「インデクサ」に渡されて処理され、データベースに登録されます。
収集したばかりのWebページのデータは、ページの内容を解析する際に不要なデータが含まれていたり、データの形式が揃っていなかったりしますので、インデクサによってその後の処理をしやすい形に変換されます。
インデクサによってWebページは、ページ内のテキスト解析やリンクの解析などを行われ、各項目が指標化されます。
このような中間処理を行うことで、ランキング付けをする際に処理しやすい形式に変換できるだけでなく、検索エンジンのデータベースに格納されるデータ量も節約をすることができるので、インデックス化(インデクシングとも呼ぶ)は検索エンジンにとって非常に重要な工程だと言うことができます。
検索エンジンがWebページを検索結果に表示するためには、まずそのWebページのデータを収集し、データベースに登録する必要があります。
そのため、インデックスされていないWebページは、検索エンジンから見ると公開されていないWebページと同じことなので、どれほど素晴らしいコンテンツが書かれていても、どんな施策を行ったとしても、Webページがインデックスされていなければ、何の意味もないのです。
公開したWebページは、できるだけ早く検索エンジンにインデックスしてもらうことが重要なのですが、構造の複雑な大規模サイトや、階層が深くなってしまっているWebサイトでは、なかなかインデックスされないということが起こりえます。
そういったことが起きてしまっている場合、どのように対処したらいいのでしょうか。
現在の検索エンジンは、非常に優秀なクローラーを持っていますので、公開したWebページの多くは、何もしなくてもインデックスされます。 しかし、ドメインを取得したばかりの新しいWebサイトや、複雑なページ構成を持っている大規模サイトの場合には、なかなかインデックスされないこともあります。
そこで、Googleなどの主要な検索エンジンでは、公開したWebページをインデックスされやすくするためのツールなどを提供していますので、積極的に活用しましょう。
Webページを公開したら、「info:」か「site:」を使って、Webページがインデックスされているか調べてみましょう。 以下のようなコマンドを、検索ボックスに入力して検索するだけです。
info::そのページがインデックスされているか調べる info:(調べたいWebページのURL)
site::指定したURLの配下にあるすべてのWebページインデックスを調べる site:(調べたいWebページのURL)
「site:」コマンドは、指定したURL以下のページのインデックスの有無を調べることができる便利なコマンドですが、時々、本当はインデックスされているWebページが、結果ページに表示されないと言ったことがありますので、正確な情報を知りたい時は「info:」コマンドを利用しましょう。
Webページのデータを収集するクローラーは、リンクを辿って訪問しますので、他のWebサイトからリンクをしてもらうことが、一番自然な方法です。 (不自然なリンクはペナルティの恐れがあります)
ただ、公開されたばかりのWebサイトなど、リンクをもらいにくい場合もありますので、Googleでは以下の方法で、Webページのインデックスを促進することができます。
サイトマップの送信 サーチコンソールからサイトマップを送信し、GoogleにWebサイトの構造やWebページの存在を知らせます。
Fetch as Googleでリクエスト サーチコンソールの「クロール > Fetch as Google」からURLを登録すると、Googleにインデックスのリクエストをすることができます。 登録したURLから張られているリンクを辿って、他のWebページもインデックスしてもらうこともできます。
Webページはインデックスされることが重要と書いてきましたが、低品質コンテンツや重複コンテンツなどのWebページは、検索エンジンにインデックスされないようにした方が、良い場合もあります。
このような場合は、インデックスされないようにしたいWebページの<head>〜</head>部分に、noindexタグを設置して対処します。
noindexタグ <meta name=”robots” content=”noindex” />
このタグが埋め込まれたWebページは、検索結果に表示されません。
noindexという名前で「インデックスされない」と解釈されることが多いのですが、たとえnoindexタグがページに設置されていたとしてもクローラーはページを閲覧してインデックスに格納します。 ただ、検索結果には表示されないので、外から見るとインデックスされていないように見えるのです。
検索エンジンの内部処理がどのようなものであろうと、このタグを設置しているページは検索結果から消えてしまいますので、重要なページに誤ってタグを設置しないよう注意しましょう。
KPIとは
Googleウェブマスターツールに届くメッセージまとめ
ブラックハットSEOとは
Googleが重複コンテンツチェックし検知する技術の特許
どうして!? Twitterのアカウントがロックされてしまう理由と解除方法
迷ったらこうする[漢字/ひらがな編] -「出来る/できる」「事/こと」など
企業向けFacebookページ(ビジネスアカウント)の作成・管理方法
なぜNAVERまとめはサービス終了したのか!?SEO視点で調べてみた
知られざるWordの使い方「スタイル、アウトライン」編