Robots meta
タグ、data-nosnippet
、X-Robots-Tag
の設定
このドキュメントでは、Google の検索結果でコンテンツが表示される方法を調整するための、ページレベルとテキストレベルの設定について説明します。ページレベルの設定を指定するには、HTML ページまたは HTTP ヘッダーに meta
メタタグを配置します。テキストレベルの設定は、ページ内の HTML 要素の data-nosnippet
属性で指定できます。
クローラがこの設定を読み取り、それに従って動作できるのは、この設定を含むページへのアクセスを許可されている場合のみです。
<meta name="robots" content="noindex">
ルールは、検索エンジンのクローラに適用されます。AdsBot-Google
などの非検索クローラをブロックするには、特定のクローラをターゲットにしたルール(例: <meta name="AdsBot-Google" content="noindex">
)の追加が必要になる場合があります。
robots meta
タグの使用
robots meta
タグを使用すると、個別のページを Google 検索結果でインデックスに登録してユーザーに表示する方法をページ単位で詳細に制御できます。対象ページの <head>
セクションに、robots meta
タグを次のように配置します。
<!DOCTYPE html> <html><head> <meta name="robots" content="noindex"> (…) </head> <body>(…)</body> </html>
この例では、robots meta
タグで、検索結果にこのページを表示しないように検索エンジンに指示しています。name
属性の値(robots
)は、このルールをすべてのクローラーに適用するよう指定しています。name
属性と content
属性はいずれも、大文字と小文字が区別されません。特定のクローラーを対象とするには、name
属性の値 robots
をそのクローラーのユーザー エージェント トークンに置き換えます。Google が robots meta
タグでサポートしているのは 2 種類のユーザー エージェント トークンで、他の値は無視されます。
googlebot
: すべてのテキスト検索結果用googlebot-news
: ニュースの検索結果用
たとえば、Google に対してある特定のページを検索結果に表示しないように指示するには、meta
タグの名前を googlebot
にします。
<meta name="googlebot" content="noindex">
あるページを Google のウェブ検索結果では表示し、Google ニュースでは表示しないようにするには、次のように googlebot-news
meta
タグを使用します。
<meta name="googlebot-news" content="noindex">
複数のクローラーを個別に指定するには、複数の robots meta
タグを使用します。
<meta name="googlebot" content="noindex"> <meta name="googlebot-news" content="nosnippet">
PDF ファイル、動画ファイル、画像ファイルなど、HTML 以外のリソースのインデックス登録をブロックするには、代わりに X-Robots-Tag
レスポンス ヘッダーを使用します。
X-Robots-Tag
HTTP ヘッダーの使用
X-Robots-Tag
は、指定した URL に対する HTTP ヘッダー応答の要素として使用できます。robots meta
タグで使用できるルールは、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
ヘッダーを組み合わせて使用できます。また、ルールのカンマ区切りのリストを指定することもできます。noarchive
X-Robots-Tag
と unavailable_after
X-Robots-Tag
を組み合わせた 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 (…)
ユーザー エージェントなしで指定されているルールは、すべてのクローラに対して有効です。HTTP ヘッダー、ユーザー エージェント名、指定された値では、大文字と小文字が区別されません。
インデックス登録と表示に関する有効なルール
robots meta
タグと X-Robots-Tag
で次のルール(機械で読み取り可能な形式でも利用可能)を使用して、スニペットのインデックス登録と表示を制御できます。各値は特定のルールを表します。カンマ区切りのリストまたは別々の meta
タグで複数のルールを組み合わせて指定できます。これらのルールでは大文字と小文字が区別されません。
ルール | |
---|---|
|
インデックスの登録や表示について、制限はありません。このルールは既定値であり、明示的に指定しても何も影響はありません。 |
|
検索結果でこのページ、メディア、またはリソースを表示しません。このルールを指定しない場合は、ページ、メディア、またはリソースがインデックスに登録され、検索結果に表示される可能性があります。 Google 検索から情報を削除するには、手順ガイドをご覧ください。 |
|
このページ上のリンクをたどりません。このルールが指定されていない場合、Google はページ上のリンクを使用して、リンクされているページを検出する可能性があります。詳しくは、nofollow についての記事をご覧ください。 |
|
noindex, nofollow と同じです。
|
|
検索結果でキャッシュ リンクを表示しません。このルールが指定されていない場合は、Google がキャッシュ ページを生成し、ユーザーが検索結果から対象のキャッシュ ページにアクセスする可能性があります。 |
|
このページの検索結果にサイトリンク検索ボックスを表示しません。このルールが指定されていない場合は、サイト専用の検索ボックスと、サイトに直接アクセスできる別のリンクが生成され、検索結果に表示される可能性があります。 |
|
このページの検索結果にテキスト スニペットや動画プレビューを表示しません。ユーザー エクスペリエンスの向上につながる場合は、静止画像のサムネイル(使用可能な場合)が引き続き表示されることがあります。すべての形式の検索結果(Google の場合: ウェブ検索、Google 画像検索、Discover、AI による概要)に適用され、コンテンツが AI による概要の直接入力として使用されないようにする際にも指定します。 このルールが指定されていない場合、Google はページで検出された情報に基づいてテキスト スニペットと動画プレビューを生成する可能性があります。 コンテンツの特定のセクションが検索結果のスニペットに表示されないようにするには、 |
|
|
|
この検索結果でテキスト スニペットとして使用される最大の文字数 [number] を設定します。なお、同じ検索結果ページ内に、1 つの URL の検索結果が複数表示される場合があります。この設定は、画像や動画のプレビューには影響しません。すべての形式の検索結果(Google ウェブ検索、Google 画像検索、Discover、アシスタント、AI による概要など)に適用され、AI による概要の直接入力として使用されるコンテンツの量を制限する際にも指定します。ただし、サイト運営者がコンテンツの使用許諾を個別に付与した場合、この制限は適用されません。たとえば、サイト運営者がページはめ込みの構造化データの形式でコンテンツを提供している場合、または Google とライセンス契約を結んでいる場合、この設定はそれらの特別に許可された使用を妨げるものではありません。解析可能な [number] が指定されていない場合、このルールは無視されます。 このルールが指定されていない場合、スニペットの長さは Google が選択します。 特別な値:
例: 検索結果にスニペットが表示されないようにするには: <meta name="robots" content="max-snippet:0"> スニペットに最大 20 文字まで表示できるようにするには: <meta name="robots" content="max-snippet:20"> スニペットに表示できる文字数に制限がないことを指定するには: <meta name="robots" content="max-snippet:-1"> |
|
検索結果に表示されるこのページの画像プレビューの最大サイズを設定します。
指定可能な [setting] 値:
これは、すべての形式の検索結果(Google ウェブ検索、Google 画像検索、Discover、アシスタントなど)に適用されます。ただし、サイト運営者がコンテンツの使用許諾を個別に付与した場合、この制限は適用されません。たとえば、サイト運営者がページはめ込みの構造化データの形式(AMP バージョンと正規バージョンの記事など)でコンテンツを提供している場合、または Google とライセンス契約を結んでいる場合、この設定はそれらの特別に許可された使用を妨げるものではありません。
検索結果や Discover に AMP ページと正規バージョンの記事が表示される際に、大きなサムネイル画像を表示しないようにする場合は、 例: <meta name="robots" content="max-image-preview:standard"> |
|
検索結果でこのページの動画が動画スニペットとして表示される際の最大秒数を [number] に設定します。
特別な値:
これは、すべての形式の検索結果(Google ウェブ検索、Google 画像検索、Google ビデオ、Discover、アシスタント)に適用されます。解析可能な [number] が指定されていない場合、このルールは無視されます。 例: <meta name="robots" content="max-video-preview:-1"> |
|
検索結果でこのページの翻訳を提供しません。このルールが指定されていない場合、Google は検索クエリとは異なる言語の検索結果のタイトルリンクとスニペットを翻訳して表示します。ユーザーが翻訳されたタイトルリンクをクリックすると、それ以降、そのページに対するユーザー操作はすべて Google 翻訳を介して行われ、リンク先を表示する際も自動的に翻訳されます。 |
|
このページの画像をインデックスに登録しません。この値が指定されていない場合、ページ上の画像がインデックスに登録され、検索結果に表示される可能性があります。 |
|
指定した日時以降は、このページを検索結果に表示しません。日時は広く採用されている形式で指定する必要があります。たとえば、RFC 822、RFC 850、ISO 8601 が挙げられますが、これらに限定されません。有効な日時が指定されていない場合、このルールは無視されます。デフォルトでは、コンテンツの有効期限はありません。 このルールが指定されていない場合、このページは検索結果に無期限に表示される可能性があります。指定した日時が経過すると、Googlebot は URL のクロール頻度を大幅に下げます。 例: <meta name="robots" content="unavailable_after: 2020-09-21"> |
インデックス登録と表示に関するルールの組み合わせの処理
robots meta
タグルールをカンマで結合するか、複数の meta
タグを使用することで、複数のルールからなる指示を作成できます。次に示すのは、ページをインデックスに登録せず、ページ上のリンクをクロールしないようウェブクローラに指示する robots meta
タグの例です。
カンマ区切りのリスト
<meta name="robots" content="noindex, nofollow">
複数の meta
タグ
<meta name="robots" content="noindex"> <meta name="robots" content="nofollow">
テキスト スニペットを 20 文字に制限し、大きな画像プレビューを許可する例を次に示します。
<meta name="robots" content="max-snippet:20, max-image-preview:large">
複数のクローラに異なるルールが指定されている場合、検索エンジンはネガティブなルールを組み合わせて使用します。次に例を示します。
<meta name="robots" content="nofollow"> <meta name="googlebot" content="noindex">
これらの meta
タグを含むページを Googlebot がクロールする際は、noindex, nofollow
ルールが指定されていると解釈します。
data-nosnippet
HTML 属性の使用
HTML ページのテキスト部分をスニペットとして使用しないように指定できます。これは、span
要素、div
要素、section
要素の data-nosnippet
HTML 属性を使用して、HTML 要素レベルで行えます。data-nosnippet
は論理属性とみなされます。すべての論理属性と同様、指定された値は無視されます。マシンによる解釈が確実に行われるように、HTML によるセクションの記述が正しく、すべてのタグが適切に閉じられていることを確認してください。
次に例を示します。
<p>This text can be shown in a snippet <span data-nosnippet>and this part would not be shown</span>.</p> <div data-nosnippet>not in snippet</div> <div data-nosnippet="true">also not in snippet</div> <div data-nosnippet="false">also not in snippet</div> <!-- all values are ignored --> <div data-nosnippet>some text</html> <!-- unclosed "div" will include all content afterwards --> <mytag data-nosnippet>some text</mytag> <!-- NOT VALID: not a span, div, or section --> <p>This text can be shown in a snippet.</p> <div data-nosnippet> <p>However, this is not in snippet.</p> <ul> <li>Stuff not in snippet</li> <li>More stuff not in snippet</li> </ul> </div>
Google では通常、ページをインデックスに登録する際にレンダリングを行いますが、レンダリングは保証されていません。このため、レンダリングの前後に data-nosnippet
の抽出が発生する可能性があります。レンダリングに伴う不確実性を回避するには、JavaScript を使用して既存のノードの data-nosnippet
属性の追加または削除を行わないようにします。JavaScript を使用して DOM 要素を追加する場合は、ページの DOM に最初に要素を追加する際に、必要に応じて data-nosnippet
属性を加えます。カスタム要素を使用していて、data-nosnippet
を使う必要がある場合は、div
要素、span
要素、section
要素でラップまたはレンダリングしてください。
構造化データの使用
Robots meta
タグでは、検索結果として表示するために Google がウェブページから自動的に抽出するコンテンツの量を調整します。一方、多くのサイト運営者が、特定の情報を検索プレゼンテーションで使用できるようにするために、schema.org の構造化データを使用しています。Robots meta
タグの制限は、その構造化データの使用には影響を与えません。ただし、他のクリエイティブ ワークに指定された構造化データの article.description
値と description
値を除きます。これらの description
値に基づいてプレビューの最大文字数を指定するには、max-snippet
ルールを使用します。たとえば、テキスト プレビューが制限される場合でも、ページの recipe
構造化データはレシピ カルーセルに表示できます。テキスト プレビューの長さは max-snippet
で制限できますが、リッチリザルトの構造化データを使用して情報が提供される場合、その robots meta
タグは適用されません。
ウェブページの構造化データの使用を管理するには、構造化データの種類と値を変更し、情報を追加または削除して、必要なデータのみを提供するようにします。また、構造化データは data-nosnippet
要素内で宣言された場合も、検索結果に使用できます。
X-Robots-Tag
の実用的な実装
サイトの HTTP 応答に X-Robots-Tag
を追加するには、サイトのウェブサーバー ソフトウェアの構成ファイルを使用します。たとえば、Apache ベースのウェブサーバーでは、.htaccess ファイルや httpd.conf ファイルを使用できます。X-Robots-Tag
を HTTP 応答で使用することには、サイト全体に適用されるクロールルールを指定できるという利点があります。正規表現がサポートされているため、柔軟な指定が可能です。
たとえば、サイト全体の .PDF
ファイルについて、HTTP 応答に noindex, nofollow
X-Robots-Tag
を追加する場合、次のスニペットを追加します。Apache であれば、サイトのルートに配置した .htaccess
ファイルまたは httpd.conf
ファイルに、NGINX であれば、サイトの .conf
ファイルに追加します。
Apache
<Files ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </Files>
NGINX
location ~* \.pdf$ { add_header X-Robots-Tag "noindex, nofollow"; }
X-Robots-Tag
は、画像ファイルなど、HTML で robots meta
タグを使用できない HTML 以外のファイルにも使用できます。次に示す例では、サイト全体の画像ファイル(.png
、.jpeg
、.jpg
、.gif
)に noindex
X-Robots-Tag
ルールを追加しています。
Apache
<Files ~ "\.(png|jpe?g|gif)$"> Header set X-Robots-Tag "noindex" </Files>
NGINX
location ~* \.(png|jpe?g|gif)$ { add_header X-Robots-Tag "noindex"; }
個々の静的ファイルに X-Robots-Tag
ヘッダーを設定することもできます。
Apache
# the htaccess file must be placed in the directory of the matched file. <Files "unicorn.pdf"> Header set X-Robots-Tag "noindex, nofollow" </Files>
NGINX
location = /secrets/unicorn.pdf { add_header X-Robots-Tag "noindex, nofollow"; }
robots.txt ルールとインデックス登録および表示に関するルールとの組み合わせ
robots meta
タグと X-Robots-Tag
HTTP ヘッダーは、URL がクロールされるときに検出されます。robots.txt ファイルでページのクロールが許可されていない場合、インデックス登録や表示に関するルールについての情報は検出されず、その結果無視されます。インデックス登録や表示に関するルールを適用する必要がある場合、それらのルールを含む URL のクロールを不許可にすることはできません。