web-dev-qa-db-ja.com

Robots.txtサブフォルダーは許可しますが、親は許可しません

次のシナリオの正しいrobots.txtコマンドを誰かが説明できますか。

以下へのアクセスを許可したい:

/directory/subdirectory/..

ただし、上記の例外にかかわらず、/directory/へのアクセスを制限したいと思います。

20
QFDev

実際の公式標準はなく、Webクローラーはあなたのrobots.txtを喜んで無視する可能性があることに注意してください

Googleグループの投稿 によると、以下は少なくともGoogleBotで機能します。

User-agent: Googlebot 
Disallow: /directory/ 
Allow: /directory/subdirectory/
24
user967058

Googleのロボットテスターの使用をお勧めします。 Googleウェブマスターツールを利用する- https://support.google.com/webmasters/answer/6062598?hl=en

ツールで直接URLを編集およびテストできます。さらに、他の豊富なツールも入手できます。

2
Moojjoo

これらが本当にディレクトリである場合、受け入れられた答えはおそらくあなたの最良の選択です。ただし、アプリケーションを作成していて、ディレクトリが動的に生成されたパス(コンテキスト、ルートなど)である場合は、robots.txtで定義する代わりに、メタタグを使用することをお勧めします。これにより、さまざまなブラウザがサブディレクトリパスへのアクセスをどのように解釈/優先するかを心配する必要がないという利点があります。

コードで次のようなことを試してみてください。

if is_parent_directory_path
   <meta name="robots" content="noindex, nofollow">
end
2
Javid Jamae