これは私が今使っているものです:
User-agent: *
Allow: /
Allow: /video/funny-dogs/index.html
Allow: /video/funny-cats/index.html
Allow: /video/funny-dolphins/index.html
Disallow: /video/
しかし、他のすべての「/video/」URL もクロールされているようです。
それの何がいけないの?
これは私が今使っているものです:
User-agent: *
Allow: /
Allow: /video/funny-dogs/index.html
Allow: /video/funny-cats/index.html
Allow: /video/funny-dolphins/index.html
Disallow: /video/
しかし、他のすべての「/video/」URL もクロールされているようです。
それの何がいけないの?
あなたの robots.txt ファイルは間違いなく Google で機能するはずです。Bing でも機能すると思います。ただし、他の多くのロボットでは、すべてのロボットが競合する許可と禁止を同じように優先するわけではないため、おそらくうまくいきません。また、一部のロボットは許可をまったくサポートしていません。
Google/Bing 以外のロボットの場合は、"Allow: /" 行を削除することで成功の可能性を高めることができます。古いロボットの多くは、現在の URL に適用できる最初のディレクティブを探してから、探すのをやめます。これらのロボットには常に許可が適用され、他のディレクティブは常に無視されます。「Allow: /」を削除すると、これが修正されます。
Google または Bing が robots.txt ファイルに従っていない場合は、何かが壊れている可能性があります。次のことを確認できます。
元の robots.txt 仕様では、ボットは robots.txt を読み取り、適用される最初のルールを採用する必要があるとされていました。が追加されたときAllow
、それは変更されておらず、多くのボットが今でもそのルールを使用しています。他のボットは、最も寛容なルールを使用します。
最初のケースでAllow: /
は、ファイルの最初の行で、ボットはクロールできると認識します。2 番目のケースでは、ファイル内の任意のAllow: /
場所に が存在するため、ボットは何でもクロールできると想定します。
を含める正当な理由はありませんAllow: /
。robots.txt では、ファイルが明確に禁止されていなければ、クロールが許可されると想定しています。Allow
に対するオーバーライドまたは例外を意図していますDisallow
。
を取り外しますAllow: /
。その後、物事はうまくいくはずです。