<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 使用。 noarchive
nosnippet
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
不会阻止其重新访问。- 某些值,例如
index
与noindex
或follow
与nofollow
,是互斥的。当使用冲突的值时,行为是未定义的。 - Google、Yahoo 和 Bing 等机器人也支持 HTTP 标头
X-Robots-Tag
中的这些指令,这对于 PDF 或图像等非 HTML 内容很有用。
示例
使用 robots 关键字
以下示例使用 nofollow
来请求爬虫不要跟踪页面上的链接,并使用 noindex
来请求将页面从索引中排除
<meta name="robots" content="nofollow, noindex" />
规范
虽然它不是任何规范的一部分,但它是与搜索引擎机器人、网页爬虫和类似用户代理进行通信的一种事实上的标准方法。
浏览器兼容性
此功能是供爬虫遵守的,因此“浏览器”兼容性不适用。
另见
X-Robots-Tag
HTTP 标头- robots.txt 配置指南
- robots.txt 词汇表条目
- 搜索引擎词汇表条目
- RFC 9309:Robots 排除协议
- WHATWG Wiki MetaExtensions 页面
- 在 developers.google.com 上使用 robots meta 标签