抽象

本文档详细介绍了页级索引设置如何让您控制Google如何通过搜索结果提供内容。您可以通过在(X)HTML页面或HTTP标头中包含元标记来指定这些标记。

笔记

  • 请注意,只有当抓取工具被允许访问包含这些设置的页面时,才可以阅读和遵守这些设置。
  • 该​​<meta name="robots" content="noindex" />​​​标签或指令适用于搜索引擎爬虫。要拦截非搜索抓取工具(例如AdsBot-Google),您可能需要添加针对特定抓取工具的指令(例如 ​​<meta name="AdsBot-Google" content="noindex" />​​)

使用机器人元标记

漫游器元标记可让您利用细粒度的,特定于页面的方法来控制如何将单个页面编入索引并提供给搜索结果中的用户。将robots meta标签放在给定页面的<head>部分,如下所示:


 

<!DOCTYPE html>
<HTML> <HEAD>
<meta name =“robots”content =“noindex”/>
(...)
</ HEAD>
<body> (...) </ body>
</ HTML>


上例中的机器人元标记指示大多数搜索引擎不要在搜索结果中显示该页面。​​name​​​attribute(​​robots​​​)的值 指定该指令适用于所有爬网程序。要解决特定的搜寻器问题,请​​robots​​​ 将该​​name​​​ 属性的值替换为您正在寻址的搜寻器的名称。特定的抓取工具也被称为用户代理(抓取工具使用其用户代理来请求页面)。Google的标准抓取工具具有用户代理名称​​Googlebot​​。为了防止Googlebot抓取您的网页,请按如下方式更新代码:


 

<meta name =“googlebot”content =“noindex”/>


这个标签现在指示Google(但不包括其他搜索引擎)不要在其网页搜索结果中显示此页面。无论是​​name​​​和​​content​​属性是不区分大小写。

搜索引擎可能会针对不同的属性或用途使用不同的搜寻器。查看​​Google抓取工具​​​的​​完整列表​​。例如,要在Google的网络搜索结果中显示一个页面,但不在Google新闻中显示,请使用以下元标记:


 

<meta name =“googlebot-news”content =“noindex”/>


如果您需要分别指定多个抓取工具,则可以使用多个机器人中继标记:


 

<meta name =“googlebot”content =“noindex”>
<meta name =“googlebot-news”content =“nosnippet”>


如果我们的抓取工具遇到竞争指令,我们将使用我们发现的最严格的指令。

​回到顶部​

使用​​X-Robots-Tag​​HTTP标头

该​​X-Robots-Tag​​​可被用作对于给定的URL的HTTP标头响应的一个元素。任何可用于漫游器元标记的指令也可以指定为​​X-Robots-Tag​​​。下面是一个HTTP响应示例,​​X-Robots-Tag​​指示搜寻器不索引页面:


 

HTTP / 1.1 200 OK
日期:2010年5月25日星期二21:42:43 GMT
(...)
X-Robots-Tag:noindex
(...)


多个​​X-Robots-Tag​​​头可以在HTTP响应中组合,或者您可以指定逗号分隔的指令列表。下面是一个HTTP头响应的例子,它​​noarchive​​​ ​​X-Robots-Tag​​​与一个​​unavailable_after​​​ ​​X-Robots-Tag​​。


 

HTTP / 1.1 200 OK
日期:2010年5月25日星期二21:42:43 GMT
(...)
X-Robots-Tag:noarchive
X-Robots-Tag:unavailable_after:25 Jun 2010 15:00:00 PST
(...)


在​​X-Robots-Tag​​​该指令之前可以任选地指定用户代理。例如,以下一组​​X-Robots-Tag​​HTTP标头可用于有条件地允许在不同搜索引擎的搜索结果中显示一个页面:


 

HTTP / 1.1 200 OK
日期:2010年5月25日星期二21:42:43 GMT
(...)
X-Robots-Tag:googlebot:nofollow
X-Robots-Tag:otherbot:noindex,nofollow
(...)


