2010年 10月 20日 はてなブックマーク -
タグ: #SEO

robots.txtの書式

自分用メモ
※2008/06/30時点でGoogleとYahoo!しか調べてない

○置き場所、ファイル名

/robots.txt

サブディレクトリ内においてはいけない。http://ドメイン名/robots.txtのように、ドメイン名直下になければならない。大文字、小文字を間違えてはいけない。

○書式
改行は、CR、CR/NL、NLで区別される。
一つの行は、以下の書式で記される。
:

○コメント
「#」以降、行の終わりまでコメントとして解釈される。

の種類

User-agent: <ボット名>

ボットを指定する。
User-agentは複数のDisallowと対になり、一つのボットに対する動作を定義する。
Disallowは一つでも良いが無しにはできない。
列挙されたボット名に当てはまらないとき、ボット名「*」の設定が利用される。

今のところ確認しているボット名は以下のとおり。

Googlebot
Googlebot-Mobile
Googlebot-Image
Mediapartners-Google
Adsbot-Google
Slurp ※Yahoo!

Disallow: <パス>

アクセスを禁止するファイル、ディレクトリを指定する。
「/」を指定することで全てのディレクトリがボットにより参照されなくなる。
「/image/」を指定することで「image」ディレクトリとディレクトリ内の全てのファイルが参照されなくなる。
「/index.html」とすることで、「index.html」ファイルのみが参照されなくなる。
「Disallow:」とすることで、アクセスを制限するファイル、ディレクトリが無いこととなり、事実上制限がなくなる。

■拡張
以下の機能は拡張機能なので、他のボットでは使えない可能性がある。

○Allow(Googlebot、Slurp)

Disallowの反対の意味で、アクセスを許可するファイル、ディレクトリを指定する。
Disallowと同時に使うことにより、細かなアクセス設定が可能となる。
たとえば、Disallowによってディレクトリ内の全てのファイルをアクセス不可とし、特定のファイルのみAllowによってアクセスを許可させることもできる。

○Disallow/Allowのワイルドカード指定(Googlebot、Slurp)
パスを指定するとき、「*」を含めることでパターン一致で指定することができる。

Disallow: /temp_*/
Disallow: /*?*

また、「$」を使用して末尾を一致させることができる。

Disallow: /image/*.gif$

「?」を含むURLは、セッションIDを含んでいたりするので同じページを複数URLで認識されてしまうことがある。
これはまずいので、「?」を使っているURLは除外する。

○Crawl-delay(Slurp)

Crawl-delay: x.x

値は実数で指定する。最大値は5.0。
ボットによる検索がサーバーにとって高負荷となる場合、この値を大きくして検索の頻度を下げるべき。
しかし、それによって検索結果の更新が遅れてしまう。
なので、不要なディレクトリをDisallowで検索させないようにし、サーバーの負荷を減らした上でこの値を小さい値にするべき。

○Sitemap(Googlebot、Slurp)

指定したURLにサイトマップがあることを明記する。

Sitemap: http://www.example.com/sitemap.xml

URLはhttp://から省略せずに記述する。サイトマップのXMLファイルは、http://www.sitemaps.orgで記述されたものに準拠する。

重厚長大: robots.txtの書式

ちなみにGoogleのクロール頻度を変えた場合、robots.txtのCrawl-delayプロパティは見てくれません。
Googleウェブマスターツールのアカウントを作り、そこから設定する必要があります。


1年前 | | 2010年 10月 20日 | このエントリーを含むはてなブックマーク