<meta name="robots">
name 属性的 robots 值,对于 <meta> 元素(通常称为“robots 标签”),用于定义网页 爬虫 应遵循的抓取和索引行为。如果指定了该属性,您将使用 <meta> 元素的 content 属性,以逗号分隔的列表形式定义一条或多条规则,来指示爬虫应如何操作。
例如,要提示爬虫将页面从其搜索索引中排除,可以使用 noindex 值
<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 使用。 noarchivenosnippetnoimageindex-
请求该页面不作为已索引图片的引用页面出现。由 Google 使用。
nocache-
noarchive的同义词。由 Bing 使用。
描述
在设置 robots meta 值时,有几点重要的考虑事项需要注意
- 只有合作性的机器人(cooperative robots)才会遵守这些规则。它们无法阻止恶意行为者(如电子邮件采集器)忽略这些指令。
- 如果在
<meta>标签中定义,机器人仍然需要访问页面才能读取这些规则。为了减少带宽消耗,请考虑使用 robots.txt 文件 代替。 <meta name="robots">标签和robots.txt各自扮演不同的角色:robots.txt控制抓取,而robotsmeta 标签则影响索引和其他行为。- 被
robots.txt阻止的页面,如果从其他来源链接,仍可能被索引。 noindex指令只有在机器人重新访问页面后才会生效,因此请确保robots.txt不会阻止其重新访问。- 某些值,例如
index与noindex或follow与nofollow,是互斥的。当使用冲突的值时,行为是未定义的。 - Google、Yahoo 和 Bing 等机器人也支持 HTTP 标头
X-Robots-Tag中的这些指令,这对于 PDF 或图像等非 HTML 内容很有用。
示例
使用 robots 关键字
以下示例使用 nofollow 来请求爬虫不要跟踪页面上的链接,并使用 noindex 来请求将页面从索引中排除
<meta name="robots" content="nofollow, noindex" />
规范
虽然它不是任何规范的一部分,但它是与搜索引擎机器人、网页爬虫和类似用户代理进行通信的一种事实上的标准方法。
浏览器兼容性
此功能是供爬虫遵守的,因此“浏览器”兼容性不适用。
另见
X-Robots-TagHTTP 标头- robots.txt 配置指南
- robots.txt 词汇表条目
- 搜索引擎词汇表条目
- RFC 9309:Robots 排除协议
- WHATWG Wiki MetaExtensions 页面
- 在 developers.google.com 上使用 robots meta 标签