先分清两个指令管的范围
nofollow 作用在链接上,表达的是“这条链接的推荐关系不成立”,它影响链接价值与部分抓取判断;noindex 作用在页面上,表达的是“这个页面不要出现在搜索结果里”。两者都不等于“禁止访问”,也不等于“禁止被发现”。
不少运营同学把它们当成开关来用:给列表页加 nofollow 避免权重分散,给筛选页加 noindex 避免收录脏页面。这种用法本身没问题,但如果把首页导航、分类入口这类关键路径一起加上,URL 发现会明显变慢。
nofollow 之后,蜘蛛还会不会走
主流搜索引擎对 nofollow 的解读已经从“指令”变成“提示”。也就是说,被标记的链接仍有可能被抓取,只是优先级更低、被参考的程度更弱。如果你的目的是减少抓取,nofollow 基本达不到效果;如果目的是减少权重传递,它有一定作用,但代价是这条路径上的新页面被发现得更慢。
值得留意的是:链接被解析和链接被跟随是两回事。蜘蛛在解析 HTML 时通常已经拿到了 href 里的地址,是否进入待抓队列还要看后续调度。所以“删掉内链”和“保留链接但加 nofollow”,对 URL 发现的影响并不相同。
noindex 页面同样会被抓取
noindex 只阻止页面进入索引,不阻止蜘蛛来抓。一个被 noindex 的页面,如果站内有大量内链指向它,它依然会稳定进入抓取队列,持续消耗抓取额度,却永远不会出现在搜索结果里。
常见场景是站内搜索结果页、会员中心、临时活动页。这些页面与其用 noindex 挂着让蜘蛛反复来,不如先判断是否真的需要被抓取:如果站内没有任何入口指向它、外部也没有链接,用 robots.txt 的 Disallow 反而更省事。但要注意,Disallow 之后蜘蛛读不到页面上的 noindex,两者不要同时指望。
和 robots.txt 的区别别搞混
- robots.txt 的 Disallow:阻止抓取。被挡住的 URL 仍可能因外部链接出现在索引里。
- noindex:允许抓取,阻止索引。需要蜘蛛能访问到页面才生效。
- nofollow:链接层面的提示,不阻止抓取,也不保证页面不被发现。
一份可以照着做的自查清单
- 首页、主导航、面包屑是否被误加了 nofollow;
- 被 noindex 的页面有多少内链入口,能否减少;
- robots.txt 是否挡住了本来需要被抓取的目录;
- 对照服务器日志,看标记前后抓取量是增加还是减少。
标记只是提示,路径才是根本。想让搜索蜘蛛稳定发现 URL,先保证关键入口能被正常抓取,再谈各类指令的取舍。