robots.txtでは、以下のパターン記号が使用できます。
記号 | マッチ |
---|---|
* | ワイルドカードのパターンマッチ |
$ | URLの末尾文字のパターンマッチ |
使い方は以下のとおりです。
「*」記号
「*」記号は、任意の長さの、任意のURL文字列にマッチさせるときに使います。URL文字列のいずれの部分にも使えます。
User-agent: * Allow: /public*/ ・・・1 Disallow: /*_print*.html ・・・2 Disallow: /*?sessionid ・・・3
それぞれ以下のように解釈されます。
- 「public」で始まるすべてのディレクトリへの巡回を許可
例:「/public_html/」や「/public_graphs/」も巡回されます。 - 「_print」を含むすべてのファイルとディレクトリへの巡回を拒否
例:「/card_print.html」や「/store_print/product.html」は巡回されません。 - URL文字列に「?sessionid」を含むすべてのファイルへの巡回を拒否
例:「/cart.php?sessionid=342bca31」は巡回されません。
- 注意
- 以下のように書かれていた場合、2つの「Disallow」の指示は、同等とみなされます。
User-agent: * Disallow: /private* Disallow: /private
「$」記号
「$」記号は、URLの末尾にある、任意の文字列をマッチさせるときに使います。
User-agent: * Disallow: /*.gif$ ・・・1 Allow: /*?$ ・・・2
- robots.txtが設置されたサイト以下で、「.gif」で終わるすべてのファイルへの巡回を拒否(「$」を省き「/*.gif」とすると、ファイルパスに「.gif」を含む、すべてのファイルの巡回が拒否されていることになります)
- 「?」で終わるすべてのファイルへの巡回を許可
- 注意
-
- 「$」記号がない場合、クローラーはプリフィクス(接頭辞)として扱い、記述された文字列を含むURLがすべてマッチします。
- 「$」記号は、文字列の末尾でのみ意味をなします。クローラーが「$」記号を見つけると、末尾であると判断し、以降の文字列を無視します。