robots
2009.05.26
クローラーを制御する場合、html内に <meta>タグを使って直接記述する場合と、ドキュメントルートトップにrobots.txtをアップして一括して行う場合と、2つのケースに分かれる。
robots.txtでは、以下のパターン記号が使用できます。
記号 マッチ
* ワイルドカードのパターンマッチ
$ URLの末尾文字のパターンマッチ
User-Agent: *
Allow: /
※"User-Agent:"はクローラーの種類で、指定が必要な場合はgoogleウェブマスターツールなどを参照に自動生成してくれます。
上記では、すべてのクローラーに公開されているすべての階層を許可"Allow: "しています。拒否する場合は
User-Agent: *
Disallow: /
となります。
******************************
階層を指定してクローラーを拒否する場合
サイト単位、ディレクトリ単位での巡回の拒否設定 2
******************************
階層をズバリ指定しての拒否
User-Agent: *
Disallow: /sample/
Allow: /
/sample/以下の階層のクロールを拒否しています。
その他の階層はすべて許可しています。
******************************
「*」記号
「*」記号は、任意の長さの、任意のURL文字列にマッチさせるときに使います。URL文字列のいずれの部分にも使えます。
User-agent: Slurp
Allow: /public*/ ・・・1
Disallow: /*_print*.html ・・・2
Disallow: /*?sessionid ・・・3
それぞれ以下のように解釈されます。
1. 「public」で始まるすべてのディレクトリへの巡回を許可
例:「/public_html/」や「/public_graphs/」も巡回されます。
2. 「_print」を含むすべてのファイルとディレクトリへの巡回を拒否
例:「/card_print.html」や「/store_print/product.html」は巡回されません。
3. URL文字列に「?sessionid」を含むすべてのファイルへの巡回を拒否
例:「/cart.php?sessionid=342bca31」は巡回されません。
注意
以下のように書かれていた場合、2つの「Disallow」の指示は、同等とみなされます。
User-agent: Slurp
Disallow: /private*
Disallow: /private
******************************
「$」記号
「$」記号は、URLの末尾にある、任意の文字列をマッチさせるときに使います。
User-agent: Slurp
Disallow: /*.gif$ ・・・1
Allow: /*?$ ・・・2
1. robots.txtが設置されたサイト以下で、「.gif」で終わるすべてのファイルへの巡回を拒否(「$」を省き「/*.gif」とすると、ファイルパスに「.gif」を含む、すべてのファイルの巡回が拒否されていることになります)
2. 「?」で終わるすべてのファイルへの巡回を許可
注意
* 「$」記号がない場合、クローラーはプリフィクス(接頭辞)として扱い、記述された文字列を含むURLがすべてマッチします。
* 「$」記号は、文字列の末尾でのみ意味をなします。クローラーが「$」記号を見つけると、末尾であると判断し、以降の文字列を無視します。
******************************
抜粋‥‥Yahooサイトエクスプローラー内の"サイト単位、ディレクトリ単位での巡回の拒否設定 2"より。
robots.txtでは、以下のパターン記号が使用できます。
記号 マッチ
* ワイルドカードのパターンマッチ
$ URLの末尾文字のパターンマッチ
User-Agent: *
Allow: /
※"User-Agent:"はクローラーの種類で、指定が必要な場合はgoogleウェブマスターツールなどを参照に自動生成してくれます。
上記では、すべてのクローラーに公開されているすべての階層を許可"Allow: "しています。拒否する場合は
User-Agent: *
Disallow: /
となります。
******************************
階層を指定してクローラーを拒否する場合
サイト単位、ディレクトリ単位での巡回の拒否設定 2
******************************
階層をズバリ指定しての拒否
User-Agent: *
Disallow: /sample/
Allow: /
/sample/以下の階層のクロールを拒否しています。
その他の階層はすべて許可しています。
******************************
「*」記号
「*」記号は、任意の長さの、任意のURL文字列にマッチさせるときに使います。URL文字列のいずれの部分にも使えます。
User-agent: Slurp
Allow: /public*/ ・・・1
Disallow: /*_print*.html ・・・2
Disallow: /*?sessionid ・・・3
それぞれ以下のように解釈されます。
1. 「public」で始まるすべてのディレクトリへの巡回を許可
例:「/public_html/」や「/public_graphs/」も巡回されます。
2. 「_print」を含むすべてのファイルとディレクトリへの巡回を拒否
例:「/card_print.html」や「/store_print/product.html」は巡回されません。
3. URL文字列に「?sessionid」を含むすべてのファイルへの巡回を拒否
例:「/cart.php?sessionid=342bca31」は巡回されません。
注意
以下のように書かれていた場合、2つの「Disallow」の指示は、同等とみなされます。
User-agent: Slurp
Disallow: /private*
Disallow: /private
******************************
「$」記号
「$」記号は、URLの末尾にある、任意の文字列をマッチさせるときに使います。
User-agent: Slurp
Disallow: /*.gif$ ・・・1
Allow: /*?$ ・・・2
1. robots.txtが設置されたサイト以下で、「.gif」で終わるすべてのファイルへの巡回を拒否(「$」を省き「/*.gif」とすると、ファイルパスに「.gif」を含む、すべてのファイルの巡回が拒否されていることになります)
2. 「?」で終わるすべてのファイルへの巡回を許可
注意
* 「$」記号がない場合、クローラーはプリフィクス(接頭辞)として扱い、記述された文字列を含むURLがすべてマッチします。
* 「$」記号は、文字列の末尾でのみ意味をなします。クローラーが「$」記号を見つけると、末尾であると判断し、以降の文字列を無視します。
******************************
抜粋‥‥Yahooサイトエクスプローラー内の"サイト単位、ディレクトリ単位での巡回の拒否設定 2"より。