web-dev-qa-db-ja.com

robots.txtを使用して、フォルダーのすべてではなく一部のサブディレクトリを禁止するにはどうすればよいですか?

Frontendという名前のフォルダーが1つあり、このフォルダーの下にサブフォルダー名があります。好む:

Images
CSS
JS
Font

以下のフォルダを禁止します:

/forntend/css/
/forntend/js/
/forntend/font/

/forntend/images/または/forntend/を禁止したくない

このテキストをrobots.txtに追加する場合。それは正しいですか?

Disallow: /forntend/css/, 
Disallow:/forntend/js/, 
Disallow: /forntend/font/
2
Mangesh Shahi
Disallow: /forntend/css/, 
Disallow:/forntend/js/, 
Disallow: /forntend/font/

path引数の最後にコンマ(,)を含めないでください。 (これは要素の配列ではありません。)EOLは各ディレクティブを分離します。ディレクティブはプレフィックス一致であるため、末尾の,(コンマ)はリテラルコンマと一致します。

必須ではありませんが、読みやすさと一貫性のために、ディレクティブ名の後にスペースを残す必要があります。すなわち。 Disallow: /forntend/js/ではなくDisallow:/forntend/js/

明らかに、このグループの先頭にUser-agent:ディレクティブが必要です。そうでない場合、これらのディレクティブは無視されます。

パスでも大文字と小文字が区別されるため、/forntend/css//Forntend/css/mystyles.cssと一致しません。

ページのレンダリングに影響するCSSおよびJavaScript(およびおそらくFont)ファイルをブロックすることは、Googleがページを適切にレンダリング(および結果としてインデックス付け)することを妨げるため、Googleの推奨に反します。 Googleヘルプドキュメント に記載されているとおり:

これらのリソースが存在しないためにGoogleのクローラーがページを理解しにくくなる場合、それらをブロックしないでください。さもないと、Googleはそれらのリソースに依存するページをうまく分析できません。

したがって、上記は次のように記述する必要があります。

User-agent: *
Disallow: /forntend/css/
Disallow: /forntend/js/ 
Disallow: /forntend/font/

これは、crawlingからすべてのロボットをブロックし、/forntend/css//forntend/js/、または/forntend/font/で始まるすべてのURLをブロックし、他のすべてを許可します。 「許可」がデフォルトの動作です。

これにより「クロール」が防止されることに注意してください。URLが他のサイトからリンクされている場合、必ずしも「インデックス作成」が防止されるわけではありません。 Googleヘルプドキュメント に記載されているとおり:

ロボット化されたページは、他のサイトからリンクされている場合でもインデックスを作成できます

GSCでGoogleのrobots.txtテスターツールを使用してテストします。

詳細なリファレンス:

1
MrWhite