robots.txt について

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

Wix や Blogger などのサイト ホスティング サービスのユーザーは、多くの場合、robots.txt ファイルを作成したり、編集したりする必要はありません

はじめに

robots.txt ファイルはサイトのルートに配置されています。したがって、www.example.com のサイトでは、robots.txt ファイルは www.example.com/robots.txt にあります。robots.txt は、Robots Exclusion Standard に準拠するプレーン テキスト ファイルです。robots.txt ファイルは、1 つまたは複数のルールで構成されます。各ルールは、特定のクローラに対して、対象ウェブサイト内の特定のファイルパスへのアクセスをブロック(または許可)します。

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

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

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

 

説明:

  1. 「Googlebot」クローラという名前のユーザー エージェントは、フォルダ「http://example.com/nogooglebot/」やそのサブディレクトリをクロールできません。
  2. 他のユーザー エージェントは、すべてサイト全体にアクセスできます(デフォルトでフルアクセス権限が付与されるため、このルールを省略しても結果は同じになります)。
  3. サイトのサイトマップ ファイルが http://www.example.com/sitemap.xml にあります。

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

robots.txt の基本的なガイドライン

robots.txt ファイルの基本的なガイドラインは次のとおりです。robots.txt の構文の細かな動作について理解しておく必要があるため、robots.txt ファイルの完全な構文をご確認になることをおすすめします。

ファイル形式と場所

robots.txt ファイルの作成には、ほぼあらゆるテキスト エディタを使用できます。ただし、テキスト エディタは、標準の UTF-8 テキスト ファイルを作成できるものでなければなりません。ワープロは使用しないでください。ワープロは独自の形式でファイルを保存することが多く、カーリー クォートのような想定外の文字を追加することもあるため、クローラの動作に問題が生じる可能性があります。

