robots.txt ファイルを作成する

robots.txt ファイルを使用して、クローラにサイトのどのファイルへのアクセスを許可するかを管理できます。robots.txt ファイルはサイトのルートに配置します。つまり、www.example.com というサイトであれば、robots.txt ファイルの URL は www.example.com/robots.txt になります。robots.txt は、Robots Exclusion Standard に準拠した書式なしテキスト ファイルです。 robots.txt ファイルは、1 つまたは複数のルールで構成されます。各ルールは、特定のクローラに対して、対象ウェブサイト内の特定のファイルパスへのアクセスをブロックまたは許可します。robots.txt ファイルで特に指定しない限り、ファイルはすべて暗黙的にクロールが許可されます。

2 つのルールで構成される簡単な robots.txt ファイルの例を以下に示します。

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

この robots.txt ファイルの説明:

  1. Googlebot という名前のユーザー エージェントには、http://example.com/nogooglebot/ で始まるいかなる URL のクロールも許可されていません。
  2. 他のすべてのユーザー エージェントには、サイト全体のクロールが許可されています。このルールを省略しても結果は同じになります。デフォルトの動作として、ユーザー エージェントはサイト全体のクロールを許可されているためです。
  3. サイトのサイトマップ ファイルhttp://www.example.com/sitemap.xml にあります。

詳細な例については、構文をご覧ください。

robots.txt ファイルを作成する際の基本的なガイドライン

robots.txt ファイルを作成して一般に公開し、正しく機能させるためには、次の 4 ステップを行います。

  1. robots.txt という名前のファイルを作成します
  2. robots.txt ファイルにルールを追加します
  3. サイトに robots.txt ファイルをアップロードします
  4. robots.txt ファイルをテストします

robots.txt ファイルを作成する

robots.txt ファイルの作成には、ほぼあらゆるテキスト エディタを使用できます。たとえば、メモ帳、テキストエディット(TextEdit)、vi、Emacs を使用して、有効な robots.txt ファイルを作成できます。ワープロソフトは使用しないでください。ワープロソフトは独自の形式でファイルを保存することが多く、カーリー クォートのような想定外の文字を追加することもあるため、クローラの動作に問題を引き起こす可能性があります。ファイルを保存する際にダイアログで選択を求められたら、必ず UTF-8 エンコードを指定します。

