ホームページに掲載している特定のファイル(PDF、Word、Excel など)を、Google の検索結果に表示させない方法をご紹介します。 会員専用のコンテンツとして外部に公開したくないファイルや、古いPDFが検索結果に表示されてしまい困っている場合に役立ちます。

また、設定後に意図したとおりに反映されているかを確認する方法についても、あわせて解説します。

  1. robots.txtを使う方法
  2. X-Robots-Tagを使う方法
  3. Google Search Consoleで削除をリクエストする方法
  4. 設定が適用されたかを確認する方法

robots.txtを使う方法

robots.txtファイルに以下のようなルールを追加し、特定のファイルを検索エンジンにインデックスさせないようにします。


User-agent: *
Disallow: /*.pdf$
Disallow: /*.doc$
Disallow: /*.docx$
Disallow: /*.xls$
Disallow: /*.xlsx$

※robots.txtで使える正規表現は*$の2種類なので、一度にまとめて指定することはできません。

この設定により、検索エンジンのクローラー、指定した拡張子のファイルをインデックスしません。
ただし、クローラーをブロックしても、他のサイトからリンクされていればインデックス登録される可能性があります。 また、過去にインデックスされた情報がキャッシュとして残ることがあるため、Google Search Console での削除リクエストと併用するのが望ましいです。

X-Robots-Tagを使う方法

特定のファイルに対してX-Robots-TagというHTTPヘッダーを設定し、検索エンジンにインデックスしないように指示します。

X-Robots-Tag は、WebサーバーやHTTPレスポンスヘッダーを通じて検索エンジンのクロールやインデックスの制御を行うためのタグです。
robots.txt や meta タグと同様の機能を持ちますが、HTTPヘッダーとして設定できるため、より柔軟な制御が可能です。

サーバー上の.htaccessに下記のように記述してください。

<FilesMatch "\.(pdf|doc|docx|xls|xlsx)$">
  Header set X-Robots-Tag "noindex"
</FilesMatch>

FilesMatchはファイルの指定に正規表現を使用することができます。

なお正規表現を使ったファイルの指定は Files ディレクティブでも可能です。 正規表現を使用する場合は、ファイル名の前にチルダ (~) を記述してください。

<Files ~ "\.(pdf|doc|docx|xls|xlsx)$">
Header set X-Robots-Tag "noindex"
</FilesMatch>

Google Search Consoleで削除をリクエストする方法

すでにインデックスされている場合は、Google Search Consoleから「削除リクエスト」を送信して、特定のURLをインデックスから削除することもできます。

searchconsole-04

ただ、この方法は以下の点に注意し、該当のファイル数が少ない場合に使用を推奨します。

  • リクエストの承認日から約6か月、Google検索結果からページを削除します。
  • 特定の拡張子を指定できないため、該当のファイルを1つずつ登録しなければなりません。

削除リクエストは承認日から約 6 か月間有効ですが、その後も継続的に検索結果に表示させないためには、robots.txt や X-Robots-Tag での制御を併用することが推奨されます。

設定が適用されたかを確認する方法

サーチコンソールの「URL検索」にて該当のURLを入力します。

searchconsole-01

次に画面右側の「公開URLをテスト」をクリックします。

searchconsole-01

しばらくすると下記のような結果が表示されます。

「インデックス登録を許可?」に「いいえ、’X-Robots-Tag’httpヘッダーで’noindex’が検出されました」と表示されていればX-Robots-Tagが設定できています。

searchconsole-01