web-dev-qa-db-ja.com

robots.txtを使用して、1つを除くすべてのページを禁止しますか?それらはオーバーライドしてカスケードしますか?

サイトの1ページだけをクロールし、他のページはクロールしないでください。

また、上記の回答と異なる場合は、Webサイトのルート(インデックス)以外のすべてを許可しない構文も知りたいです。

# robots.txt for http://example.com/

User-agent: *
Disallow: /style-guide
Disallow: /splash
Disallow: /etc
Disallow: /etc
Disallow: /etc
Disallow: /etc
Disallow: /etc

それとも私はこれを好きですか?

# robots.txt for http://example.com/

User-agent: *
Disallow: /
Allow: /under-construction

また、これはWordPressインストールであるため、たとえば「under-construction」がフロントページに設定されているため、その場合はインデックスとして機能します。

必要なのはhttp://example.com craweldですが、他のページはありません。

# robots.txt for http://example.com/

User-agent: *
Disallow: /*

これは、ルートの後に何かを許可しないことを意味しますか?

35
nouveau

1つのページのみへのアクセスを許可する最も簡単な方法は次のとおりです。

User-agent: *
Allow: /under-construction
Disallow: /

元のrobots.txt仕様 は、クローラーがrobots.txtを上から下に読み取り、最初に一致したルールを使用する必要があることを示しています。最初にDisallowを置くと、多くのボットは何もクロールできないと言っているように見えます。 Allowを最初に置くことにより、ルールを上から下に適用するユーザーは、そのページにアクセスできることがわかります。

式のルールは単純です。式Disallow: /は、「スラッシュで始まるで始まるものはすべて許可しない」と言います。つまり、サイト上のすべてを意味します。

君の Disallow: /*はGooglebotとBingbotで同じことを意味しますが、ワイルドカードをサポートしないボットは/*そして、あなたは文字通りの意味だと思います*。したがって、クロールしても問題ないと想定できました/*foo/bar.html

クロールしたいだけの場合http://example.com、しかし他に何もしないでください。

Allow: /$
Disallow: /

$は、正規表現と同様に「文字列の終わり」を意味します。繰り返しますが、これはGoogleとBingでは機能しますが、ワイルドカードをサポートしていない他のクローラーでは機能しません。

68
Jim Mischel

Googleウェブマスターツールにログインする場合は、左側のパネルからクロールに移動し、次にFetch as Googleに移動します。ここでは、Googleが各ページをクロールする方法をテストできます。

ホームページ以外をすべてブロックする場合:

User-agent: *
Allow: /$
Disallow: /

働くでしょう。

8
Kohjah Breese

http://en.wikipedia.org/wiki/Robots.txt#Allow_directive

順序は、標準に従うロボットにとってのみ重要です。 GoogleまたはBingボットの場合、順序は重要ではありません。

2
akx

あなたは両方の下でこれを使うことができます

User-agent: *
Allow: /$
Disallow: /

または

User-agent: *
Allow: /index.php
Disallow: /

ファイルは上から下に読み込まれるため、許可は許可の前になければなりません。

許可しない:/は、「スラッシュで始まるものはすべて許可しない」と言います。つまり、サイト上のすべてを意味します。

$は、正規表現のように「文字列の終わり」を意味します。したがって、Allowの結果:/ $はホームページ/ indexです

2
Aominé