「Robots Exclusion Standard」の版間の差分
m 126.234.12.22 (会話) による版を Fafnir127 による版へ巻き戻し |
|||
106行目: | 106行目: | ||
== 関連項目 == |
== 関連項目 == |
||
* [[インターネット |
* [[インターネットアーカイブ]] |
||
* [[ウェブアーカイブ]] |
* [[ウェブアーカイブ]] |
||
* [[クローラ]] |
* [[クローラ]] |
2017年9月4日 (月) 23:27時点における版
Robots Exclusion Standard(RES) または Robots Exclusion Protocol は、クローラやボットがウェブサイト全体またはその一部を走査することを防ぐ規約である。ロボット排除規約、robots.txt プロトコルとも呼ばれる。こういったボットは検索エンジンがウェブサイトの内容を分類しアーカイブするために主に使ったり、ウェブマスターがソースコードを校正するために使ったりする。直接の関係はないが、逆にボットを案内する目的のSitemapsと組み合わせて使うこともできる。
歴史
"robots.txt" は、1994年ごろWebCrawlerという検索エンジンで働いていた Martijn Koster が考案したとされている。1994年6月に robots-request@nexor.co.uk というメーリングリストのメンバーが合意して生まれた[1]。"robots.txt" はその翌年AltaVistaなどの検索エンジンが登場すると共に一般化していった。
2007年11月30日、ACAP (Automated Content Access Protocol) v1.0 が Robots Exclusion Standard を補完するものとして登場した[2]。ただしGoogleなど主要検索エンジンは、その採用を表明していない。
概要
ウェブサイトの所有者がボットに対して指示したい場合、そのウェブサイトの階層のルートに robots.txt というテキストファイルを置く(例えば、www.example.com/robots.txt)。サイト側の指示に従う選択をしているボットは、まずこのファイルにアクセスし、その指示を読み込んで、それに従ってそのウェブサイトの他のファイルの読み込みを行う。このファイルがない場合、ボットはそのサイトの所有者が特に何も指示していないと判断する。
robots.txt はボットに対して特定のファイルやディレクトリを検索しないよう指示する。これは例えば、検索エンジンからプライバシーに関わる情報を守る場合、指定したファイルやディレクトリの内容がサイトの分類をする際に誤解を与える虞がある場合、特定のアプリケーションのみが読み込むことを意図したデータの場合などがある。
下位ドメインがあるウェブサイトでは、各下位ドメインごとに robots.txt ファイルが必要である。example.com に robots.txt があっても、a.example.com になければ、example.com の robots.txt の内容は a.example.com には適用されない。
欠点
このプロトコルは全く拘束力がない。あくまでもボット側が協力することが前提であり、robots.txt で指定したからといってプライバシーが保たれることを保証するものではない。robots.txt で見られたくないファイルを指定したとしても、ウェブブラウザを使えば世界中の誰でもそのファイルを閲覧できる。また、このプロトコルを無視するボットを運用することも可能である。
robots.txt プロトコルにはRFCや公的な標準化団体が全く関与していない。
なお、robots.txt に書かれたパターンは単純にパス名の部分と一致するかどうかで判断されるため、ディレクトリを指定する場合は最後に '/' を付けておかないと同じ文字列を含む任意のファイルとマッチする可能性がある。
例
ワイルドカード "*" を指定した例。あらゆるボットが全ファイルを走査できる。
User-agent: * Disallow:
あらゆるボットが全ファイルを走査できないようにした例。
User-agent: * Disallow: /
あらゆるボットが4つのディレクトリ配下を見ないよう指定した例。
User-agent: * Disallow: /cgi-bin/ Disallow: /images/ Disallow: /tmp/ Disallow: /private/
特定のクローラが特定のディレクトリ配下に行かないよう指定した例。
User-agent: BadBot # replace the 'BadBot' with the actual user-agent of the bot Disallow: /private/
あらゆるボットが特定のファイルを見ないよう指定した例。
User-agent: * Disallow: /directory/file.html
この場合、そのディレクトリ配下の他のファイルはボットから隠蔽されない。
"#" からその行末まではコメントとして扱われる。
# Comments appear after the "#" symbol at the start of a line, or after a directive User-agent: * # match all bots Disallow: / # keep them out
規格外の拡張
Crawl-delay ディレクティブ
いくつかの主要なクローラは Crawl-delay
というパラメータをサポートしている。同一サーバに要求を繰り返す場合に指定された時間だけ待つよう指示するものである[3][4][5]。
User-agent: * Crawl-delay: 10
Allow ディレクティブ
いくつかの主要なクローラは Allow
ディレクティブをサポートしており、それに続く Disallow
ディレクティブの逆の作用をする[6][7]。これは、あるディレクトリ全体を隠蔽したいが、その中の一部ファイルだけは隠蔽したくないという場合に使う。標準的実装では常に先に書いてあるディレクティブが優先されるが、Googleは Allow のパターンを全て先に評価し、その後 Disallow のパターンを評価する。Bing は Allow
も Disallow
も最も具体的なものを優先する[8]。
あらゆるボットで互換な動作にするには、あるファイルへのアクセスを許す Allow ディレクティブを先に書き、そのファイルを含むディレクトリについての Disallow ディレクティブを後に書く。以下に例を挙げる。
Allow: /folder1/myfile.html Disallow: /folder1/
この場合、/folder1/ というディレクトリの /folder1/myfile.html というファイル以外は隠蔽する。Googleに対しては順序は重要ではない。
Sitemap ディレクティブ
一部のクローラは Sitemap
ディレクティブをサポートしており、1つの robots.txt の中で複数のSitemapsを指定できる[9]。
Sitemap: http://www.gstatic.com/s2/sitemaps/profiles-sitemap.xml Sitemap: http://www.google.com/hostednews/sitemap_index.xml
拡張規格
Extended Standard for Robot Exclusion と題してRESの拡張規格が提案されている。追加されたディレクティブとしては Visit-time や Request-rate がある。例えば次のようになる。
User-agent: * Disallow: /downloads/ Request-rate: 1/5 # maximum rate is one page every 5 seconds Visit-time: 0600-0845 # only visit between 06:00 and 08:45 UTC (GMT)
脚注・出典
- ^ A Standard for Robot Exclusion
- ^ Information ACAP
- ^ “How can I reduce the number of requests you make on my web site?”. Yahoo! Slurp. 2007年3月31日閲覧。
- ^ “MSNBot が Web サイトをクロールする回数が多すぎる”. MSNBot および Web サイトのクロールに関する問題に対処する. 2010年9月23日閲覧。
- ^ “About Ask.com: Webmasters”. 2010年9月23日閲覧。
- ^ “Googleウェブマスターセントラル - robots.txt ファイルを使用してページをブロックまたは削除する”. 2007年11月20日閲覧。
- ^ “How do I prevent my site or certain subdirectories from being crawled? - Yahoo Search Help”. 2007年11月20日閲覧。
- ^ “Robots Exclusion Protocol - joining together to provide better documentation”. 2009年12月3日閲覧。
- ^ “Yahoo! Search Blog - Webmasters can now auto-discover with Sitemaps”. 2009年3月23日閲覧。
関連項目
外部リンク
- Robots Exclusion
- robots.txt ファイルを使用してページをブロックまたは削除する Googleウェブマスターセントラル
- About Robots.txt at the Mediawiki website
- List of Bad Bots - RESに従わないボットやクローラの一覧
- About Robots.txt and Search Indexing Robots
- SEO Tools robots.txt 生成ツール
- Robots.txt Generator robots.txt 生成ツール
- Robots.txt is not a security measure
- History of robots.txt - チャールズ・ストロスがrobots.txtの誕生に関わったという内容の日記(元になったスラッシュドットでのコメントはこちら)
- 具体例 ja-two.iwiki.icu の robots.txt