ファイル形式と場所に関するルール:

  • ファイル名は「robots.txt」にする必要があります。
  • 各サイトに配置できる robots.txt ファイルは 1 つだけです。
  • robots.txt ファイルは、適用するウェブサイト ホストのルートに配置する必要があります。たとえば、https://www.example.com/ の下にあるすべての URL に対するクロールを制御するには、robots.txt ファイルの場所を https://www.example.com/robots.txt としなければなりません。サブディレクトリには配置できません(例: https://example.com/pages/robots.txt)。ウェブサイトのルートへのアクセス方法が不明な場合やアクセス権限が必要な場合は、ご利用のウェブ ホスティング サービス プロバイダにお問い合わせください。ウェブサイトのルートにアクセスできない場合は、メタタグなど、別のブロック方法を使用してください。
  • robots.txt ファイルは、サブドメイン(例: https://website.example.com/robots.txt)や、標準以外のポート(例: http://example.com:8181/robots.txt)に適用できます。
  • robots.txt ファイルは、UTF-8 でエンコードされたテキスト ファイルにする必要があります(ASCII を含む)。Google は UTF-8 範囲外の文字を無視する場合があり、その結果、robots.txt ルールを無効と解釈する可能性があります。

robots.txt ファイルにルールを追加する

ルールとは、クローラに対して、サイト内のクロールを許可する部分を指示するものです。robots.txt ファイルにルールを追加する際には、以下のガイドラインを遵守します。

  • robots.txt ファイルは 1 つ以上のグループで構成します。
  • 各グループは複数のルールつまりディレクティブ(指示)で構成します。1 行につき 1 つのディレクティブを指定できます。各グループの最初に、グループの適用対象を指定する User-agent 行を含めます。
  • グループには次の情報を指定します。
    • グループを適用する対象(ユーザー エージェント)
    • そのエージェントによるアクセスを許可するディレクトリやファイル
    • そのエージェントによるアクセスを許可しないディレクトリやファイル
  • クローラは上から下に順番にグループを処理します。1 つのユーザー エージェントには、そのユーザー エージェントが一致する最初の最も限定的なグループ(ルールセット)1 つのみが適用されます。
  • デフォルトの場合、ユーザー エージェントは disallow ルールでブロックされていないページやディレクトリはすべてクロール可能と解釈します。
  • ルールでは大文字と小文字が区別されます。たとえば、disallow: /file.asphttps://www.example.com/file.asp に適用されますが、https://www.example.com/FILE.asp には適用されません。
  • コメントの先頭には # 文字を付けます。

Google のクローラは、robots.txt ファイルの次のディレクティブをサポートしています。

  • user-agent: [必須。グループごとに 1 つまたは複数] 検索エンジン クローラとして知られている、ルールの適用対象となる自動クライアントの名前を指定したディレクティブ。これが、すべてのルールの最初の行になります。Google のユーザー エージェントの名前は Google のユーザー エージェント一覧に掲載されています。アスタリスク(*)は、各種の AdsBot クローラを除く、すべてのクローラに一致します。AdsBot クローラは明示的に指定する必要があります。次に例を示します。
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • disallow: [ルールごとに disallow または allow のいずれかが少なくとも 1 つ必要] ユーザー エージェントによるクロールを禁止するディレクトリまたはページ(ルートドメインの相対 URL)。ルールの対象がページの場合は、ブラウザに表示される完全なページ名にする必要があります。先頭は / 文字にする必要があります。対象がディレクトリの場合は、末尾を / にします。
  • allow: [ルールごとに disallow または allow のいずれかが少なくとも 1 つ必要] 指定されたユーザー エージェントによるクロールを許可するディレクトリまたはページ(ルートドメインの相対 URL)。disallow ディレクティブの指定をオーバーライドし、許可されていないディレクトリ内のサブディレクトリやページのクロールを許可するために使用します。単一ページの場合は、ブラウザで表示される完全なページ名を指定します。ディレクトリの場合は、ルールの末尾を / にします。
  • sitemap: [省略可。ファイルごとにゼロ個以上] 対象ウェブサイトのサイトマップがある場所。完全修飾 URL であることが必要です。Google は代替 URL(http か https か、www があるかないか)を考慮またはチェックしません。サイトマップは、Google にクロールを許可するコンテンツや許可しないコンテンツではなく、クロールしてほしいコンテンツを指定するのに適した手段です。サイトマップの詳細についてご確認ください。 次に例を示します。
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

sitemap を除くすべてのディレクティブでは、パスのプレフィックス、サフィックス、または文字列全体について、* ワイルドカードを使用できます。

上記のディレクティブに一致しない行は無視されます。

各ディレクティブの詳細については、Google による robots.txt の指定の解釈をご覧ください。

robots.txt ファイルをアップロードする

robots.txt ファイルをパソコンに保存したら、それを検索エンジンのクローラが使用できるようにします。robots.txt ファイルをサイトにアップロードする方法は、サイトやサーバーのアーキテクチャによって異なるため、どのような場合にも使用できるようなツールは存在しません。ご使用のホスティング事業者に問い合わせるか、ホスティング事業者のドキュメントを検索します(例: 「アップロード ファイル infomaniak」)。

robots.txt ファイルをアップロードしたら、ファイルが一般公開されていて Google で解析できるかどうかをテストします。

robots.txt のマークアップをテストする

新たにアップロードした robots.txt ファイルが一般公開されているかどうかを確認するには、ブラウザでシークレット ブラウジング ウィンドウ(または同等のもの)を開き、robots.txt ファイルの場所に移動します(例: https://example.com/robots.txt)。robots.txt ファイルの内容が表示されたら、次にマークアップをテストします。

Google は、robots.txt のマークアップのテスト用に、次の 2 つの方法を用意しています。

  1. Search Console の robots.txt テスター。このツールは、サイト上ですでにアクセス可能になっている robots.txt ファイルに対してのみ使用できます。
  2. デベロッパーの方は、Google 検索でも使用されている、Google のオープンソースの robots.txt ライブラリをご確認のうえご利用ください。このツールを使用すると、robots.txt ファイルをパソコン上でローカルにテストできます。

robots.txt ファイルを Google に送信する

robots.txt ファイルをアップロードしてテストしたら、その後は Google のクローラが自動的に検出して使用を開始します。何もする必要はありません。robots.txt ファイルの更新後、できるだけ早く Google のキャッシュ コピーを更新する必要がある場合は、更新した robots.txt を送信する方法をご確認ください。

実用的な robots.txt のルール

一般的に役に立つ robots.txt のルールは次のとおりです。

実用的なルール
ウェブサイト全体でクロールを禁止する

注意点として、クロールされていなくてもウェブサイトの URL がインデックスに登録される場合があります。


User-agent: *
Disallow: /
ディレクトリとその内容のクロールを禁止する

ディレクトリ全体のクロールを禁止するには、ディレクトリ名の後にスラッシュを付けます。


User-agent: *
Disallow: /calendar/
Disallow: /junk/
1 つのクローラに対してのみアクセスを許可する

次の例では、googlebot-news のみがサイト全体をクロールできます。


User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
特定の 1 クローラを除くすべてのクローラに対してアクセスを許可する

次の例では、Unnecessarybot はサイトをクロールできず、その他の bot はすべてできます。


User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

1 つのウェブページのみクロールを禁止する

次の例では、useless_file.html ページのクロールを禁止しています。


User-agent: *
Disallow: /useless_file.html

特定の画像を 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$