上篇文章分析了使用robots.txt不能阻止网页被抓取收录的原因,那么,如何有效阻止网页被收录呢,方法是使用noindex元标记。本文将给大家详细介绍。
noindex与robots.txt
要阻止某个网页出现在搜索结果中,您可以将 noindex 元标记加入该网页的 HTML 代码中,或在 HTTP 请求中返回“noindex”标头。当爬虫下次抓取该网页并看到相应的标记或标头时,就会完全阻止该网页出现在搜索结果中(不论是否有其他网站链接到该网页)。
重要提示!
要想让 noindex 指令生效,就不得使用 robots.txt 文件屏蔽相应网页。如果该网页被 robots.txt 文件屏蔽了,抓取工具将永远无法看到 noindex 指令,因此该网页可能仍会显示在搜索结果中(例如,如果有其他网页链接到该网页的话)。
如果你不具备对服务器的 root 访问权限,则可借助非常实用的 noindex 工具控制搜索引擎对你网站上各个网页的访问权限。
实施 noindex
你可采用以下两种方法来实施 noindex:将 noindex 用作元标记,或用作 HTTP 响应标头。这两种方法的效果是等同的,但你可根据自己对服务器的控制程度和所用的具体发布流程,从中任选一种对你而言较为便捷的方式。
◆<meta> 标记
要想阻止大部分搜索引擎网页抓取工具将你网站中的网页编入索引,请将以下元标记放入相应网页的 <head> 部分中:
<meta name="robots" content="noindex">
要阻止 baidu 网页抓取工具将网页编入索引,请放入以下元标记:
<meta name="Baiduspider" content="noindex">
要阻止 Google 网页抓取工具将网页编入索引,请放入以下元标记:
<meta name="googlebot" content="noindex">
屏蔽所有蜘蛛爬虫抓取该页面的写法是:
<meta name="robots" content="noindex" >
请注意,某些搜索引擎网页抓取工具对 noindex 指令可能会有不同的解读,因此,你的网页可能仍会出现在其他搜索引擎的结果中。
◆帮助搜索引擎发现你的noindex元标记
只有在抓取你的网页后才能看到元标记。如果你的网页仍出现在搜索结果中,可能是因为在你添加标记之后搜索引擎尚未抓取过你的网站。你可以向搜索引擎主动提交你的网页,让爬虫重新抓取你的网页。此外,也可能是因为你的 robots.txt 文件禁止了爬虫访问该网址,因此无法看到此标记。要允许搜索引擎访问你的网页,你必须修改 robots.txt 文件。
HTTP 响应标头
除了使用元标记,你还可在响应中返回一个值为 noindex 或 none 的 X-Robots-Tag
标头。下面的 HTTP 响应示例便含有一个可指示抓取工具不要将某一网页编入索引的 X-Robots-Tag
:
HTTP/1.1 200 OK
(…)
X-Robots-Tag: noindex
(…)
如何利用 Apache 实际实施 X-Robots-Tag
你可以使用基于 Apache 的网络服务器上默认提供的 .htaccess 和 httpd.conf 文件,将 X-Robots-Tag
添加到网站的 HTTP 响应中。在 HTTP 响应中使用 X-Robots-Tag
的好处是,你可以指定要应用于整个网站的抓取指令。系统对正则表达式的支持提供了很高的灵活性。
例如,要将 noindex, nofollow X-Robots-Tag 添加到整个网站上所有 .PDF 文件的 HTTP 响应中,请将以下代码段添加到网站的 root .htaccess 文件或 httpd.conf 文件中:
<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
你可以对无法使用漫游器元标记的非 HTML 文件(如图片文件)使用 X-Robots-Tag
。下面的示例说明了如何针对整个网站上的所有图片文件(.png、.jpeg、.jpg、.gif)添加 noindex X-Robots-Tag 指令:
<Files ~ "\.(png|jpe?g|gif)$">
Header set X-Robots-Tag "noindex"
</Files>
如何合并使用抓取指令与索引编制/内容显示指令
只有当网页被抓取时,漫游器元标记和 X-Robots-Tag HTTP 标头才会被抓取工具发现。如果你通过 robots.txt 文件禁止抓取某一网页,那么抓取工具就不会找到任何关于索引编制/内容显示指令的信息,因此会忽略这些信息。如果索引编制/内容显示指令必须被遵循,那么你就不能禁止抓取工具抓取包含这些指令的网址。
您可能对以下文章也感兴趣
☉使用robots.txt不能阻止网页被抓取收录的原因 (2018-7-18 9:53:25)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。