サイトの robots.txt ファイルを作成または編集するには、robots.txt テスターというツールを使用してください。このツールを使用すると、サイトに対して構文と動作をテストできます。

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

  • ファイルの名前は「robots.txt」であることが必要です。
  • 各サイトに配置できる robots.txt ファイルは 1 つだけです。
  • robots.txt ファイルは、適用するウェブサイト ホストのルートに配置する必要があります。たとえば、http://www.example.com/ の下にあるすべての URL に対するクロールを制御するには、robots.txt ファイルを http://www.example.com/robots.txt として配置する必要があります。サブディレクトリには配置できません(例: http://example.com/pages/robots.txt)。ウェブサイトのルートへのアクセス方法が不明な場合やアクセス権限が必要な場合は、ご利用のウェブ ホスティング サービス プロバイダにお問い合わせください。ウェブサイトのルートにアクセスできない場合は、メタタグなど、別のブロック方法を使用してください。
  • robots.txt ファイルは、サブドメイン(例: http://website.example.com/robots.txt)や、標準以外のポート(例: http://example.com:8181/robots.txt)に適用できます。
  • コメントは # 記号の後に記述します。

構文

  • robots.txt は UTF-8 でエンコードされたテキスト ファイルにする必要があります(ASCII を含む)。他の文字セットは使用できません。
  • robots.txt ファイルは 1 つまたは複数のグループで構成されます。
  • グループは複数のルールつまりディレクティブ(命令)で構成されます。1 行につき 1 つのディレクティブを指定できます。
  • グループには次の情報を指定します。
    • グループを適用する対象(ユーザー エージェント
    • そのエージェントによるアクセスを許可するディレクトリやファイル
    • そのエージェントによるアクセスを許可しないディレクトリやファイル
  • グループは上から下に順番に処理され、各ユーザー エージェントには 1 つのルールセットだけが適用されます。そのルールセットとは、ユーザー エージェントに適合する最初の最も明確なルールです。
  • デフォルトの想定では、ユーザー エージェントは「Disallow:」ルールでブロックされないすべてのページまたはディレクトリをクロールできます。
  • ルールでは大文字と小文字が区別されます。たとえば、「Disallow: /file.asp」は、http://www.example.com/file.asp には適用されますが、http://www.example.com/File.asp には適用されません。

robots.txt ファイル内で使用されるディレクティブは次のとおりです。

  • User-agent: [必須。グループごとに 1 つまたは複数] ルールの適用対象となる検索エンジン ロボット(ウェブクローラ ソフトウェア)の名前。これが、すべてのルールの最初の行になります。大半のユーザー エージェント名は、Web Robots Database または Google のユーザー エージェント一覧に掲載されています。パスのプレフィックス、サフィックス、または文字列全体についてワイルドカード(*)を使用できます。下記の例のアスタリスク(*)は、各種の AdsBot クローラを除くすべてのクローラに一致します。AdsBot クローラは明示的に指定する必要があります(Google クローラ名のリストをご覧ください)。例:
    # 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)。Allow を使用すると、Disallow をオーバーライドして、Disallow が指定されたディレクトリ内のサブディレクトリまたはページのクロールを許可できます。ページの場合は、ブラウザで表示される完全なページ名にする必要があります。ディレクトリの場合は、末尾を「/」にする必要があります。パスのプレフィックス、サフィックス、または文字列全体についてワイルドカード(*)を使用できます。
  • Sitemap: [省略可。ファイルごとにゼロ個以上] 対象ウェブサイトのサイトマップがある場所。完全修飾 URL であることが必要です。Google は代替 URL(http か https か、www があるかないか)を考慮またはチェックしません。Sitemap は、Google にクロールを許可するコンテンツや許可しないコンテンツではなく、Google でクロールする必要のあるコンテンツを指定するのに適した手段です。サイトマップの詳細についてご確認ください。 例:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

他のルールは無視されます。

他のファイル例

robots.txt ファイルは 1 つまたは複数のグループで構成されます。各グループは、グループの適用対象を指定する User-agent 行で始まります。2 つのグループで構成されるファイルの例を以下に示します。インライン コメントは各グループの説明です。

# 「example.com/directory1/...」と「example.com/directory2/...」を googlebot からブロック
# ただし、「directory2/subdirectory1/...」へのアクセスは許可
# サイト内の他のディレクトリはすべてデフォルトで許可されています。
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# サイト全体を anothercrawler からブロック
User-agent: anothercrawler
Disallow: /

robots.txt の完全な構文

robots.txt の完全な構文については、こちらをご覧ください。robots.txt の構文には少々複雑な部分がありますので、ドキュメント全体をよく読んで、十分に理解するようにしてください。

実用的な robots.txt のルール

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

ルール
ウェブサイト全体でクロールを禁止する -  ただし、場合によっては、クロールされていなくてもウェブサイトの URL がインデックスに登録されることがあります。また、このルールは、各種 AdsBot クローラには適用されません(AdsBot クローラは、明示的に指定する必要があります)。
User-agent: *
Disallow: /
ディレクトリとそのコンテンツのクロールを禁止する - ディレクトリ名の後にスラッシュを付けます。非公開コンテンツへのアクセスをブロックする場合は、robots.txt を使用するのではなく、適切な認証方法を使用してください。robots.txt ファイルでブロックしている URL であっても、クロールされないままインデックスに登録されることがあります。また、robots.txt ファイルは誰でも見ることができるため、非公開コンテンツの場所を知られてしまう可能性があります。
User-agent: *
Disallow: /calendar/
Disallow: /junk/
単一のクローラに対してアクセスを許可する
User-agent: Googlebot-news
Allow: /

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

User-agent: *
Allow: /

単一のウェブページに対するクロールを禁止する - スラッシュの後に対象ページを指定します。

User-agent: *
Disallow: /private_file.html

特定の画像を Google 画像検索からブロックする

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

サイト上のすべての画像を Google 画像検索からブロックする

User-agent: Googlebot-Image
Disallow: /

特定のファイル形式のファイルに対するクロールを禁止する(例: .gif

User-agent: Googlebot
Disallow: /*.gif$

サイト全体でクロールを禁止するが、ページ上で AdSense 広告を表示する - Mediapartners-Google 以外のすべてのウェブクローラをブロックします。これにより、対象ページは検索結果に表示されなくなりますが、Mediapartners-Google ウェブクローラは引き続きページを分析し、サイトにアクセスしたユーザーにどの広告を表示するかを判断します。

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
特定の文字列で終わる URL を指定する -「$」を使用します。右の例の場合、「.xls」で終わるすべての URL がブロックされます。
User-agent: Googlebot
Disallow: /*.xls$
この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。