PDFファイルが検索エンジンによってインデックスに登録されるのを防ぐ方法は?


27

公開WebページにPDFドキュメントへのリンクがあります。検索エンジンがこのリンクとPDFドキュメントのインデックスを作成しないようにするにはどうすればよいですか?

私が考えた唯一のアイデアは、CAPTCHAを使用することです。しかし、検索エンジンにリンクとPDFドキュメントのインデックスを作成しないように指示する魔法の言葉があるのだろうか?PHPまたはJavaScriptを使用したオプションも問題ありません。

明確にするためだけに。PDFを暗号化してパスワードで保護したくありません。検索エンジンに対しては非表示にしたいだけで、ユーザーには表示したくないだけです。

回答:


32

PDFファイル(またはHTML以外のファイル)が検索結果に表示されないようにするには、HTTP X-Robots-Tag応答ヘッダーを使用する方法しかありません。たとえば:

X-Robots-Tag: noindex

これを行うには、次のスニペットをサイトのルート.htaccessファイルまたはhttpd.confファイルに追加します。

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

上記が機能するためには、問題のファイルのHTTPヘッダーを変更できる必要があることに注意してください。したがって、たとえばGitHub Pagesでこれを実行できない場合があります。

また、robots.txtを使用して、ページが検索結果にリストされるのを防ぐことはできませ

ボットによるページのクロールを停止しますが、サードパーティ WebサイトからPDFファイルにリンクしている場合、ページは引き続きリストされます。

robots.txtを使用してボットがページをクロールしないようにすると、X-Robots-Tag: noindex応答タグを見る機会がなくなります。したがって、ヘッダーを使用する場合は、robots.txtのページを禁止しないでくださいX-Robots-Tag。詳細については、Google Developers:Robots Meta Tagをご覧ください。


そのX-Robots-Tagを含むページが将来リクエストされた場合、robots.txtがページのエントリを使用してX-Robots-Tagが尊重される/従わないようにする方法には従いません。
ドン・チードル

1
ページが要求されると、そのページ(「Google」)はX-Robots-Tagヘッダーを表示し、インデックスを作成しないことがわかりますが、X-Robots-Tagはクローラーのみに役立つようですそれはないインデックスに知っているdevelopers.google.com/webmasters/control-crawl-index/docs/...
ドン・チードル

正規表現が有効なFilesディレクティブを使用しているため、代わりFilesMatchにここで提案されているように、代わりに使用することを検討する必要があります。stackoverflow.com/q/14792381/1262357
Gruber

15

これを行うには複数の方法があります(それらを組み合わせることは明らかにこれを達成する確実な方法です):

1)robots.txtを使用して、検索エンジンクローラーからのファイルをブロックします。

User-agent: *
Disallow: /pdfs/ # Block the /pdfs/directory.
Disallow: *.pdf  # Block pdf files. Non-standard but works for major search engines.

2)rel="nofollow"それらのPDFへのリンクで使用する

<a href="something.pdf" rel="nofollow">Download PDF</a>

3)x-robots-tag: noindexHTTPヘッダーを使用して、クローラーがインデックスを作成できないようにします。このコードを.htaccessファイルに配置します。

<FilesMatch "\.pdf$">
  header set x-robots-tag: noindex
</FilesMatch>

2
直感に反して、両方x-robots-tagrobots.txt同時に使用するのは良い考えではなく、とにかくコンテンツのインデックスが作成される可能性があります。robots.txtとの両方を使用するとx-robots-tag: noindex、クローラーはx-robots-tag最初にrobots.txtrobots.txtリソースのインデックス作成を妨げず、クロールのみを行うため、最良の解決策はx-robots-tagヘッダーを使用することです。ただし、検索エンジンはそのままにして、クロールしてそのヘッダーを見つけることができますrobots.txt
マクシミリアン・ローメイスター


1

この土台が誰かに何らかの価値をもたらすかどうかはわかりませんが、最近、オンプレミスのGSAボックスがPDFファイルのインデックスを作成したくないという問題に遭遇しました。

Googleサポートはこの問題に対処しましたが、このPDFドキュメントにはカスタムプロパティセットがあるという事実に関連しているという回答があります(ファイル->ドキュメントプロパティ->カスタム(タブ))

name: robots
value: noindex

これにより、GSAによって適切にインデックス付けされなくなりました。

ドキュメントへのアクセス権があり、そのプロパティを変更できる場合、GSAのリースで機能する可能性があります。


1

nginxを使用した開発インスタンスがGoogleの検索結果に表示されている場合、検索エンジンがサイトをクロールしないようにする迅速で簡単な方法があります。クロールを防止するブロックの仮想ホスト構成ファイルの場所ブロックに次の行を追加します。

add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";

-2

robots.txtファイルを使用できます。そのファイルを尊重する検索エンジンはPDFのインデックスを作成しません。ファイルのインデックス作成を禁止するコマンドを使用し、検索エンジンにインデックスを作成したくないフォルダーまたはPDFファイルを指定するだけです。


4
robots.txtを使用しても、インデックス作成は妨げられません。クロールを防止するだけです。正しい解決策については、Pacerierの回答を参照してください。robots.txtファイル内で(許可ではなく)noindexディレクティブを使用することについて最近読みましたが、文書化されておらず、標準ではありません。そして今、私はそれを読んだ場所を見つけることができません。
トキサロット

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.