私はこれを機能させることができないようですが、それは本当に基本的なようです。
ドメインルートをクロールしたい
http://www.example.com
しかし、クロールするものは他になく、すべてのサブディレクトリは動的です
http://www.example.com/*
私は試した
User-agent: *
Allow: /
Disallow: /*/
しかし、Googleウェブマスターテストツールは、すべてのサブディレクトリが許可されていると言っています。
誰かがこれに対する解決策を持っていますか?ありがとう:)
Googleのrobots.txtドキュメント のバッカスナウア記法(BNF)解析定義によると、Allow
およびDisallow
ディレクティブの順序は重要ではありません。したがって、順序を変更しても実際には役に立ちません。
代わりに、$
演算子を使用してパスの終了を示す必要があります。
このrobots.txtをテストします。私はそれがあなたのために働くはずだと確信しています(私はGoogle SearchConsoleでも確認しました):
user-agent: *
Allow: /$
Disallow: /
これにより、http://www.example.com
とhttp://www.example.com/
をクロールできますが、それ以外はすべてブロックされます。
注:Allow
ディレクティブは特定のユースケースを満たしますが、index.html
またはdefault.php
がある場合、これらのURLはクロールされません。
補足:私はGooglebotとbingbotの動作に精通しているだけです。対象としている他のエンジンがある場合、それらには、ディレクティブのリスト方法に関する特定のルールがある場合とない場合があります。したがって、「余分な」確実性が必要な場合は、いつでもAllow
およびDisallow
ディレクティブブロックの位置を入れ替えることができます。コメントの一部をデバンキングするように設定しました。
Google robots.txtの仕様を見ると、次のことがわかります。
Google、Bing、Yahoo、およびAskは、パス値に対して限定された形式の「ワイルドカード」をサポートしています。これらは:
それからeywuが言ったように、解決策は
user-agent: *
Allow: /$
Disallow: /