搜索抓取

nofollow、ugc、sponsored:蜘蛛遇到这三种链接会怎么走

nofollow 常被当成禁止蜘蛛访问的开关,其实它更像一句态度声明。本文梳理 nofollow、ugc、sponsored 三种属性的含义,说明发现路径与信任传递的区别,以及内链加 nofollow 的常见误区、适用场景和验证方法。

搜索抓取

nofollow、ugc、sponsored:蜘蛛遇到这三种链接会怎么走

先说结论:nofollow 不是禁止蜘蛛访问的开关

很多人把 rel="nofollow" 理解成一道门禁,以为加上它蜘蛛就不会走这条链接。更准确的理解是:它表达的是一句态度声明,即这个链接不是站点主动推荐或背书的,而不是把这条路封掉。蜘蛛是否沿着链接去发现新的 URL,和它是否把这条链接当成一张信任票,其实是两件事。

nofollow、ugc、sponsored 分别表达什么

  • nofollow:通用属性,表示该链接不由站点推荐或背书,常见于评论区、论坛签名、用户投稿等位置。
  • ugc:User Generated Content 的缩写,用在用户生成内容的链接上,比如评论、问答、个人资料页。
  • sponsored:用于付费广告、赞助内容、联盟跳转等链接,明确标注商业关系。

这三个属性在实现上都是给链接加一个 rel 值,也可以组合使用,例如 rel="nofollow sponsored"。它们的共同点是:提示搜索引擎给这条链接的推荐成分打折,而不是让链接从页面上消失。

发现路径与信任传递是两套逻辑

蜘蛛发现 URL 的入口有很多:外链、Sitemap、提交接口、重定向、站内链接、历史抓取记录。一条 nofollow 外链有可能仍然被爬到,尤其是同一个 URL 在别处被正常链接、出现在 Sitemap 里,或者站点本身被抓取得比较勤的时候。反过来,一条普通的 dofollow 链接也不保证立刻被处理,还要看页面层级、抓取节奏和站点整体的更新情况。

真正被属性影响的是这条链接在计算页面关系时的分量。它更像选票的权重,而不是路是否通。

内链上加 nofollow 的常见误区

有些站点为了集中权重,给导航、面包屑、列表页里的内链批量加 nofollow,或者在筛选参数上做统一处理。这样做通常有两个副作用:

  1. 页面之间的入口变少,一些本该被发现的内容只能依赖 Sitemap 或其他路径,抓取可能变慢。
  2. 分页、排序、参数页的链接被切断后,蜘蛛对栏目结构的理解会变得不完整。

如果目标只是收敛参数组合、减少重复抓取,更常见的做法是配合规范化标签、robots.txt、参数处理规则一起使用,而不是单靠 nofollow 解决。

比较适合使用这些属性的场景

  • 评论、论坛、留言板等用户可以自由插入链接的区域,用 ugc 或 nofollow 标注。
  • 付费推广位、联盟链接、赞助文章里的跳转,用 sponsored 标注。
  • 登录、注册、购物车、用户中心这类没有索引价值的页面,可以在站内链接上做收敛处理。
  • 广告位、第三方小工具里的链接,避免被当成站点的推荐内容。

需要留意的是,这些属性都只是提示,不同搜索引擎的采纳程度并不完全一致,也会随时间调整。不要把 nofollow 当成精确的流量开关。

它和 robots.txt 的区别

robots.txt 作用在路径层面,蜘蛛在发起请求前就会读取,属于抓取层面的限制;nofollow 作用在链接层面,前提是页面已经被抓取并解析。如果确实不想让某类 URL 被请求,优先考虑 robots.txt 或页面级的 meta robots;如果只是不想为某个链接背书,用 nofollow 更合适。

怎么确认自己的处理有没有效果

与其猜,不如看数据。可以观察服务器日志里这些链接对应 URL 的抓取次数、状态码和时间分布,再对比处理前后的变化。如果某些页面原本靠内链被稳定发现,加了 nofollow 之后抓取明显减少,就说明入口被削弱了。Sitemap 里保留必要的 URL,也能作为补充的发现路径。

nofollow 是一句态度声明,不是一扇关上的门。它影响的是链接的分量,而不是链接是否存在。