我在公共网页上有一个PDF文档的链接。如何防止搜索引擎将该链接和PDF文档编入索引?

我想到的唯一想法是使用CAPTCHA。但是,我想知道是否有魔术词告诉搜索引擎不要为链接和PDF文档编制索引?使用PHP或JavaScript的选项也可以。

请明确说明。我不想加密PDF并用密码保护它。我只想使其对搜索引擎不可见,但对用户不可见。

评论

如果要阻止对特定文件编制索引,请参阅以下问题:webmasters.stackexchange.com/questions/132337/…

#1 楼

为了防止您的PDF文件(或任何非HTML文件)在搜索结果中列出,唯一的方法是使用HTTP X-Robots-Tag响应标头,例如:

X-Robots-Tag: noindex


您可以通过在网站的根.htaccess文件或httpd.conf文件中添加以下代码段来做到这一点:能够修改相关文件的HTTP标头。因此,例如在GitHub Pages上,您可能无法执行此操作。

还要注意,robots.txt不会阻止您的页面在搜索结果中列出。

它的作用是阻止bot抓取您的页面,但是如果第三方从其网站链接到您的PDF文件,您的页面仍将列出。您可以使用robots.txt阻止漫游器抓取您的网页,它将无法看到X-Robots-Tag: noindex响应标签。因此,如果您使用X-Robots-Tag标头,则永远不要禁止robots.txt中的页面。可以在Google Developers:Robots Meta Tag中找到更多信息。

评论


如果以后再请求带有X-Robots-Tag的页面,我不会遵循带有该页面条目的robots.txt如何防止X-Robots-Tag受到尊重/服从的情况。

–唐·奇德尔(Don Cheadle)
16/12/22在4:56

我认为当请求页面时,它(“ Google”)会看到X-Robots-Tag标头,然后知道不对其进行索引...但是看起来X-Robots-Tag仅对爬虫有用然后知道不为它编制索引developer.google.com/webmasters/control-crawl-index/docs/…

–唐·奇德尔(Don Cheadle)
16 Dec 22'在5:03

由于使用的是启用了regex的Files指令,因此应考虑改为使用FilesMatch,如此处建议stackoverflow.com/q/14792381/1262357

– Gruber
19年1月6日在5:37

@Gruber尽管首先不需要在此处使用“启用正则表达式的Files指令”。带有通配符的普通指令可用于匹配所有.pdf文件(此处似乎是要这样做的)。例如。 <文件“ * .pdf”>-在这种情况下可以说是更可取的。

–怀特先生
20 Dec 1'在15:24



#2 楼

有多种方法可以做到这一点(将它们组合起来显然是完成此任务的肯定方法):

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)在指向这些PDF的链接上使用rel="nofollow"

<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进行爬网并找到该标头。

– Maximillian Laumeister
18/12/6在5:09

#3 楼

您可以使用robots.txt文件。您可以在这里阅读更多内容。

评论


使用robots.txt不会阻止编制索引。它仅防止爬网。请参阅Pacerier的答案以获取正确的解决方案。

–毒药
13年11月25日在15:48

#4 楼

不确定此基石是否可以为任何人带来价值,但是我们最近遇到了一个问题,即我们的本地GSA框不愿意为PDF文件编制索引。

Google支持部门解决了该问题,他们的答复是该PDF文档具有自定义属性集(“文件”->“文档属性”->“自定义”(标签))

name: robots
value: noindex


,这使它无法被GSA正确编入索引。租用GSA。

#5 楼

如果您使用nginx支持的开发实例显示在Google搜索结果中,则有一种快速简便的方法来阻止搜索引擎抓取您的网站。将以下行添加到您要防止爬网的虚拟主机配置文件的位置块中。


#6 楼

您可以使用robots.txt文件。支持该文件的搜索引擎将不会为PDF编制索引。只需使用命令禁止对文件建立索引,并指定您不希望搜索引擎为哪个文件夹或PDF文件建立索引。

评论


使用robots.txt不会阻止编制索引。它仅防止爬网。请参阅Pacerier的答案以获取正确的解决方案。我最近确实读过有关在robots.txt文件中使用noindex指令(而不是禁止使用)的信息,但这是未记录且非标准的。现在我找不到我在哪里读它了。

–毒药
2013年11月25日15:57

我们有一个问题:robots.txt中的“ Noindex:”如何工作?

–斯蒂芬·奥斯特米勒(Stephen Ostermiller)
16 Mar 24 '16 at 11:38