搜索抓取

nofollow、sponsored、ugc:三个链接属性怎样改变蜘蛛的走向

nofollow、sponsored、ugc 常被当成抓取开关,实际只是链接级别的提示。本文说明三个属性各自的含义、它们对蜘蛛发现新 URL 与抓取顺序的影响,以及站内导航滥用 nofollow、用属性代替 URL 规范化的常见问题,并给出一份可执行的自查步骤。

搜索抓取

nofollow、sponsored、ugc:三个链接属性怎样改变蜘蛛的走向

排查抓取路径时,多数人先看 robots.txt 和内链结构。但在这两者之间还有一层常被忽略的东西:链接上的 rel 属性。它不像 robots.txt 那样直接拦下一整段路径,也不是内链布局那种大范围调整,而是针对单独一条链接给出的提示。用对了,能让蜘蛛把时间花在更值得抓的页面上;用错了,可能让原本走得通的入口变得没那么受重视。

三个属性各自在说什么

常见的三个值分别是 nofollow、sponsored、ugc,它们都写在 a 标签的 rel 里,位置一样,含义有分工:

  • nofollow:表示这条链接不是编辑推荐,站点也不为其背书。传统理解是“别顺着这条链接走”。
  • sponsored:用于付费链接、广告位、联盟推广位,明确告知这是商业合作。
  • ugc:用于用户生成内容里的链接,比如评论区、论坛帖、用户资料页。

需要先纠正一个过时印象:主流搜索引擎早已把 nofollow 从“指令”降级为“提示”。这意味着加了属性,蜘蛛不一定就不抓,只是这条链接在 URL 发现与信号传递上的分量会被重新评估。把它当成抓取开关来用,往往会落空。

它真正改变的是什么

回到抓取层面,rel 属性大致影响两件事。一是链接的发现价值:蜘蛛仍可能顺着链接走到目标页,但这条链接对“这个页面值不值得抓”的判断贡献变小。二是处理顺序:站内链接很多时,被标注的链接通常更靠后处理,或者干脆不被当作新 URL 的来源。对于本身入口就少的页面,这一来一回差别不小。

站内最常见的两种误用

把整站导航都加上 nofollow

有些站点为了“把权重留在首页”,给页脚、侧栏甚至主导航统一加 nofollow。结果是蜘蛛每次抓首页,看到的推荐路径都被打了折扣,深层页面只能靠 Sitemap 找。Sitemap 能补位,但它不描述页面之间的重要性关系,蜘蛛对深层内容的理解会更薄。导航链接本来就是站点结构的骨架,不该被这样处理。

用 nofollow 代替规范化

筛选参数、排序参数、会话 ID 这类 URL,正确做法是 canonical 指向规范版本,或者在 robots.txt 里对参数路径做限制。有人图省事给这些链接统一加 nofollow,但页面本身仍然存在、仍然可被抓取,只是入口变弱。结果是重复 URL 没消失,抓取预算照样被消耗。rel 属性解决不了 URL 重复的问题。

什么时候用才算合适

  • 付费位、广告位、推广链接:用 sponsored,把商业关系说清楚,对双方都省事。
  • 评论区、论坛、用户资料里的外链:用 ugc,能减少垃圾链接带来的麻烦。
  • 确实不想为之背书的第三方内容链接:可以用 nofollow,但要有选择地加,而不是整块加。
  • 站内导航、面包屑、分页、相关推荐:一般不加,让蜘蛛顺着走。
判断标准很简单:这条链接是你希望蜘蛛走的路径之一吗?如果是,就不要给它加阻力;如果不是,先想清楚是 URL 本身该被处理,还是只是不想传递信号。

一次可执行的自查

  1. 抓取首页与几个主要栏目页的 HTML,统计 rel="nofollow" 出现的次数与位置,看是否集中在导航区。
  2. 对照抓取日志,观察加了 nofollow 的路径是否仍在被访问。如果仍在被抓,说明它并没有起到“关闭入口”的作用。
  3. 检查带参数的列表页,确认规范链接是否正确指向无参数版本。
  4. 看看用户内容区的链接属性是否统一,避免同一站点内标准不一致。
  5. 调整之后观察一到两周的抓取日志,重点看深层页面的首次抓取时间有没有变化。

小结

rel 属性是链接级别的提示,不是抓取总闸。它对抓取路径的影响是渐进的:标注得越多,蜘蛛在站内可参考的路径就越少。与其全站铺满 nofollow,不如把 URL 规范化、内链结构和 Sitemap 这三件事做扎实,再对少数确实需要标注的链接单独处理。