没有用户代理指定的指令适用于所有爬网程序。以下部分演示如何处理组合指令。名称和指定的值不区分大小写。

​回到顶部​

有效的索引和服务指令

可以使用其他几个指令来控制索引并使用机器人元标记和 ​​X-Robots-Tag​​。每个值代表一个特定的指令。下表显示了Google所授予的所有指令及其含义。请注意:所有其他搜索引擎抓取工具都可能不会对这些指令进行相同处理。多个指令可以组合在逗号分隔的列表中(请参阅下面的组合指令的处理)。这些指令不区分大小写。


指示

含义

​all​

索引或服务没有限制。注意:此指令是默认值,如果明确列出,则不起作用。

​noindex​

不要在搜索结果中显示此页面,也不要在搜索结果中显示“缓存”链接。

​nofollow​

不要按照此页面上的链接

​none​

相当于 ​​noindex, nofollow​

​noarchive​

不要在搜索结果中显示“缓存”链接。

​nosnippet​

不要在此页面的搜索结果中显示文本片段或视频预览。静态缩略图(如果可用)仍然可见。

​notranslate​

不要在搜索结果中提供此页面的翻译。

​noimageindex​

不要在此页面上索引图像。

​unavailable_after: [RFC-850 date/time]​

在指定的日期/时间之后,不要在搜索结果中显示此页面。日期/时间必须以​​RFC 850格式​​指定 。


在robots.txt文件(或缺少一个)已授予抓取页面的权限之后,默认情况下,页面被视为可抓取,可索引,可存档,并且其内容已被批准用于搜索结果中显示的片段,除非在机器人元标记或者特定标记中明确拒绝权限 ​​X-Robots-Tag​​。

​回到顶部​

处理组合索引和服务指令

您可以通过将漫游器元标记指令与逗号相结合来创建多指令指令。以下是一个漫游器元标记示例,它指示网页抓取工具不索引网页并且不抓取网页上的任何链接:


 

<meta name =“robots”content =“noindex,nofollow”>


对于指定了多个爬行程序以及不同指令的情况,搜索引擎将使用负指令的总和。例如:


 

<meta name =“robots”content =“nofollow”>
<meta name =“googlebot”content =“noindex”>


包含这些元标记的网页​​noindex, nofollow​​在被Googlebot抓取时将被解释为含有 指令。

​回到顶部​

​X-Robots-Tag​​与Apache的实际实施

您可以​​X-Robots-Tag​​​使用基于Apache的Web服务器上默认提供的.htaccess和httpd.conf文件添加到网站的HTTP响应中。使用​​X-Robots-Tag​​ HTTP响应的好处是您可以指定在整个站点中全局应用的抓取指令。正则表达式的支持允许高度的灵活性。

例如,要将​​noindex, nofollow​​​ ​​X-Robots-Tag​​HTTP响应添加到整个站点上的所有.PDF文件,请将以下片段添加到站点的根.htaccess文件或httpd.conf文件中:


 

<Files〜“\ .pdf $”>
标题集X-Robots-Tag“noindex,nofollow”
</文件>


您可以使用​​X-Robots-Tag​​​非HTML文件,如图像文件,其中不能使用机器人元标记。以下是​​noindex​​​ ​​X-Robots-Tag​​ 在整个网站上为图像文件(.png,.jpeg,.jpg,.gif)添加指令的示例:


 

<Files〜“\。(png | jpe?g | gif)$”>
标题集X-Robots-Tag“noindex”
</文件>


​回到顶部​

抓取与索引/服务指令相结合

​X-Robots-Tag​​抓取URL时会发现机器人元标记和HTTP标头。如果不允许某个网页抓取robots.txt文件,则任何有关索引或服务指令的信息都将无法找到,因此将被忽略。如果必须遵循索引或服务指令,则不能禁止包含这些指令的URL进行爬网。

​​