robots 指令的四种组合怎么选

工具相关 ·

在页面的 head 里写 <meta name="robots" content="index,follow">,这两个词看着简单,但它们的组合方式有四种,分别对应四种不同的收录与链接跟踪策略。选错了,可能让本该被收录的页面消失,也可能让不该出现的页面被索引。

两个维度:收录与跟踪

robots 指令由两部分组成,用逗号分隔。

第一部分控制是否收录(index / noindex):搜索引擎可不可以把这个页面放进索引,也就是能不能在搜索结果里出现。

第二部分控制是否跟踪链接(follow / nofollow):搜索引擎可不可以顺着页面里的链接去发现其他页面。

两个维度交叉,得到四种组合。

组合含义典型场景
index,follow收录本页,并跟踪链接绝大多数正常页面(默认)
noindex,follow不收录本页,但跟踪链接搜索结果页、登录页、标签聚合页
index,nofollow收录本页,但不跟踪链接含有大量不可信外链的页面
noindex,nofollow都不后台页面、隐私政策草稿

默认值是 index,follow

如果不写 robots 指令,默认行为等同于 index,follow——页面可以被收录,链接可以被跟踪。

所以这个组合通常不需要显式写出来。只有当页面上有某些操作会改变默认行为时,才需要明确声明。显式写出的好处是明确表达意图,避免被其他配置(比如服务器层的 X-Robots-Tag 头)意外覆盖。

noindex,follow 是最常用的非默认组合

这个组合的用途很广:页面本身不值得被收录,但页面上的链接有价值,希望搜索引擎顺着这些链接去发现其他内容。

站内搜索结果页是典型例子。这类页面本身内容是用户查询词的匹配结果,质量低、数量多、互相重复,不适合进索引;但结果列表里的链接指向的都是正常内容页,让爬虫顺着这些链接去发现新页面是有价值的。

标签聚合页、筛选结果页、分页列表页也类似。它们的共同特征是「内容由参数组合生成,本身价值低,但内部链接有价值」。

nofollow 该不该用

nofollow 在现代搜索引擎语境里的含义已经发生了变化,这一点需要澄清。

它最初的设计意图是「这个链接不是投票」,用来处理博客评论、论坛签名这类用户生成内容里的垃圾链接。站长通过标注 nofollow,告诉搜索引擎「这个链接我不为它背书」。

但现在主流搜索引擎把它当作提示而不是指令——它们仍然可能跟踪这些链接、发现页面,只是不把链接的权重传递过去。

另外还有一个变化:nofollow 现在通常被理解为 rel="nofollow" 属性的简写,而这个属性本身还分化出了 rel="sponsored"(广告/赞助链接)和 rel="ugc"(用户生成内容)两个更明确的取值。搜索引擎建议用这两个更精确的标注,而不是笼统的 nofollow。

所以 index,nofollow 这个组合在今天的实际效果是「收录本页,不传递链接权重,但可能仍然跟踪链接」。它适用于「页面上有大量你不想背书的链接」的场景,但不适用于「希望搜索引擎完全不要顺着链接爬」的场景——后者很难通过 meta 指令实现。

noindex,nofollow 的适用场景

这个组合表示「既不收录,也不传递链接权重」。

适用场景包括:后台管理页面、临时的测试页面、内部草稿、以及任何完全不应该出现在公开搜索结果里的页面。

但要注意,noindex 只对遵守规范的搜索引擎有效。对于后台页面这类敏感内容,正确的保护手段是访问控制,而不是 meta 指令。搜索引擎不会收录一个需要登录才能访问的页面,因为它根本抓不到内容。

与 robots.txt 的配合关系

最后要强调一个前面提过的原则:noindex 与 robots.txt 的 Disallow 不要同时用于同一个页面。

原因是:Disallow 会阻止爬虫抓取页面,爬虫也就看不到页面里的 noindex 标签。结果是想让页面从索引里移除,但 noindex 不生效。

正确的处理顺序是:如果页面已经被收录,先用 noindex(并允许抓取)让它从索引里移除,等移除完成后再考虑是否加 Disallow 节省抓取预算。

检查清单

  • robots 指令由收录与跟踪两个维度组成,交叉出四种组合
  • 默认行为等同于 index,follow,通常不需要显式声明
  • noindex,follow 最常用于搜索结果页、标签页这类低价值但有内部链接的页面
  • nofollow 在现代搜索引擎里是提示而非指令,且已分化出 sponsored 与 ugc
  • noindex,nofollow 适合后台与草稿页面,但敏感内容应靠访问控制保护
  • noindex 与 robots.txt 的 Disallow 不要同时用在同一页面,否则 noindex 失效
阅读 15