検索
検索をクリア
検索終了
Google アプリ
メインメニュー
true

robots.txt を使用して URL をブロックする

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

robots.txt ファイルを作成するには、ドメインのルートにアクセスする必要があります。ルートにアクセスする方法が不明な場合は、ウェブをホストしているサービス プロバイダにお問い合わせください。また、ドメインのルートにアクセスできないことがわかっている場合は、サーバー上のファイルをパスワードで保護する方法HTML にメタタグを挿入する方法など、別のブロック方法を利用できます。

robots.txt テスターツールでは、新しい robots.txt ファイルの作成や既存の robots.txt ファイルの編集を行うことができます。robots.txt に変更を加えながら、変更内容をテストすることができます。

robots.txt 構文について

最もシンプルな robots.txt ファイルは、User-agent(ユーザー エージェント)Disallow という 2 つのキーワードを使用します。ユーザー エージェントとは検索エンジン ロボット(ウェブクローラ ソフトウェア)のことで、大半のユーザー エージェントは Web Robots Database(リンク先は英語)に掲載されています。Disallow は、特定の URL にアクセスしないようユーザー エージェントに対して指示するコマンドです。逆に、ブロックされている親ディレクトリ内の子ディレクトリである特定の URL に Google がアクセスできるようにするには、3 つ目のキーワード Allow を使用できます。

Google では、Google 検索用の Googlebot、Google 画像検索用の Googlebot-Image など、さまざまなユーザー エージェントを使用します。通常 Google ユーザー エージェントは、Googlebot 用に設定されたルールに従います。ただし、特定の Google ユーザー エージェントのみを指定して、一般的なルールをオーバーライドし、特定のルールに従うよう設定することもできます。

キーワードを使用した構文のサンプルは次のとおりです。

User-agent: [the name of the robot the following rule applies to]

Disallow: [the URL path you want to block]

Allow: [the URL path in of a subdirectory, within a blocked parent directory, that you want to unblock]

この 2 つの行は、1 つのペアとしてファイル内で単一のエントリと見なされ、Disallow ルールはその上に規定されたユーザー エージェントにのみ適用されます。エントリは必要な数だけ含めることができ、複数のユーザー エージェントに対する複数の Disallow 行を、すべて 1 つのエントリで適用できます。User-agent コマンドをすべてのウェブクローラに適用するには、次の例のようにアスタリスク(*)を記述します。

User-agent: *

robots.txt ファイルで使用する URL ブロック コマンド

ブロック対象

サイト全体の場合、スラッシュ(/)を使用します。

Disallow: /

ディレクトリとそのコンテンツの場合、ディレクトリ名とスラッシュを続けます。

Disallow: /sample-directory/

ウェブページの場合、スラッシュの後にページのリストを記述します。

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 以外のすべてのウェブクローラに対して Disallow を設定します。これにより、検索結果にページは表示されなくなりますが、Mediapartners-Google ウェブクローラは引き続きページの分析を行い、どの広告を表示するか判断します。

User-agent: *

Disallow: /

User-agent: Mediapartners-Google

Allow: /

ディレクティブでは大文字と小文字が区別されます。たとえば、Disallow: /file.asp を指定すると、http://www.example.com/file.asp はブロックされますが、http://www.example.com/File.asp はブロックされません。また、Googlebot では空白と、robots.txt 内の不明なディレクティブは無視されます。
robots.txt コードを合理化するためのパターンマッチ ルール

パターンマッチ ルール

サンプル

文字列をブロックする場合、アスタリスク(*)を使用します。右の例では、「private」で始まるすべてのサブディレクトリへのアクセスがブロックされます。

User-agent: Googlebot

Disallow: /private*/

疑問符(?)を含むすべての URL に対するアクセスをブロックするには、次のように記述します。右の例では、ドメイン名から始まり、その後に任意の文字列と疑問符が続き、任意の文字列で終わる URL がブロックされます。

User-agent: Googlebot

Disallow: /*?

特定の終わり方をする URL をブロックする場合$ を使用します。右の例では、.xls で終わるすべての URL がブロックされます。

User-agent: Googlebot

Disallow: /*.xls$

Allow と Disallow のディレクティブでパターンをブロックする場合、右側のサンプルをご覧ください。この例では、「?」はセッション ID を示します。 通常は、こうした ID を含む URL をブロックして、重複するページを Google のクローラがクロールしないようにする必要があります。一方、? で終わる URL は、 許可したいページの場合、次のように Allow と Disallow のディレクティブを組み合わせる方法を使用できます。

  1. Allow: /*?$ ディレクティブは、? で終わる URL をすべて許可します(正確には、ドメイン名で始まり、文字列の後に ? が続き、その ? で終わる URL を許可します)。
  2. Disallow: / *?  ディレクティブは ? を含む URL をブロックします (正確には、ドメイン名で始まり、文字列が続き、疑問符があり、文字列が続く URL をブロックします)。

User-agent: *

Allow: /*?$

Disallow: /*?

robots.txt ファイルを保存する

Googlebot やその他のウェブクローラが robots.txt ファイルを検出、識別できるよう次の保存規則を適用する必要があります。

  • robots.txt コードはテキスト ファイルとして保存してください。
  • ファイルはサイトの最上位のディレクトリ(またはドメインのルート)に置いてください。
  • robots.txt ファイルには robots.txt という名前を付けてください。

たとえば、URL アドレス http://www.example.com/robots.txt では、example.com のルートに保存された robots.txt ファイルはウェブクローラで検出されますが、http://www.example.com/not_root/robots.txt にある robots.txt ファイルは検出されません。

この記事は役に立ちましたか?
改善できる点がありましたらお聞かせください。