回答:
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をご覧ください。
Files
ディレクティブを使用しているため、代わりFilesMatch
にここで提案されているように、代わりに使用することを検討する必要があります。stackoverflow.com/q/14792381/1262357
これを行うには複数の方法があります(それらを組み合わせることは明らかにこれを達成する確実な方法です):
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: noindex
HTTPヘッダーを使用して、クローラーがインデックスを作成できないようにします。このコードを.htaccessファイルに配置します。
<FilesMatch "\.pdf$">
header set x-robots-tag: noindex
</FilesMatch>
x-robots-tag
をrobots.txt
同時に使用するのは良い考えではなく、とにかくコンテンツのインデックスが作成される可能性があります。robots.txt
との両方を使用するとx-robots-tag: noindex
、クローラーはx-robots-tag
最初にrobots.txt
。robots.txt
リソースのインデックス作成を妨げず、クロールのみを行うため、最良の解決策はx-robots-tag
ヘッダーを使用することです。ただし、検索エンジンはそのままにして、クロールしてそのヘッダーを見つけることができますrobots.txt
。
この土台が誰かに何らかの価値をもたらすかどうかはわかりませんが、最近、オンプレミスのGSAボックスがPDFファイルのインデックスを作成したくないという問題に遭遇しました。
Googleサポートはこの問題に対処しましたが、このPDFドキュメントにはカスタムプロパティセットがあるという事実に関連しているという回答があります(ファイル->ドキュメントプロパティ->カスタム(タブ))
name: robots
value: noindex
これにより、GSAによって適切にインデックス付けされなくなりました。
ドキュメントへのアクセス権があり、そのプロパティを変更できる場合、GSAのリースで機能する可能性があります。
robots.txtファイルを使用できます。そのファイルを尊重する検索エンジンはPDFのインデックスを作成しません。ファイルのインデックス作成を禁止するコマンドを使用し、検索エンジンにインデックスを作成したくないフォルダーまたはPDFファイルを指定するだけです。