<meta name="robots">

name 属性的 robots 值,对于 <meta> 元素(通常称为“robots 标签”),用于定义网页 爬虫 应遵循的抓取和索引行为。如果指定了该属性,您将使用 <meta> 元素的 content 属性,以逗号分隔的列表形式定义一条或多条规则,来指示爬虫应如何操作。

例如,要提示爬虫将页面从其搜索索引中排除,可以使用 noindex

html
<meta name="robots" content="noindex" />

注意:只有合作性的机器人(cooperative robots)才会遵守这些规则。爬虫仍然需要访问该资源才能读取标头和 meta 元素(请参阅 X-Robots-Tag:与 robots.txt 的交互)。如果您想防止爬虫消耗带宽,使用限制性的 robots.txt 文件比索引规则更有效,因为它会完全阻止抓取资源。

用法说明

<meta name="robots"> 元素可以包含以下附加属性

content

必须定义 content 属性,其值会为合作性的搜索引擎机器人设置索引和抓取行为。接受以下一个或多个关键字作为逗号分隔的列表

index

允许机器人索引该页面。这是默认行为。所有主流爬虫都使用此设置。

noindex

请求机器人不要索引该页面。所有主流爬虫都使用此设置。

follow

允许机器人跟踪页面上的链接。这是默认行为。所有主流爬虫都使用此设置。

nofollow

请求机器人不要跟踪页面上的链接。所有主流爬虫都使用此设置。

all

等同于 index, follow。由 Google 使用。

none

等同于 noindex, nofollow。由 Google 使用。

noarchive

请求搜索引擎不要缓存页面内容。由 GoogleYahooBing 使用。

nosnippet

阻止在搜索引擎结果中显示页面的任何描述。由 GoogleBing 使用。

noimageindex

请求该页面不作为已索引图片的引用页面出现。由 Google 使用。

nocache

noarchive 的同义词。由 Bing 使用。

描述

在设置 robots meta 值时,有几点重要的考虑事项需要注意

  • 只有合作性的机器人(cooperative robots)才会遵守这些规则。它们无法阻止恶意行为者(如电子邮件采集器)忽略这些指令。
  • 如果在 <meta> 标签中定义,机器人仍然需要访问页面才能读取这些规则。为了减少带宽消耗,请考虑使用 robots.txt 文件 代替。
  • <meta name="robots"> 标签和 robots.txt 各自扮演不同的角色:robots.txt 控制抓取,而 robots meta 标签则影响索引和其他行为。
  • robots.txt 阻止的页面,如果从其他来源链接,仍可能被索引。
  • noindex 指令只有在机器人重新访问页面后才会生效,因此请确保 robots.txt 不会阻止其重新访问。
  • 某些值,例如 indexnoindexfollownofollow,是互斥的。当使用冲突的值时,行为是未定义的。
  • Google、Yahoo 和 Bing 等机器人也支持 HTTP 标头 X-Robots-Tag 中的这些指令,这对于 PDF 或图像等非 HTML 内容很有用。

示例

使用 robots 关键字

以下示例使用 nofollow 来请求爬虫不要跟踪页面上的链接,并使用 noindex 来请求将页面从索引中排除

html
<meta name="robots" content="nofollow, noindex" />

规范

虽然它不是任何规范的一部分,但它是与搜索引擎机器人、网页爬虫和类似用户代理进行通信的一种事实上的标准方法。

浏览器兼容性

此功能是供爬虫遵守的,因此“浏览器”兼容性不适用。

另见