robots.txt の位置

ロボット型サーチエンジンのロボット(クローラー)に、情報収集して良いかどうかを指示する手段としては、
(1) HTML中に meta タグを使ってファイルごとに指示する方法(※1)と、
(2) 「robots.txt」というファイルを使ってサーバ全体分を一気に指示する方法
……の2つがありますね。

「robots.txt」ファイルは、ロボット(クローラー)に読ませるために用意するファイルですが、URLを直接指定するなどしてアクセスすれば、通常のブラウザでも読むことができます。

適当なウェブサイトのURLに続けて(※2)「robots.txt」を加えてみましょう。もし、そこに「robots.txt」ファイルが存在すれば、中身を見ることができます。
例えば、ウェブサイトのURLが http://allabout.co.jp/ なら、robots.txt の位置は、http://allabout.co.jp/robots.txt となります。

※1:例えば、<meta name="robots" content="noindex,nofollow"> とHTML中に記述しておけば、「そのHTMLから情報を収集せず、リンクもたどらない」ようロボットに指示できます。
※2:robots.txtは、サーバの最上階層に置かなければ意味がありません。(URLでは、ドメイン名の直後)

robots.txt の読み方(書き方)

robots.txt ファイルは、次のような感じで記述されています。

User-Agent: *
Disallow: /cgi-bin/
Disallow: /private/
Disallow: /testground/
Disallow: /work/

この場合、cgi-bin , private , testground , work という4つのディレクトリ(フォルダ)の中身を巡回しないよう、 全てのロボット(クローラー)に指示していることになります。

※この場合、例えば、/cgi-bin/bbs/ ディレクトリや /cgi-bin/chat/ ディレクトリも巡回しない対象になります。(指定したディレクトリ以下、全てのディレクトリが対象になります。)

秘密がバレる!?

巡回しないよう指示するということは、つまり、そのディレクトリ(やファイル)は、検索の対象にしないで欲しいというわけですね。 そう望む理由は、検索の対象になっても意味がないからか、もしくは秘密にしておきたいからでしょう。

もし、秘密にしておきたいページ(ディレクトリ)を robots.txt に記述しておいたとしたら、たしかに検索結果として表示されることはないでしょう。
……しかし、 robots.txtファイルをブラウザで直接見た人々には、そこに「秘密のページが存在する」ことが分かってしまうことになります。

これが、「robots.txt」ファイルによって秘密のページの存在がバレてしまう理由です。

秘密のページを見られないようにするには?

そうは言っても、検索の対象にはして欲しくないわけですから、robots.txt を置かないわけにはいきませんね。それなら、robots.txt を見られても、秘密のページを見られないようにすれば良いのです。 どうすれば良いでしょうか?

それでは次のページへ →