検索エンジン対策

reviced: 6th/May/2002

検索エンジンには2種類あります。

ディレクトリ型人力でサイトを登録し、その情報内を検索。
ロボット型検索サイトのプログラムが WWW 上のコンテンツをダウンロードし、全文検索。
検索エンジンリンク集検索デスク, ULTRA Internet Guide

ディレクトリ型( Yahoo! など)は、自力で登録すれば良いとして、ロボット型( goo, google など)に登録してもらうためにはどうすれば良いのだろうか。

1. クロール・ページ

殆どの検索エンジンでは、情報収集の為に、ユーザが自分で検索 URL を登録申請できる。しかし一度登録されていても、膨大なデータベースの新陳代謝は頻繁なので、直に捨てられてしまうかもしれない。そのため、頻繁に登録する必要が生じるが、一週間に一回程度が目安か。

検索エンジンの情報を収集するプログラム(クローラ)は、 HTML のリンクをたどって文書を集めて DB に入れる。検索エンジンはこの DB 内から検索している。だから検索結果が古いのだ。

クローラは、画像や広告などのリンクもたどってしまうので、首尾よく検索エンジンの情報収集プログラムが訪問しても、自分のサイト内の情報を収集する前に他のサイトへ移動してしまうかもしれない。

このような問題を解消するために、クローラ専用のページを作成して登録する事が考えられる。

目的の URL 以外に邪魔なもの(画像、バナー広告など)が無いため、検索ロボットに確実に情報を収集させられる。この点では、バナーや画像、スクリプトを一切廃したサイトマップを設置するのも有効でしょう。

また、クロル・ページほど明示的ではないが、 LINK tags を用いてもロボットがたどるべき URL を指定できる事が有る。

<link rel="next" href="./html.html">
<link rel="prev" href="./index.html">
<link rel="contents" href="../../map.html">
<link rel="start" href="../index.html">

ここでは、上から順番に、次のページ、前のページ、最初のページが指定されている。

これらの指定に沿ってページを収集してくれるとは限りませんが、参考情報として記述する様にお勧めします。

検索エンジン登録ページ

Excite のロボット検索エンジンは Google が提供しているので、 Google と重複して登録する必要はありません。

2. 検索ランクを高める

title 要素と meta タグ

検索エンジンのデータベースに登録された後、実際に対象読者にクリックしてもらうためには、或る特定のキーワードで検索された時に、上位にランキングされる必要がある。検索されても、順位が100番以降だったら、だれも見つけてくれないでしょう。

それには、「そのキーワード」を、 title 要素meta タグ内に記述する。

【例】

<title>HTML, CSS 入門</title>
<meta name="keywords" content="HTML, CSS, 作成, 入門">

検索キーワードが、 title 要素や meta タグのキーワードに記述されていると、検索結果の順位が高くなる。検索キーワードが、 meta や、title に占める割合が高いほど検索順位も上がる。

例えば、「HTML, CSS」で検索された場合、
HTML、CSS入門
と、
HTML、CSS入門;CSS、JavaScript、dHTMLから、XML、XHTMLまで
と云うtitleでは、前者の方が検索順位は高い。

一般に title 要素は、短く、且つ内容が容易に把握出来るものが望ましい。ただし、サイト名だけのタイトルの場合は内容を表現できない。サイト名の後ろに、内容を把握できる文字列を追加しておく方が望ましいでしょう。長さに決まりはありませんが、最大でも全角で30文字でしょう。

title 要素が存在しない文書や内容が空の場合、ほとんどの検索エンジンではサイト名を URL で表示する。この場合、検索エンジン利用者にクリックしてもらえない可能性が高まる。

文書を分割する

長大な文書の中に、一つだけ検索対象のキーワードが含まれていても、当然検索結果の順位は低い。検索されたキーワードが文書全体に占める割合が高くなるほど検索順位は上がる。

目的の単語に深く関係する内容の文書毎(テーマ毎)に細かく文書を分割すれば、特定の単語に対する検索順位は高まる。

印刷、 DL を目的としなければ、長大なスクロール・ページは閲覧者にもストレスを与える。文書はテーマ毎に分割した方が望ましいでしょう。

相互リンクを増やす

Google をはじめとする一部の検索エンジンは WWW のリンク網を解析して、ページのランクを設定するようになってきた。ランクの高いページほど検索結果の上位にリストされる。

ランクの仕組みの詳細は公開されておらず、検索エンジン毎に異なるようだが、張られているリンク数が多いほどランクが高まり、ランクの高いページからのリンクならばより高くなる。

