web-dev-qa-db-ja.com

robots.txtを使用してサブドメインのみのクロールを禁止するにはどうすればよいですか?

メインウェブサイトを検索エンジンに配置したいが、サブドメインを1つも配置しない場合は、サブドメインのディレクトリに「すべて許可しない」robots.txtを配置する必要がありますか?その場合、メインドメインは引き続きクロール可能ですか?

8
tkbx

Robots.txtファイルは、ウェブサーバーの最上位ディレクトリに配置する必要があります。メインドメインと各サブドメインが異なるvhostにある場合は、それを各サブドメインの最上位ディレクトリに配置し、次のようなものを含めることができます

User-agent: *
Disallow: /

Robots.txtの場所は、特定のサイトへのアクセス方法によって異なります。のようなURLが与えられた

 http://example.com/somewhere/index.html

クローラーはドメイン名の右側にあるすべてのものを破棄し、robots.txtを追加します

http://example.com/robots.txt  

したがって、robots.txtをexample.comのDocumentRootディレクティブが指すディレクトリに配置し、必要な/ somewhereへのアクセスを禁止する必要があります。

User-agent: *
Disallow: /somewhere

サブドメインがあり、次のようにアクセスする場合

http://subdomain.example.com

サブドメイン全体へのアクセスを許可しない場合は、サブドメインのDocumentRootディレクティブが指すディレクトリにrobots.txtを配置する必要があります。

9
user9517
  1. ルートディレクトリにrobots.txtを配置する必要があります

  2. Disallowルールはnotドミアン/サブドメイン固有であり、すべてのURLに適用されます

例:sub.mydomain.comとmydomain.com(どちらも同じftpフォルダーにリンクされている)を使用しているとしましょう。この設定では、Disallow:/ admin /ルールを設定すると、すべてのURL sub.mydomain.com/admin/とmydomain.com/admin/がDisallowedになります。

しかし、sub.mydomain.comが実際に別のサイト(および別のFTPフォルダー)にリンクされていない場合は、別のrobots.txtを作成して、そのフォルダーのルートに配置する必要があります。

2
Igal Zeifman

ルートディレクトリに配置する必要があります。そうしないと見つかりません。

2
David