robots.txt

robots.txt は、ウェブクローラに対してウェブサイトへのアクセスをしないように指示を伝えるためのファイルです。

初めてウェブサイトに robots.txt の導入することを考えている場合はこの記事が役立つでしょう。

robots.txt の役割

robots.txt はウェブサイトのルートに配置されているファイルです(例えば、www.example.com/robots.txt)。このファイルは、クローラー にウェブサイトへのアクセスを許可するか、禁止するかを指示します。

  1. example.com/
  2. ├ public_html/
  3. │ ├ index.html
  4. │ ├ robots.txt

注意点

全てのクローラが遵守しているわけではない

  • robots.txt の設定でアクセスを禁止してもクローラーが必ずそれを守るという保証はありません。

→ 禁止してもアクセスされることがある。(例えば、Google-Read-Aloud は robots.txt のルールには従いません。)

  • robots.txt は公開ファイルです。

→ アクセスされたくないパスを明示することになります。

robots.txt はアクセス制限としては使用できません。セキュリティ上見られて困るものはパスワードをかけるなどする必要があります。

ウェブページの場合、インデックスが付かなくなるわけではない(Google)

Googleでは、robots.txt によってアクセスが禁止されているページでも、他のサイトからリンクされていればインデックスに登録され、検索結果に表示されることがあります。

その場合、ページの説明が「このページに関する情報はありません」といったメッセージになります。

robots.txt と noindexディレクティブの使い分け

robots.txt は、基本的にはクローラのサイトへのトラフィックを管理するために使用します。

Webページの場合、検索結果で表示されないようにするには noindex ディレクティブで対応します。robots.txt には含めないでください

ただし、画像や動画などは robots.txt で禁止することにより検索結果から除外されます。

robots.txt の書き方

前提:

  • ウェブサイトの公開ルートに「robots.txt」という名前でファイルを作成します。
  • 文字コードはUTF-8を使用してください。
  • サイトに配置できる robots.txt ファイルは 1 つだけです。
  • robots.txt ファイルは、サブドメインや標準以外のポートに適用できます。

書き方:

  • ルールは行ごとに記述します。
  • ルールは上から順番に適用されます。
  • 1つの User-agent と1つ以上の Disallow または Allow で グループ を作ります。
    • User-agent に対象とするロボットを指定します。
    • Disallow に禁止とするパスを指定します。
    • Allow に許可したいパスを指定します。(Disallowで指定されなかったスコープはAllowです。)
  • Sitemap にサイトマップのパスを指定します。これは省略でき、複数指定も可能です。
  • # 以降は行コメントとして扱われます。1行まるごとでも行の途中からでも構いません。
robots.txt
  1. # 1つ目のグループ
  2. User-agent: * # 全てのロボットを対象
  3. Disallow: /private/
  4. Disallow: /*.xls$ # .xls を禁止
  5.  
  6. # 2つ目のグループ
  7. User-agent: bingbot # 特定のロボットを対象
  8. Disallow: /
  9. Allow: /public/ # オーバーライド
  10.  
  11. # 3つ目のグループ
  12. User-agent: Googlebot Allow: # すべて許可
  13. Sitemap: https://example.com/sitemap.xml
  14. Sitemap: https://www.example.com/sitemap.xml

1つ目のセクションの User-agent: * は、このセクションがすべてのロボットに適用されることを意味します。そして、Disallow: /sitemap.xml の部分で sitemap.xml のみアクセスを禁止しています。

2つ目のセクションの User-agent: BadBot では特定のロボットを対象にしています。そして、 Disallow:/ で、全てのアクセスを禁止しています。

ユーザーエージェント名

代表的な ユーザーエージェント名は次の通りです。

GooglebotGoogle の標準ウェブクローラ
Googlebot-ImageGoogle の画像検索
Googlebot-VideoGoogle の動画検索
Googlebot-NewsGoogle のニュース検索
bingbotMicrosoft Bing の標準ウェブクローラ

さらに詳しく知りたい場合はSearch Console ヘルプBing webmaster help & how-toが参考になります。

robots.txt のテストツール

robots.txt テスターの画面

robots.txt はGoogle’s robots.txt analysis toolでテストすることができます。ただし、Google Search Console でサイトを登録しておく必要があります。

更新した robots.txt を Google に送信

robots.txt テスター ツールの送信機能を使用して、サイトに新しい robots.txt ファイルを配置し、Google にクロールとインデックス登録をリクエストすることが簡単にできます。詳しくは、robots.txt テスターで robots.txt をテストするをご覧ください。