搜尋抓取

連結属性不是開關: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、登入驗證或調整連結輸出。目的不同,手段不同,混用往往两头都做不好。連結属性是優先級調节器,不是開關。