robots.txtファイルは、クローラーにサイトのどのファイルへのアクセスを許可するか、管理できるファイルです。
基本的なルール
- ファイル名は「robots.txt」にする必要があります。
- 各サイトに配置できるrobots.txtファイルは1つだけです。
- robots.txtファイルは、適用するサイトホストのルートに配置する必要があります。
- robots.txtファイルは、サブドメインにも配置できます。
- robots.txtファイルは、投稿したプロトコル、ホスト、ポート内のパスにのみ適用されます。
- robots.txtファイルは、UTF-8でエンコードされたテキスト ファイルにする必要があります(ASCIIを含む)
- 大文字と小文字が区別されます。
- コメントの先頭には
#
文字を付けます。
基本的な書き方
#グループを適用する対象(ユーザー エージェント)
User-agent: *
#そのエージェントによるアクセスを許可しないディレクトリやファイル
Disallow: /
#そのエージェントによるアクセスを許可するディレクトリやファイル
Allow: /public/
#対象サイトのサイトマップがある場所(省略可)
Sitemap: https://www.example.com/sitemap.xml
ケース別の色々な記述例(サンプル)
一般的に役に立つrobots.txtのルールは次のとおりです。
サイト全体でクロールを禁止する
注意点として、クロールされていなくてもサイトのURLがインデックスに登録される場合があります。
User-agent: *
Disallow: /
ディレクトリとその内容のクロールを禁止する
ディレクトリ全体のクロールを禁止するには、ディレクトリ名の後にスラッシュを付けます。
User-agent: *
Disallow: /calendar/
Disallow: /junk/
Disallow: /books/fiction/contemporary/
1つのクローラーに対してのみアクセスを許可する
次の例では、googlebot-news
のみがサイト全体をクロールできます。
User-agent: Googlebot-news
Allow: /
User-agent: *
Disallow: /
特定の1クローラーを除くすべてのクローラーに対してアクセスを許可する
次の例では、Unnecessarybot
はサイトをクロールできず、その他のbotはすべてできます。
User-agent: Unnecessarybot
Disallow: /
User-agent: *
Allow: /
1つのウェブページのみクロールを禁止する
次の例では、https://example.com/useless_file.html
にあるuseless_file.html
ページと、junk
ディレクトリ内のother_useless_file.html
を禁止しています。
User-agent: *
Disallow: /useless_file.html
Disallow: /junk/other_useless_file.html
1つのサブディレクトリを除いてサイト全体のクロールを禁止する
クローラはpublic
サブディレクトリにのみアクセスできます。
User-agent: *
Disallow: /
Allow: /public/
特定の画像をGoogle画像検索からブロックする
次の例では、dogs.jpg
という画像のクロールを禁止しています。
User-agent: Googlebot-Image
Disallow: /images/dogs.jpg
サイト上のすべての画像をGoogle画像検索からブロックする
Googleは、クロールすることなく画像や動画をインデックスに登録できません。
User-agent: Googlebot-Image
Disallow: /
特定のファイル形式のファイルに対するクロールを禁止する
次の例では、すべての .gif
ファイルのクロールを禁止しています。
User-agent: Googlebot
Disallow: /*.gif$
Mediapartners-Google 以外によるサイト全体のクロールを禁止する
次の例では、ページは検索結果に表示されなくなりますが、Mediapartners-Google
ウェブクローラーは引き続きページを分析して、サイト訪問者に表示する広告を決定できます。
User-agent: *
Disallow: /
User-agent: Mediapartners-Google
Allow: /
ワイルドカードとして*
と$
を使用すると、特定の文字列で終わるURLを一致させることができます。
次の例では、すべての.xls
ファイルのクロールを禁止しています。
User-agent: Googlebot
Disallow: /*.xls$