メタタグによるクローラーの制御方法

メタタグを使ったロボット型検索エンジンの制御方法について解説したページ。メタタグはHEAD内に入れる要素の一種。ロボット(クローラー)制御に使われるメタタグの組み合わせは4種類だけと至ってシンプルでした。
2006年以降Yahoo用とGoogle用の2つの書式が加わって現在6種類のロボット用メタタグがあります。

ロボット制御用メタタグの用途と効果

ASY!メタタグはrobots.txtが利用できない環境であってもクローラー制御を行えます。使い方もHTMLのHEAD内に4種の組み合わせの何れかを挿入するだけなので、初心者にも問題無く出来るでしょう。

移動robots.txt解説ページはこちらにあります。
移動DMOZやYahooディレクトリの要約文(スニペット)を検索結果に含ませない設定

メタタグの使用法

ASY!ページのHTML内<head>と</head>の間に記入するメタタグでロボット制御を行なえます。 メタタグ指定はそのページだけに有効なので、ロボット制御を行ないたい全てのページに記述する必要があります。

ASY!メタタグはHEAD部分の冒頭に設置すると、W3C勧告で指示されています。 分りやすく言えば最前列に置きなさいということです。
  metaタグ同士の順序について特に指定がありませんが、robots,Content-Typeの順で使用すると良いでしょう。

<html>
<head>
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta name="keywords" content="カブトムシ,犬">
<meta name="description" content="子供による、子供のための、ペットのページ!">
<title>ボクのペットだよん</title>
メタタグは互いに矛盾する記述は効果がありません。

ハイパーテキストリンクのロボット制御

あるリンクだけ見られたくない時、
<a href=http://www.hoge.com/ rel="nofollow">クロールされたくないリンク先</a>
のようにハイパーリンクにnofollowを含める事でリンク先のクロールを回避できます。しかし、リンク先が他のサイトやページからリンクされていたらクロールされます。あくまで、nofollowの効果は記述されたページ限定なことを理解して下さい。

nofollow の意味の説明

nofollowの効果ここにSITE.A(青緑色の枠内)があり、その中にはA,B,Cの3つのページがあります。 それぞれrobots.txtやメタタグでnoindex,nofollowを宣言していません。

Page.Aはすでにインデックスされているページ。
Page.BとPage.Cはリンクを一切持っていない。
Page.AにはPage.BとPage.Cへnofollow付のリンクがある。
外部サイトSITE.Dは、Page.Cへのリンクを持つ。

この状態をロボット型検索エンジンから見ると、以下の様になります。
 Page.Aのリンクは遡(さかのぼ)らない。
 Page.Bはクロールしない。
 Page.CはLink-Dから発見しクロールした。

ページの移転とリダイレクト設定

リフレッシュ時間の設定により、301と302の判断がされる。
(Yahoo!検索インフォメーションセンターより抜粋)

<meta http-equiv="refresh" content=...>を使ったリダイレクトでは、即時にリダイレクトするように設定している場合は301、リダイレクト開始まで一定の時間を設定している場合は302として扱われます。

キャッシュの回避

検索エンジンにキャッシュされたくない時はnoarchiveを挿入します。
例: <meta name="robots" content="noarchive">

メタタグでイメージ収集を拒否する方法

Google:
<meta name="Googlebot-Image" content="noindex,nofollow">
MSN:
<meta name="psbot" content="noindex,nofollow">
Yahoo:
<meta name="Yahoo-MMCrawler" content="noindex,nofollow">

メタタグの組み合わせ

ASY!メタタグを記述するファイルの置き場所に制限はありません。robots.txtが設置できない環境でも大丈夫です。特に無料サーバー利用の際に活用できるでしょう。

<meta name="robots" content="index,follow">
これは無記入と同じ意味なので記述する必要性はありません。

〔意味のある組み合わせ〕

<meta name="robots" content="noindex,follow">
意味:ここはダメだけどリンク先はOK

<meta name="robots" content="index,nofollow">
意味:ここはいいけどリンク先はダメ

<meta name="robots" content="noindex,nofollow">
意味:ここもリンク先もダメ

検索結果に紹介文を表示させない指定

ASY!通常、検索結果ページにはページタイトルと共に紹介文(スニペットといいます)が表示されますが、それを拒否する指定ができます。

<META NAME="ROBOTS" CONTENT="NOSNIPPET">

Googleの検索結果ページがDMOZそのままの問題

ASY!ディレクトリ型検索エンジンのDMOZに登録されたウェブサイトは、その要約文がGoogleでも流用される。これを拒否するメタタグ。
<meta name="GOOGLEBOT" content="NOODP">
 又は全ての検索エンジンで拒否する指定。
<META NAME="ROBOTS" CONTENT="NOODP">

YST(Yahoo検索)でヤフーディレクトリの紹介文が転載されてしまう問題

ASY!ディレクトリ型検索エンジンのヤフーに登録されたサイトは、その紹介文がヤフー検索でも使われる。これを拒否するメタタグ。
<META NAME="Slurp" CONTENT="NOYDIR">
  又は
<META NAME="ROBOTS" CONTENT="NOYDIR">

参考資料:Yahoo Search Blog (English)

SEOスクールロボット対策、メタタグの正確な書式 おわり。 次はHTTPステータスコードです。