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 を見られても、秘密のページを見られないようにすれば良いのです。 どうすれば良いでしょうか?