これは、ディレクトリの下のページを禁止するために機能しますが、そのディレクトリ URL のページは引き続き許可しますか?
Allow: /special-offers/$
Disallow: /special-offers/
許可する:
www.mysite.com/special-offers/
しかしブロック:
www.mysite.com/special-offers/page1
www.mysite.com/special-offers/page2.html
等
これは、ディレクトリの下のページを禁止するために機能しますが、そのディレクトリ URL のページは引き続き許可しますか?
Allow: /special-offers/$
Disallow: /special-offers/
許可する:
www.mysite.com/special-offers/
しかしブロック:
www.mysite.com/special-offers/page1
www.mysite.com/special-offers/page2.html
等
HTML 4.01 仕様、付録 B.4.1によると、許可されている値Disallow
(しゃれは意図されていません) は部分 URI (部分パスまたは完全パスを表す) のみです。
「許可しない」フィールドは、アクセスしない部分的な URI を指定します。これは完全なパスまたは部分的なパスです。この値で始まる URI は取得されません。例えば、
許可しない: /helpは /help.html と /help/index.html の両方を禁止しますが、
許可しない: /help/は /help/index.html を禁止しますが、/help.html は許可します。
現在のHTML5 仕様ドラフトではまったく言及されていないため、それ以来何も変わっていないと思いますrobots.txt
。
ただし、実際には、多くのロボット エンジン ( Googlebotなど) は、受け入れる内容についてより柔軟です。たとえば、次のように使用します。
Disallow: /*.gif$
Googlebot は拡張子を持つファイルをスキップしますgif
。フォルダーの下のすべてのファイルを禁止するには、次のようなことができると思いますが、100% 確実ではありません ( Google Webmaster Toolsでテストできます)。
Disallow: /special-offers/*.*$
いずれにせよ、これに頼りすぎるべきではありません (検索エンジンごとに動作が異なる可能性があるため)。そのため、可能であれば代わりにメタ タグまたは HTTP ヘッダーを使用することをお勧めします。たとえば、インデックスを作成する (または追跡する) べきではないすべての応答にこのヘッダーを含めるように Web サーバーを構成できます。
X-Robots-Tag: noindex, nofollow
特定の Web サーバーで最適な方法を検索してください。これは Apacheの例で、 と組み合わせmod_rewrite
てmod_headers
、URL パターンに応じていくつかのヘッダーを条件付きで設定します。免責事項:私は自分でテストしていないので、どれだけうまく機能するかわかりません.
# all /special-offers/ sub-urls set env var ROBOTS=none
RewriteRule ^/special-offers/.+$ - [E=ROBOTS:none]
# if env var ROBOTS is set then create header X-Robots-Tag: $ENV{ROBOTS}
RequestHeader set X-Robots-Tag %{ROBOTS}e env=ROBOTS
(注:none
は と同等ですnoindex, nofollow
)