robots.txt(ロボッツテキスト)とは - 使い方と記述例

Search Engine Optimization for web masters

robots.txtとは、検索エンジンに対する命令を記述するためのテキストファイルです。主な用途は以下の2点です。

  • 検索エンジンのクローラーに対してファイル又はディレクトリ全体へのアクセスを制御する
  • sitemap.xmlの場所を検索エンジンに通知する

検索エンジンのクローラーに対してファイル又はディレクトリ全体へのアクセスを制御する

テキストエディタを開き、以下のように記述することで機能します。ファイル名はrobots.txtと記述して、第一階層(TOPページのファイルが置いてある場所)にアップロードしてください。

User-agent: *
Disallow: /abc/

User-agent: *」は「あらゆるユーザーエージェントのロボットに対して命令する」という意味です。PC用Googleのクローラーにのみ命令したければ「User-agent: Googlebot」、画像収集用Googleのクローラーにのみ命令したければ「User-agent: Googlebot-Image」、モバイル用Googleのクローラーにのみ命令したければ「User-agent: Googlebot-Mobile」となります。

Disallow:」は「拒否する」という意味で、ここに「/」から始まるクロール拒否したいURLを記述します。この内容は部分一致で認識されますので、上記の例の場合、「/abc/」以下すべて、つまり「/abc/」も「/abc/efg/」も「/abc/efg.html」も全てクロールされなくなります。会員専用ページなどに対して使用することになるでしょう。このサイトでもサンクスページのURLがインデックスされることの無いよう、robots.txtを設定しています。

部分一致で認識されますので、ディレクトリごと拒否したい場合はきちんと末尾の「/」まで記述するように注意してください。例えば「/abc」と記述しただけでは「/abc/」に加えて「/abcefg/」もクロールされなくなってしまいます。

Disallow:」と反対の意味で「Allow:」(許可する)というコマンドもありますが、あまり使用することはありません。

インデックスが削除されてからDisallow:を使用する

もしすでにインデックスされているURLを削除したいときは、先に<meta name="robots">を指定するなどしてインデックスが無くなったことを確認してからrobots.txtを使用する方が確実でしょう。robots.txtによる「Disallow」の役割はあくまでクロールの拒否であってインデックスの削除では無いからです。

sitemap.xmlの場所を検索エンジンに通知する

robots.txtに以下のように記述することで、検索エンジンにsitemap.xmlの場所を通知することが可能です。

User-agent: *
Sitemap: http://www.example.com/sitemap.xml

「http://www.example.com/sitemap.xml」部分は任意のURLに書き換えてください。sitemap.xmlは複数指定することもできます。また、Googleはこのsitemap.xmlの設置場所について非常に寛容で、外部ドメインを指定することもできます。特に意味はないのであまりお勧めはしませんが、Google自身が外部ドメインのsitemap.xmlを指定しています
参考:Googleのrobots.txt

なお、上記に加えてウェブマスターツールでsitemap.xmlを送信しておくとより確実です。

同じカテゴリーのページ