PDFを検索結果から外すにはX-Robots-TagのnoindexをHTTP応答へ付ける
公開日: 執筆:佐藤
PDFをGoogleの検索結果へ掲載させたくない場合は、PDF自身を返すHTTP応答へX-Robots-Tag: noindexを付けます。PDFにはHTMLのhead要素がないため、robots metaタグを書き込む方法は使えません。
ただし、GooglebotがPDFを取得できなければ、応答ヘッダーのnoindexも読めません。検索結果から外す設定と、robots.txtでクロールを止める設定を重ねないでください。
X-Robots-TagはPDF自身のHTTP応答へ付ける
GoogleのPDFに関する公式説明は、PDFを検索結果へ表示させない方法として、ファイルを配信するHTTPヘッダーへX-Robots-Tag: noindexを追加するよう案内しています。
応答は、次の形になります。
HTTP/1.1 200 OK
Content-Type: application/pdf
X-Robots-Tag: noindex
このヘッダーを付ける対象は、PDFへリンクするHTMLページではなく、PDFのURLそのものです。案内ページのHTMLへnoindexを書いても、その設定は案内ページに対する指示であり、リンク先のPDFには引き継がれません。
X-Robots-TagはHTML以外にもrobotsの指示を渡す
GoogleがX-Robots-Tagを紹介した公式記事は、動画、表計算ファイル、PDFなどの非HTMLファイルへ、robots metaタグと同種の指示を適用できると説明しています。
Robots Exclusion Protocolに関するGoogleの説明では、noindexを、クロールしたページをインデックスへ含めない指示として整理しています。同記事は、PDFなどの非HTMLファイルでは、その指示をX-Robots-TagとしてHTTP応答ヘッダーへ置けることも示しています。
ファイル名を変えたり、PDFの文書情報へnoindexと書いたりする方法ではありません。ウェブサーバーが、対象URLへの応答としてヘッダーを返す必要があります。
robots.txtで取得を止めるとnoindexを読ませられない
robots.txtのDisallowは、対象URLのクロールを止める設定です。X-Robots-Tagのnoindexは、取得したHTTP応答に含まれる、検索結果へ掲載しないための指示です。
Googleのrobots metaタグに関する説明は、robots.txtでページをブロックすると、Googlebotはページをクロールせず、ページ側のrobots指示も読まないと説明しています。PDFの応答ヘッダーにも、同じ取得条件があります。
目的ごとの組み合わせは、次のように分けます。
| 目的 | Googlebotによる取得 | PDFのHTTP応答 |
|---|---|---|
| PDFを検索結果から外す | 許可する | X-Robots-Tag: noindexを返す |
| PDFのクロールを止める | robots.txtで止める |
取得されないため、noindexを読ませる方法にはならない |
| PDFを一般公開しない | 認証などでアクセスを制限する | noindexだけを非公開手段にしない |
noindexは検索結果への掲載を制御する指示であり、PDFを開けなくする機能ではありません。閲覧させてはいけない資料は、検索エンジンの設定ではなく、サーバー側のアクセス制限で守ります。
設定ファイルではなく実際の応答を確認する
ウェブサーバーへ設定を書いただけでは、対象のPDFへ反映されたか分かりません。公開URLへHTTPリクエストを送り、返された応答ヘッダーを確認します。
確認する項目は、PDFのURL、HTTP status、Content-Type、X-Robots-Tagの四つです。URLが別の場所へ転送される場合は、転送先でPDFを返す最終応答まで確認します。キャッシュを介している場合も、設定ファイルではなく、一般の利用者とGooglebotが受け取る応答を基準にします。
複数のPDFへ一括設定する前に、対象を一つへ絞ります。そのURLだけへX-Robots-Tag: noindexが付き、検索結果へ残したいHTMLや画像へ同じヘッダーが付いていないことを確かめてください。
すでに掲載されたPDFは再取得を待つ
Googleの公式説明では、すでにインデックスへ含まれるPDFも、X-Robots-Tagのnoindexを使えば時間の経過とともに検索結果から外れます。設定直後の消去を保証するものではありません。
GooglebotがPDFを再取得し、HTTP応答の指示を読める状態を保ちます。確認途中でrobots.txtへDisallowを追加すると、除外のために読ませたいヘッダーまで取得できなくなります。
最初の一手は、検索結果から外したいPDFを一つ選び、その公開URLへ現在返しているHTTP応答ヘッダーを保存することです。X-Robots-Tag: noindexを設定した後も同じURLを調べ、変更前後の応答を比べます。
関連記事

