搜尋抓取

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 是一句態度声明,不是一扇關上的门。它影响的是連結的分量,而不是連結是否存在。