Robots メタタグと X-Robots-Tag HTTP ヘッダーの仕様

概要

このドキュメントでは、Google でのページレベルのインデックス登録設定の処理方法について説明します。この設定を使用すると、検索結果でコンテンツを表示する方法を制御できます。この設定は、(X)HTML ページにメタタグを追加するか、HTTP ヘッダーで指定できます。

注: クローラがこの設定を読み取り、それに従って動作できるのは、この設定を含むページへのアクセスを許可されている場合のみです。

トップへ戻る

robots メタタグの使用

robots メタタグを使用すると、個別のページのインデックス登録方法と検索結果でのユーザーへの表示方法を、個々のページ単位で詳細に制御できます。対象のページの <head> セクションに、robots メタタグを次のように配置します。

<!DOCTYPE html>
<html><head>
<meta name="robots" content="noindex" />
(…)
</head>
<body>(…)</body>
</html>

上記の例では、robots メタタグで、検索結果でそのページを表示しないようにすべての検索エンジンに指示しています。name 属性の値(robots)は、このディレクティブをすべてのクローラに適用するよう指定しています。特定のクローラを対象とするには、name 属性の値 robots を、そのクローラの名前に置き換えます。特定のクローラはユーザーエージェントとしても知られています(クローラはユーザーエージェントを使用してページを要求します)。Google の標準ウェブクローラのユーザーエージェント名は Googlebot です。Googlebot によるページのクロールだけをブロックするには、タグを次のように変更します。

<meta name="googlebot" content="noindex" />

このタグは、ウェブ検索結果でこのページを表示しないように、Google だけに指示しています(他の検索エンジンには指示しません)。name 属性と content 属性ではいずれも、大文字と小文字は区別されません。

検索エンジンは、プロパティや目的ごとに異なるクローラを使用する場合があります。Google クローラの一覧をご覧ください。たとえば、あるページを Google のウェブ検索結果では表示し、Google ニュースでは表示しないようにするには、次のメタタグを使用します。

<meta name="googlebot-news" content="noindex" />

複数のクローラを個別に指定する必要がある場合は、複数の robots メタタグを使用できます。

<meta name="googlebot" content="noindex">
<meta name="googlebot-news" content="nosnippet">

クローラが競合するディレクティブを検出した場合は、最も限定的なディレクティブが使用されます。

トップへ戻る

X-Robots-Tag HTTP ヘッダーの使用

X-Robots-Tag は、特定の URL に対する HTTP ヘッダーの応答の要素として使用できます。robots メタタグで使用できるすべてのディレクティブを X-Robots-Tag として使用できます。X-Robots-Tag を使用してクローラにページをインデックス登録しないように指示している HTTP 応答の例を次に示します。

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

HTTP 応答内で複数の X-Robots-Tag ヘッダーを組み合わせることができます。また、複数のディレクティブをカンマで区切って指定することもできます。X-Robots-Tag noarchiveX-Robots-Tag unavailable_after を組み合わせた HTTP ヘッダーの応答の例を次に示します。

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noarchive
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST
(…)

X-Robots-Tag では、ディレクティブの前にユーザーエージェントを指定することもできます。たとえば、次の一連の X-Robots-Tag HTTP ヘッダーを使用すると、異なる複数の検索エンジンに検索結果へのページの表示を許可するかどうかを選択的に指示できます。

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)

ユーザーエージェントなしで指定されているディレクティブは、すべてのクローラに対して有効です。次のセクションでは、組み合わせたディレクティブの処理方法を示します。名前と指定した値はいずれも、大文字と小文字が区別されません。

トップへ戻る

インデックス登録と表示に関する有効なディレクティブ

