robots
robots.txt でクローラーを制御
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"より。

| コメント(0)

月別アーカイブ