2008-09-04 26 views
18

http://example.comにサイトがあるとします。私は本当にボットにホームページを見せてもらいたいですが、他のページはスパイダーにとって無意味なのでブロックする必要があります。言い換えればサイトのデフォルトページのみを許可するrobot.txtの設定方法

http://example.com & http://example.com/は許されるべきであるが、 http://example.com/anythinghttp://example.com/someendpoint.aspxをブロックする必要があります。さらに

私は特定のクエリ文字列は、ホームページにパススルーできるようにすることができれば、それは素晴らしいことだ: http://example.com?okparam=true

なく http://example.com?anythingbutokparam=true

答えて

43

だから、いくつかの研究の後、ここで私が見つけたものである - 主要な検索プロバイダーによって受け入れ可能な解決策:googleyahoo & MSN(私はここにバリデータを見つけることができる):

User-Agent: * 
Disallow: /* 
Allow: /?okparam= 
Allow: /$ 

トリックが使用しています$はURLの終わりを示します。

0

基本のrobots.txt:

Disallow: /subdir/ 

I 「root以外のすべて」という表現を作成できるとは思わないでください。すべてのサブディレクトリを埋める必要があります。

クエリ文字列の制限はrobots.txtからもできません。バックグラウンドコード(処理部分)で行う必要があります。または、サーバーの書き換えルールを使用する必要があります。

0

正しく覚えていれば、2番目の句は最初の句を上書きする必要があります。

1

Google's Webmaster Toolsレポートでは、allowはallowよりも常に優先されるため、robots.txtファイルでこれを行う簡単な方法はありません。

noindex,nofollowMETAタグをホームページ以外のすべてのページのHTMLに挿入すると、これを達成できます。

0

私が知る限り、すべてのクローラがAllowタグをサポートしているわけではありません。考えられる解決策の1つは、ホームページ以外のすべてを別のフォルダに置き、そのフォルダを許可しないことです。

関連する問題