robots メタタグと X-Robots-Tag で複数のディレクティブを使用して、インデックス登録と表示を制御できます。各値は特定のディレクティブを表します。次の表は、Google が認識するすべてのディレクティブとその意味を示しています。注: 検索エンジンのクローラによって、このディレクティブの処理方法が異なる場合があります。ディレクティブを複数指定する場合は、カンマ区切りリストで組み合わせることができます(結合されたディレクティブの処理については後述の説明をご覧ください)。このディレクティブでは大文字と小文字が区別されません。

ディレクティブ意味
all インデックスの登録や表示について、制限はありません。注: このディレクティブは既定値であり、明示的に指定しても影響はありません。
noindex このページを検索結果で表示しません。また、検索結果で [キャッシュ] リンクを表示しません。
nofollow このページのリンクをたどりません。
none noindex, nofollow と同じです。
noarchive 検索結果で [キャッシュ] リンクを表示しません。
nosnippet このページの検索結果にスニペットを表示しません。
noodp このページのタイトルやスニペットに Open Directory プロジェクトのメタデータを使用しません。
notranslate 検索結果でこのページの翻訳を提供しません。
noimageindex このページの画像をインデックスに登録しません。
unavailable_after: [RFC-850 date/time] 指定した日時以降は、このページを検索結果に表示しません。日時は RFC 850 形式(リンク先は英語)で指定する必要があります。

robots.txt ファイルでページのクロールを許可した場合(または robots.txt ファイルがない場合)、robots メタタグまたは X-Robots-Tag で明示的に不許可にしない限り、ページは既定でクロール可能、インデックス登録可能、キャッシュ可能として扱われるほか、それらのページのコンテンツについても、検索結果に表示されるスニペットでの使用が許可されます。

トップへ戻る

インデックス登録と表示のディレクティブの組み合わせの処理

robots メタタグ ディレクティブをカンマで結合することで、複数のディレクティブからなる指示を作成できます。次に示すのは、ページをインデックスに登録せず、ページ上のリンクをクロールしないように、ウェブクローラに指示する、robots メタタグの例です。

<meta name="robots" content="noindex, nofollow">

複数のクローラに異なるディレクティブが指定されている場合、検索エンジンはネガティブなディレクティブを組み合わせて使用します。次に例を示します。

<meta name="robots" content="nofollow">
<meta name="googlebot" content="noindex">

このメタタグを含んだページを Googlebot がクロールする際は、noindex, nofollow ディレクティブが指定されていると解釈します。

トップへ戻る

Apache での X-Robots-Tag の実装

X-Robots-Tag をサイトの HTTP 応答に追加するには、.htaccess ファイルと httpd.conf ファイルを使用します。このファイルは Apache ベースのウェブサーバーで既定で利用可能になっています。HTTP 応答で X-Robots-Tag を使用するメリットは、サイト全体に適用されるクロールのディレクティブを指定できるという点です。正規表現がサポートされているため、柔軟な指定が可能です。

たとえば、サイト全体ですべての .PDF ファイルについての HTTP 応答に X-Robots-Tagnoindex, nofollow を追加するには、サイトのルートの .htaccess ファイルか httpd.conf ファイルに次のスニペットを追加します。

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

X-Robots-Tag は、画像ファイルなど、robots メタタグを使用できない非 HTML ファイルに使用できます。次の例は、サイト全体の画像ファイル(.png、.jpeg、.jpg、.gif)について X-Robots-Tagnoindex ディレクティブを追加します。

<Files ~ "\.(png|jpe?g|gif)$">
  Header set X-Robots-Tag "noindex"
</Files>

トップへ戻る

インデックス登録や表示のディレクティブと、クロールの組み合わせ

robots メタタグと X-Robots-Tag HTTP ヘッダーは、URL がクロールされたときに検出されます。robots.txt ファイルでページのクロールが許可されていない場合、インデックス登録や表示のディレクティブに関する情報は検出されず、そのため無視されます。インデックス登録や表示のディレクティブを適用する必要がある場合は、それらのディレクティブを含む URL のクロールを不許可にすることはできません。

トップへ戻る

フィードバックを送信...