2008-03-05

robots.txt について

Baiduspider は、robots (または spider)と呼ばれるプログラムが自動的にインターネットのサイトにアクセスし、ページの情報をクローリング(収集)しています。サイトに robots.txt というテキストファイルを作成し、このファイルに検索エンジンにクローリングされたくないサイトの部分を明記すると、検索エンジンは該当部分の内容をクローリングしないようにします。また、robots.txt の crawl-delay フィールドにより、Baiduspider のクローリングの頻度を制限する事が可能です。


robots.txt の置き場所

robots.txt はウェブサイトのルートディレクトリに配置します。
例: robots はサイト(例えば http://www.example.jp ) にアクセスした際、まず http://www.example.jp/robots.txt というファイルが存在するかをチェックします。このファイルが存在した場合、ファイルの内容によりアクセス権限を特定します。

サイトの URL 対応する robots.txt の URL
http://www.w3.org/ http://www.w3.org/robots.txt
http://www.w3.org:80/ http://www.w3.org:80/robots.txt
http://www.w3.org:1234/ http://www.w3.org:1234/robots.txt
http://w3.org/ http://w3.org/robots.txt

robots.txt ファイルのフォーマット

「robots.txt」 ファイルには、1つまたは複数のレコードがあります。このレコードは空行によって分けられています ( cr 、cr/nl 、nl が終了フラグとなります)。レコードのフォーマットは下記のとおりです。

"<field>:<optionalspace><value><optionalspace>"

"#" を利用してコメントアウトにすることが可能です。レコードは、1行または複数行の User-Agent で始まり、後ろは複数のdisallow 行、および1行のcrawl-delayとなります。
詳細は下記の通りです。


User-Agent :

このフィールドは robots (または spider ) の名前を表記します。「robots.txt」 に、複数の User-Agent レコードがあると、複数の robots が制限されているということです。そのため、User-Agent レコードが最低1行必須となります。もし、このフィールドの値が*に設定されていた場合、すべての robots に対して有効となります。 " robots.txt " に、" User-Agent:* " のようなレコードを複数行にしてはいけません。


disallow :

このフィールドはアクセスを禁止する URL を表記します。この URL は完全な URL でも、URL の一部でも可能です。すべての disallow で始まる URL が robots にアクセスされなくなります。例えば、" disallow:/help " は、/help.html および /help/index.html に対し、アクセスを禁止することができます。

「disallow:/help/」 は、/help.html にアクセスができる一方、/help/index.html にアクセスできません。disallow レコードのいずれかが空の場合、サイトの内容全部にアクセスすることが可能です。

「robots.txt」 ファイルに、disallow レコードが最低1行必須となります。もし 「robots.txt」 の内容が空白の場合、すべての検索エンジンの robots に対し、アクセスを許可します。


crawl-delay :

もし spider のアクセスが多くなりすぎた場合、robots.txt に crawl-delay を利用して、spider のアクセス頻度を制限できます。crawl-delay は、spider の連続2回のアクセスの最短の間隔を表記します。例えば、"crawl-delay:5" と表記した際は、サイトに対しアクセス最短の間隔が5秒となります。


robots.txt ファイルの用法例
例1. 全ての内容に対し、全ての検索エンジンを禁止 user-agent: *
disallow: /
例2. 全ての検索エンジンを許可 (もしくは空ファイル " /robots.txt " を作成) user-agent: *
disallow:
例3. 特定の検索エンジンを禁止 user-agent: badbot
disallow: /
例4. 特定の検索エンジンを許可 user-agent: baiduspider
disallow:
user-agent: *
disallow: /
例5. 特定の検索エンジンのアクセス頻度を制限 user-agent: baiduspider
disallow: /
crawl-delay:5
例6.簡単な例
このサンプルでは、サイトの3つのディレクトリに対し、検索エンジンを制限します(つまり、検索エンジンは3つのディレクトリに対してアクセスをしません)。
注意すべきことは、ディレクトリごとに記述が必要となります。 “disallow: /cgi-bin/ /tmp/ ” の形にしないようにします。
user-agent: 後ろの * は、“ any robot ” という意味です。なので、このファイルに “ disallow: /tmp/ * ” または “ disallow:*.gif ” のような書き方は禁止されています。
crawl-delay:この値は連続2回アクセスの最短の時間間隔を表しています。
user-agent: *
disallow: /cgi-bin/
disallow: /tmp/

disallow:
/~joe/
crawl-delay:5

metaタグを使ったアクセス制限について

metaタグを利用して、ウェブサイトの情報収集を自動的に行うデータ収集プログラム(Baiduspider)からのアクセスを制御することができます。具体的な設定方法は http://www.robotstxt.org/meta.html をご参照ください。

  1. 全てのデータ収集プログラムを拒否する場合:
    <meta name="robots" content="noindex, nofollow">
    <meta name="robots" content="none">
  2. Baiduspaider のみを拒否する場合:
    <meta name="baiduspider" content="noindex, nofollow">
    <meta name="baiduspider" content="none">
  3. ページ内のリンクへのアクセスを拒否する場合
    <meta name="baiduspider" content="nofollow">
参考サイト:http://help.baidu.jp/system/04.html#on

Bookmark

AddThis Social Bookmark Button