2009-09-29 8 views
7

を禁止するためにどのように私は/?Q =すべての動的URLのrobots.txt内のすべての動的URLを禁止する方法のrobots.txt

+0

[this](http://smackdown.blogsblogsblogs.com/2008/05/23/googlebot-creates-pages-instead-of-simply-indexing-them-new-form-crawling-algo-goes -bad /)、検索ページを許可しないことは本当に良いアイデアかもしれません。したがって、この質問は非常に関連しており、閉じてはいけません。 –

答えて

11

あなたの質問への答えは、私が見つけることができるのrobots.txtで最高(現在アクセス)ソースがWikipediaである

Disallow: /?q= 

を使用することです。 (確かに最終的な情報源はhttp://www.robotstxt.orgですが、現時点ではサイトがダウンしています)

標準では、2つのフィールドしか定義されていません。 UserAgent:とDisallow: Disallow:フィールドには明示的なワイルドカードは使用できませんが、各 "disallowed"パスは実際にはパスの接頭辞です。すなわち、指定された値で始まる任意のパスに一致する。

Allow:フィールドは非標準的な拡張であり、Disallowの明示的なワイルドカードのサポートは非​​標準の拡張です。これらを使用する場合、(正当な)Webクローラーがそれらを理解することを期待する権利はありません。

これは、「スマート」または「ダム」であるクローラの問題ではありません。標準準拠および相互運用性に関するものです。たとえば、「Disallow:」の明示的なワイルドカード文字で「スマート」なことをしたWebクローラは、文字通り解釈されることを意図したrobots.txtファイル(仮想の)には悪いでしょう。

+0

詳しい回答のために@stephenに感謝します – pmarreddy

+0

robotos.txtを理解するためにgoogleで1つの高い結果が得られました。正規表現が機能することを示唆していました - 正規表現を使用することができませんでした。 – landed

2

ポールが言ったようで始まるすべてのものを許可しないようにしたい

Disallow: /?q=admin/ 
Disallow: /?q=aggregator/ 
Disallow: /?q=comment/reply/ 
Disallow: /?q=contact/ 
Disallow: /?q=logout/ 
Disallow: /?q=node/add/ 
Disallow: /?q=search/ 
Disallow: /?q=user/password/ 
Disallow: /?q=user/register/ 
Disallow: /?q=user/login/ 

多くのrobots.txtインタプリタはあまりにも明るくないので、あなたがそれらを使用しようとするときにパス内のワイルドカードを解釈しないかもしれません。

しかし、いくつかのクローラは、さまざまなURLのリンク上の無限ループに巻き込まれる可能性があるため、動的ページを自分でスキップしようとします。私はあなたがこのような動的パスにアクセスするのに苦労している勇敢なクローラに直面しているので、この質問をしていると仮定しています。

特定のクローラに問題がある場合は、robots.txtの容量を検索して特定のrobots.txtセクションを指定することで、クローラの動作を具体的に調べることができます。

通常、ダイナミックページへのアクセスを許可したくない場合は、robots.txtデザインを再考することをおすすめします。

動的パラメータ処理 "ページ"は、特定のディレクトリまたは特定のディレクトリの下にあることがよくあります。このため、通常はDisallow:/ cgi-binや/ appとするのが普通とても簡単です。

あなたの場合、パラメータを扱う領域にルートをマップしたようです。あなたの許可リストは、特に何クローラすべきインデックスを追加して、禁止するリストを上書きします。この道を

User-agent: * 
Allow: /index.html 
Allow: /offices 
Allow: /static 
Disallow:/

:あなたはrobots.txtののロジックを逆にして何かを言いたいかもしれません。すべてのクローラが等しく作成されているわけではなく、後でrobots.txtを修正して、不正な動作をするクローラに対して特定のセクションを追加したい場合があります。

+1

@Grookoo: "Allow:"は非標準です。それを無視するクローラは、不正行為ではありません。単にrobots.txtの仕様に準拠しています。 –

関連する問題