搜索抓取

链接属性不是开关:nofollow、sponsored、ugc 对蜘蛛抓取路径的真实影响

链接上的 nofollow、sponsored、ugc 常被当成阻止抓取的开关,实际更像优先级提示。文章梳理这三种属性的区别、它们对 URL 发现路径和抓取优先级的影响,指出哪些位置不该加,并给出改动后通过服务器日志与内链审计验证效果的顺序。

搜索抓取

链接属性不是开关:nofollow、sponsored、ugc 对蜘蛛抓取路径的真实影响

做站内链接时,rel="nofollow" 常被当成一道开关:加上它,蜘蛛就不来了。这个理解在多年前勉强说得过去,现在多半会让人做出错误决策。链接属性影响的是蜘蛛对链接的判断,而不是简单地把链接从页面上抹掉。

从硬指令到提示

早期搜索引擎把 nofollow 当作明确的“不跟随”指令,链接既不传递信号,也不会被顺着抓取。后来主流引擎逐步把它改成提示(hint):蜘蛛看到被标注的链接,仍然可能访问该 URL,只是会降低它在抓取队列里的优先级。sponsored 和 ugc 走的是同一套逻辑,它们标记的是链接的性质,而不是禁止访问。

所以更准确的说法是:这些属性调的是权重和优先级,不是能不能抓。

三种属性各自解决什么问题

  • nofollow:通用标记,常用在广告、付费链接、来源不可信的链接上。
  • sponsored:专门标记赞助、付费合作类链接。
  • ugc:用户生成内容里的链接,比如评论、论坛帖子、社区投稿。

它们作用在链接关系层面。如果想控制整个页面是否被抓取或索引,需要的是 robots.txt 或页面级的 meta robots,两者不是一回事。

对 URL 发现路径的影响

蜘蛛发现新 URL 主要靠三条路:站内链接、Sitemap、站外链接。被标注了属性的链接仍然算一条路,但优先级会被压低。在抓取频率本来就高的站点上,这种差别可能看不出来;在抓取节奏偏慢的站点上,差别会很明显。

最需要警惕的是唯一入口的情况:如果某个页面只由一个被标记为 nofollow 的链接指向,它可能长时间排在队尾,迟迟不被抓取。它不是被封禁,而是排不上号。

把 nofollow 当“隐藏链接”的保险,通常是最容易踩的坑:URL 和锚文本依然清晰可见,只是被贴了一个标签。

哪些位置不要加

  1. 主导航、面包屑、分类目录:这些是蜘蛛理解站点结构的主要线索,加属性等于自断路径。
  2. 正文里的相关推荐、上一页下一页:这些链接决定了抓取能走多深。
  3. 列表页与分页的翻页链接:除非确实要收缩抓取范围,否则保持可跟随。

广告位、联盟链接、付费合作可以放心用 sponsored;评论区和社区内容交给 ugc。真正不想被发现的页面——后台、测试环境、内部工具——靠登录墙、robots.txt 或干脆不生成链接来解决,不要指望一个属性。

批量链接场景里的两个误区

第一个误区是“加了属性就不消耗抓取预算”。由于多数情况下蜘蛛不会完全跳过被标注的 URL,节省效果有限,尤其是页面本身链接数量很大的时候。

第二个误区是“属性可以替代结构设计”。抓取路径是否顺畅,取决于入口页、层级深度和链接数量,属性只是其中一个调节项。批量堆链接的页面,即便全加属性,蜘蛛面对的信息量也不会变少。

改动之后怎么验证

  • 服务器日志:对比改动前后目标 URL 的抓取频次、首次发现时间、状态码分布。
  • 抓取统计面板:观察已发现 URL 数与实际抓取量的比例变化。
  • 内链审计:列出只由被标注链接指向的页面,这些是结构上的脆弱节点。

观察周期建议按周计,单日波动没有参考价值。改动一批链接后,至少等两到三次回访再下结论。

落地时的判断顺序

先问目的:是想控制信号传递,还是想减少被抓取?前者用 nofollow、sponsored、ugc,后者用 robots.txt、登录验证或调整链接输出。目的不同,手段不同,混用往往两头都做不好。链接属性是优先级调节器,不是开关。