[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

robots.txt

pointこの用語のポイント

pointテキストファイルだよ

point検索エンジンのクローラさんへの指示書だよ

スポンサーリンク

簡単に書くよ

robots.txtとは

検索エンジンのクローラさんに指示を出すためのファイル
です。

image piyo

詳しく書くよ

検索エンジン」は「GoogleさんとかYahoo!さんのこと」ね。
クローラ」は「検索エンジンの手先」です。

クローラさんは日夜インターネットの世界を徘徊し、集めた情報を検索エンジンさんに送っています。もし、あなたがホームページブログを運営しているとしたら、クローラさんはきっとそこにも訪れているはずです。

そんな検索エンジンの手下のクローラさん、基本的にはリンクを辿って情報を集めていきます。遠慮なく集めていきます。好き勝手に集めていきます。

ですが、好き勝手に情報を漁るのは勘弁して欲しい場合もありますよね。
「おい!このページは見るんじゃねぇ!」とクローラさんに物申したいときもあるはずです。

そんなときは、とあるファイルに「おい!クローラ!このページは見るんじゃねぇ!」と書いておくと、品行方正なクローラさんはその指示に従ってくれるのです。
その「とあるファイル」、クローラさんに対する指示書が「robots.txt」です。

robots.txt

robots.txtは、そのまんま「robots.txt」という名前で、ルート直下に置きます。
「ルート直下」がよく分からなければ

http://あなたのホームページのドメイン名/robots.txt

URLにアクセスしたときに表示される場所に置けば良いとお考えください。
例えばわわわIT用語辞典のrobots.txtは「http://wa3.i-3-i.info/robots.txt」として置いてあります。

これが「robots.txtとはなんぞや?」の説明です。
「検索エンジンのクローラさんに対する指示書」が「robots.txt」です。

それでは次に、robots.txtの書き方を書いていきます。結構長ったらしいので「別に書き方は知らなくて良いよ」な人は読み飛ばしてください。

robots.txtの中身は、例えば以下のように書きます。

User-agent: *
Disallow: /miruna/
Allow: /miruna/miteyo
Sitemap: http://wa3.i-3-i.info/sitemap.xml
Crawl-delay: 10


「User-agent:」の部分は「誰宛か」の指定です。
「*」は「なんでもいーよ」を意味する特別な指定なので

User-agent: *

の意味するところは「すべてのクローラさん宛」になります。

この「User-agent:」の部分に個別の名前を指定することで、どの検索エンジンのクローラさんに対する指示かを名指しで指定することもできます。
例えば

User-agent: Googlebot
Disallow: /miruna/


と書いた場合「Disallow: /miruna/」という指示はGoogleのクローラさん宛になります。Google以外のクローラさんは気にしません。

対象となるクローラさんを個別指定する際の名前は、例えば以下のように書きます。

検索エンジンユーザエージェント
GoogleGooglebot
Yahoo!Slurp
Bingmsnbot
BaiduBaiduspider

これ以外のクローラさんについては適当に調べてください。
個人的には、個別にクローラを指定すること自体、あまり必要性を感じないですけどね。

ちなみに複数の検索エンジンさん宛の指示を一つのrobots.txtで指定することも可能です。
複数指定したい場合は

User-agent: Googlebot
Disallow: /miruna/

User-agent: Slurp
Disallow: /miruna2/


のように、クローラを指定する毎に間を1行ずつ空けて書いてください。

さて、これでどの検索エンジンさんに対する指示かは指定できるようになりました。
次はどんな指示を出すかです。

忘れちゃった人のために、もう一度サンプルを載せておきますね。

User-agent: *
Disallow: /miruna/
Allow: /miruna/miteyo
Sitemap: http://wa3.i-3-i.info/sitemap.xml
Crawl-delay: 10


です。
次は

Disallow: /miruna/
Allow: /miruna/miteyo


の部分を見てください。

この部分で「おい!クローラ!このページは見るんじゃねぇ!」を指示しています。
実際には「Disallow:」が「おい!クローラ!このページは見るんじゃねぇ!」の指示で「Allow:」は「おい!クローラ!このページは見てもいーぞ!」の指示ですけどね。
そして「Disallow:」の指示より「Allow:」の指示の方が優先されます。

つまり

Disallow: /miruna/
Allow: /miruna/miteyo


の指示は、URLが

http://wa3.i-3-i.info/miruna/ほげほげ

ってなってるところは見るな!ただし

http://wa3.i-3-i.info/miruna/miteyoほげほげ

ってなってるところは見ていーぞ!という指示になるのです。

実際のURLを例に挙げると

http://wa3.i-3-i.info/miruna/
http://wa3.i-3-i.info/miruna/hoge.html
http://wa3.i-3-i.info/miruna/mirunayo/hoge.html


は見ては駄目ですし、

http://wa3.i-3-i.info/miruna/miteyo
http://wa3.i-3-i.info/miruna/miteyo.html
http://wa3.i-3-i.info/miruna/miteyo/hoge.html


は見て良いことになります。

これが「おい!クローラ!このページは見るんじゃねぇ!」の指定です。

「おい!クローラ!このページは見るんじゃねぇ!」の指定では……に限らずですが、robots.txtでは特別な文字「*(アスタリスク)」と「$(ドルマーク)」が使えます。
「User-agent: *」でも登場した「*(アスタリスク)」は「何でも良いよ」の意味を持つ文字です。小難しい言い方をすると「任意の0文字以上」と言ったりします。

例えば

Disallow: /hoge*.html

と指定した場合は

/hoge.html
/hoge1.html
/hoge12.html
/hoge12.htmlaaa
/hoge/abc.html


のように「/hoge」で始まって「.html」を含むディレクトリやファイルがすべて対象になります。

「$(ドルマーク)」の方は「~~で終わる」の意味です。
「Disallow:」「Allow:」の指定は前方一致(最初が合っていればOK)なので、例えば

Disallow: /hoge.html

と書いた場合、

/hoge.html
/hoge.htmlaaa
/hoge.html/abc.csv


等も理屈上は含まれてしまいます。

これを避けるために

Disallow: /hoge.html$

のように書くことで、ピンポイントで「/hoge.html」(「/hoge.html」で始まって、そこで終わる)を指定できるのです。

繰り返しになりますが、大事なことなのでもう一度書いておきます。
「Disallow:」「Allow:」の指定は前方一致です。ご注意くださいね。

Disallow: /hoge



Disallow: /hoge*

を指定したのと同じ扱いになりますよ。

ここまでがrobots.txtの書き方のメインです。あとは軽く読み流してください。

Sitemap: http://wa3.i-3-i.info/sitemap.xml

の部分で「このホームページのsitemap.xmlはどこですよ~」というのを指定しています。
「Sitemap:」に続けて、自分のホームページのsitemap.xmlのURLを指定してください。

Crawl-delay: 10

は巡回頻度です。「これ以上間隔を空けて来い!」の指示になります。
「あんま何回も来るな!鬱陶しいから!」なときに指定します……が、気休め程度にお考えください。
実際のところ、ここに指定した数字の単位が「秒」なのか「分」なのか、あるいはそれ以外なのかは検索エンジンによって違うようですしね。

最後にまとめると

User-agent: *
Disallow: /miruna/
Allow: /miruna/miteyo
Sitemap: http://wa3.i-3-i.info/sitemap.xml
Crawl-delay: 10


というrobots.txtを置いた場合、検索エンジンのクローラに対して

User-agent: *
すべてのクローラに告ぐ!
Disallow: /miruna/
URLが『http://wa3.i-3-i.info/miruna/ほげほげ』になるところは見るな!
Allow: /miruna/miteyo
ただしURLが「http://wa3.i-3-i.info/miruna/miteyoほげほげ」になるところは見て良いぞ!
Sitemap: http://wa3.i-3-i.info/sitemap.xml
サイトマップが欲しければ「http://wa3.i-3-i.info/sitemap.xml」を見よ!
Crawl-delay: 10
我がサイトへのアクセスは10(秒)以上、間を空けて行いたまえ!


な指示をしたことになります。

これがrobots.txtの書き方です。

あっ、そうそう。
robots.txtに関する大事な注意事項を書き忘れていました。

robots.txtの指示は必ず守られるわけではありません。
有名どころの検索エンジンのクローラさんは守ってくれるようですが、お行儀の悪いクローラさんは平気で無視しやがります。
玄関の前に「セールスお断り」の張り紙をしていても平気でピンポン鳴らしてくる営業さんがいるのと同じですね。
「えっ?これを見られると結構困るんだけど……」な場合は、robots.txtに頼らず、その他の方法(例えばBASIC認証とか)で対処してください。

image piyo2

一言でまとめるよ

まぁ「robots.txt」って単語が出てきたら「検索エンジンのクローラさんへの指示書なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク