• PDFを検索結果から外すにはX-Robots-TagのnoindexをHTTP応答へ付ける

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を調べ、変更前後の応答を比べます。

戻る