robots.txtで許可と禁止を処理する適切な方法は何ですか?
かなり大規模なWebクローラーを実行しています。私たちは、受け入れられたコミュニティ標準の範囲内でクローラーを操作するために一生懸命努力しています。クローラーに関する苦情はほとんどありませんが、多くの場合、robots.txtの処理についての苦情です。ほとんどの場合、ウェブマスターがrobots.txtに誤りを犯したため、その旨を指摘してください。しかし、Allowとの処理を含む灰色の領域に定期的に出くわしDisallowます。 robots.txtののページがカバーしていませんAllow。他のページを見たことがあります。その中には、クローラーが「最初に一致する」ルールを使用しているものと、指定していないものがあります。これは混乱を招きます。たとえば、robots.txtに関するGoogleのページには、この例がありました。 User-agent: Googlebot Disallow: /folder1/ Allow: /folder1/myfile.html 明らかに、ここでの「最初に一致する」ルールは機能しません。クローラーがを表示してDisallow立ち去るため、特別に許可されたファイルをクロールすることがないためです。 すべてのAllow行を無視すれば明確ですが、クロールが許可されているものをクロールしない可能性があります。見逃してしまいます。 Allow最初に確認しDisallow、次に確認することで、私たちは大きな成功を収めました。アイデアは、Allowより具体的であるように意図されていましたDisallow。これは、デフォルトで(つまり、反対の指示がない場合)、すべてのアクセスが許可されるためです。しかし、次のようなものに出くわします。 User-agent: * Disallow: /norobots/ Allow: / ここでの意図は明白ですが、これAllow: /により、Allow最初にチェックするボットは、サイト上のあらゆるものをクロールできると考えます。 この場合でもそれは回避できます。マッチングをAllowと比較してDisallow、/ norobots /の何もクロールできないことを確認できます。しかし、これはワイルドカードに直面すると失敗します。 User-agent: * Disallow: /norobots/ Allow: /*.html$ では、ボットはクロールを許可されてい/norobots/index.htmlますか? 「最初に一致」ルールでは、すべての曖昧さを排除し、私は多くの場合、より具体的に入れて、古いGoogleの例のようなものを示しサイトを参照してくださいAllow 後Disallow。この構文では、ボットによる処理がさらに必要であり、解決できないあいまいさが生じます。 それで私の質問は、物事を行うための正しい方法は何ですか?robots.txtの処理に関して、ウェブマスターは行儀の良いボットに何を期待していますか?