沢山のランクの高いページからリンクを張ってもらえれば自分のページのランクも高まるのだが、そのためには日々の心がけ次第かと(^^;コンテンツが面白ければお願いすれば快くリンクを張ってくれるでしょう。検索エンジンの目的もそうやってサイトを選別する事にある。

index ページなど特定のページに集中してリンクを張ってもらうのも効果的でしょう。

3. 選択させる

首尾良く検索順位で上位に食いこんだとして、実際に選択してもらうには、閲覧者がクリックする前に、目的のサイトで有る事を理解してもらわなければならない。

ロボット検索サイトでは検索結果にタイトルと紹介文を表示する。タイトルは title 要素がそのままリストされるが、紹介文では次の情報の何れかが補足される。

そこで、検索者の目を引くようにプレゼンテイトすれば良いことになる。

meta タグは head 要素内に記述する。

<meta name="description" content="サイトの内容を文で記述すると、
ロボットが読み込んで検索結果に反映されるかも。100文字程度が目安。">

meta name="description" を解釈できない/しないロボットも居る。その場合は文書の冒頭の一行を抜粋していることが多い。そこで、 body 要素開始直後(又は見出し H1 要素の直後)にページの概要を記述しておく。

<body>
<h1>NEXTindex</h1>
<p>このサイトでは、HTML, XHTML, CSS, Java, Perl の入門を扱っています。</p>
...
</body>

さらに、一部の検索エンジンは検索対象文字列の前後を抜粋するものもある。この場合も、ページの冒頭に、ページの内容をあらわすキーワードを含んだ簡潔な文を紛れ込ませておくと良いでしょう。

まとめ

  1. 登録したいコンテンツ毎のトップページは全て登録する。
  2. それとは別に、クロル・ページを設置して検索対象に登録する。
  3. 頻繁に登録し直す。
  4. title 要素を短く、内容が判り易いものにする。
  5. meta タグ( name="description", name="keywords" )を設定する。
  6. 一つの文書が短くなるように、テーマ毎に分割する。
  7. 頻繁に更新する。

検索エンジンは利用者に的確な情報を提供する事を目的として進化しています。サイト作成者側はその流れを素直に利用して、的確な情報を提供できるように工夫することが望ましい姿でしょう。


Robot 排除

検索ロボットを排除する方法を二つ紹介します。一つは robots.txt、もう一つは meta タグを利用します。

meta タグ

HEAD 要素内の meta タグでロボットの挙動を指示できます。

或る HTML 文書の HEAD 要素に次のように記述されていれば、当該ファイルを検索対象にせず、且つそこからのリンクをたどりません;

<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">

当該ページは検索対象に指示し、そこからのリンクをたどらない様に指示する場合は、次のように記述します;

<meta name="ROBOTS" content="INDEX,NOFOLLOW">

当該ページは検索対象に載せず、そこからのリンクだけをたどるように指示する場合は次のように記述します;

<meta name="ROBOTS" content="NOINDEX,FOLLOW">

このような meta タグが記述されていない場合の初期値は INDEX,FOLLOW です。

robots.txt

検索ロボットは或るサーバに訪問すると、まずルートディレクトリの robots.txt を探すように決められています。しかる後に、このファイルに次のように記述されていれば、このディレクトリ以下の全てのファイルが検索対象から外れます;

User-agent: *
Disallow: /

上のサンプルは三行に及んでいます。この例に限らず、最終行は空白行にするようにお勧めします。改行コードの混乱を避ける為です。

robots.txt は HTTP サーバのルートにしか置けない事に注意して下さい。それ以外のユーザ・ディレクトリに置いてあってもロボットは見つけられません。

空の robots.txt の場合は全てが許されます。 robots.txt が無い場合も同様です。また、 robots.txt ファイルに次のように書いても全てのファイルが検索対象として許される事になります;

User-agent: *
Disallow:

当該ディレクトリ以下の一部のディレクトリだけを検索対象から外す場合は次のように書きます;

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/

ファイル単位での指定も可能です;

User-agent: *
Disallow: /~joe/private.html
Disallow: /~joe/foo.html
Disallow: /~joe/bar.html

まとめ

ここで紹介した二つが、インターネットにおけるロボット検索の標準的なルールとされています。

他に、 .htaccess ファイル(設定ファイル)を置く方法などを解釈するロボットも存在するようですが、何れにせよロボットがこれらの指示に従う保証は有りません。

検索エンジン情報

googleWWW のリンク網を解析し、重要な位置を占めるサイトが上位に上る。ランクの高いページからリンクが張られていればページ・ランクが高くなる。検索能力が高い。
  • ロボット (UA) の名前は Googlebot.
  • 仕様は Web Robot Page に従うらしい。
  • ユーザのページに記述された meta タグ、 サーバマシンのルートに置かれた robots.txt をサポートする。
  • 検索対象には載せたいが、 google のキャッシュを検索ユーザに公開されたくない場合は、次の様に記述する;
    <meta NAME="GOOGLEBOT" CONTENT="NOARCHIVE">
    全ての UA にキャッシュされたくない場合は、次の様に記述する;
    <meta NAME="ROBOTS" CONTENT="NOARCHIVE">
gooポータル・サイト化が激しく、検索能力も比較的高い。
  • ロボットの名前は slurp.
  • 仕様は Web Robot Page に従うらしい。
  • 少なくとも、 meta タグの NOINDEX, NOFOLLOWrobots.txt をサポートする。
LYCOSポータル・サイト化が激しく、検索能力も比較的高い。
  • ロボットの名前は Lycos.
  • 仕様は Web Robot Page に従うらしい。
  • meta タグの NOINDEX, NOFOLLOWrobots.txt をサポートする。
infoseekポータル・サイト化された検索サイト。検索能力は劣るが、検索条件が細かく、比較的情報が新しい。
  • meta タグの noindex, nofollow と、 robots.txt をサポートする。
  • meta タグの name="keywords"name="description" をサポートする。
SEO [PR] !uO z[y[WJ Cu