robots.txtは、あくまでもクローラの「アクセスを制限したい」場合のみ
設置する必要がある。そうでない場合、設置する必要はない。
詳しくは以下のGoogleの解説記事を参照のこと。
robots.txt ファイルを使用してページをブロックまたは削除する
該当部分を引用
> robots.txt ファイルが必要となるのは、
> サイトに検索エンジンのインデックスに登録したくないコンテンツが
> 含まれる場合のみです。サイトのすべてのコンテンツを検索エンジンの
> インデックスに登録したい場合は、
> 空であっても robots.txt ファイルは必要ありません。
そして本題に入る。通常はクローラ、ウェルカム、いくらでも
グイグイアクセスして、グイグイとインデックスしてってよー!
ってなもんだけど、今回は違う。
あくまでも例だけど、既存のhogehoge.hogeドメインにあらたに
サブドメイン「example」を設定したので、このままでは
http://hogehoge.hoge/example/sample.html
http://example.hogehoge.hoge/sample.html
このどちらもがクローラにアクセスされ、インデックスされてしまう。
(異なるURLなのに内容がまったく同じという、よろしくない状況)
一般のアクセスに対してはすでにリダイレクト処理をしているので
前者のURLでアクセスしようとしても後者のURLにリダイレクトされる。
が、クローラに対してはアクセスを全て許可(デフォルト状態)しているので
このままだとどちらも「同じ内容なのに別のページ」としてインデックスされ
コンテンツの共食いが起こってしまう。(らしい)
なので、正規のURL(http://example.hogehoge.hoge/)でのみクローラにも
アクセスを許可し、インデックスしてもらうようにクローラのアクセス制御を
robots.txtで実行する。
(正規のURLというと語弊があるかもだけど、ようするに自分が使いたいURL)
robots.txtはサイトのルート(最上位)ディレクトリに置くこと。
レンタルサーバで複数ディレクトリを用意し、個別にドメイン等を割り当てている場合でも
最上位のWebルート(/)ディレクトリに置くこと。
内容は
User-agent: *
Disallow: /example/
Allow: /
この記述の意味は「すべてのロボット(クローラ)」に対して
/example/ディレクトリ配下へのアクセスをブロックし、それ以外に対しては
アクセスを許可している。
これで、一般のアクセス同様に、クローラのアクセスにおいても
http://hogehoge.hoge/example/sample.html
は無効(アクセスさせない、インデックスさせない)とし
http://example.hogehoge.hoge/sample.html
のみをインデックスさせるようにしたことになる。
実際そうなっているかは、他のサイトで確認済み。
コメント:0
トラックバック:0
- この記事のトラックバック URL
- http://showzine.info/blog/2010/03/%e3%82%af%e3%83%ad%e3%83%bc%e3%83%a9%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%82%92%e5%88%b6%e9%99%90%e3%81%99%e3%82%8brobots-txt%e3%81%ae%e8%a8%ad%e7%bd%ae.html/trackback
- トラックバックの送信元リスト
- クローラのアクセスを制限するrobots.txtの設置 - SHOWJIN*BLOG より