検索エンジンのWebクローラーから隠したいサブディレクトリがあります。
これを行う1つの方法は、サーバーのルートディレクトリでrobots.txt
を使用することです(標準的な方法)。ただし、WebサイトのURLを知っていて、基本的なWeb知識がある人は、robots.txtのコンテンツにアクセスして、許可されていないディレクトリを見つけることができます。
これを回避する方法を考えましたが、うまくいくかどうかはわかりません。
X
を除外するサブディレクトリの名前にします。 WebクローラーがX
ディレクトリのインデックス作成を停止すると同時に、誰かがルートのrobots.txt
からX
ディレクトリを特定しにくくする1つの方法は、robots.txt
を追加することですルートディレクトリの代わりにX
ディレクトリ。
この解決策に従う場合、次の質問があります。
robots.txt
を見つけますか? (その場合、robots.txt
はすでに存在し、ルートディレクトリにも存在します)robots.txt
がX
サブディレクトリにある場合、相対パスまたは絶対パスを使用する必要がありますか?:
User-agent: *
Disallow: /X/
または
User-agent: *
Disallow: /
いいえ、ウェブクローラーはサブディレクトリ内のrobots.txtファイルを読み取ったり従ったりしません。準公式 robotstxt.org サイトで説明されているように:
どこに置くか
簡単な答え:Webサーバーの最上位ディレクトリ。
または Googleのヘルプページ ( emphasis mine):
robots.txt
ファイルは、サイトのルートにあるファイルであり、検索エンジンクローラーがアクセスしたくないサイトの部分を示します。
いずれにしても、 検索エンジン can indexsページはrobots.txtで許可されていません 他のページがリンクしている場合。または、上記のGoogleヘルプページに記載されているとおり:
Google検索結果からWebページを隠す手段としてrobots.txtを使用しないでください。これは、他のページがページを指している可能性があるためです。 robots.txtファイルを使用せずに、ページがそのようにインデックス付けされる可能性があります。
では、代わりに何をすべきでしょうか?
検索エンジンにページをクロールさせることができます(見つかった場合)が、コンテンツnoindex,nofollow
に ロボットメタタグ を含めることができます。これにより、検索エンジンがそれらのページへのリンクを見つけたとしても、それらのページのインデックスを作成せず、それらのページからリンクをたどらないように指示します。 (もちろん、これはHTML Webページでのみ機能します。)
非HTMLリソースの場合、同じコンテンツで X-Robots-Tag HTTP header を送信するようにWebサーバーを構成できます(たとえば、.htaccess
ファイルを使用)。
パスワード認証を設定して、機密ページを保護できます。許可されていない人間の訪問者からページを保護するだけでなく、Webクローラーを効果的に遠ざけます。
robots.txt
はルートディレクトリにある必要があり、他の名前を付けないでください。 標準仕様 によると:
このファイルは、ローカルURL「/robots.txt」でHTTP経由でアクセスできる必要があります。