整理内鏈和外鏈时,rel 属性很容易被当成一個開關:加上 nofollow,就以為這個地址彻底和蜘蛛無缘了。實际情况要细一些,nofollow、ugc、sponsored 三種寫法表達的是不同语义,對發現和索引的影响也不一样。
三個属性各自在说什么
- nofollow:表示這條連結不是站点主動推荐或背书的,常见于付費位置、来源不可控的引用、投稿内容。
- ugc:用戶生成内容里的連結,比如评论区、论坛帖、留言板。
- sponsored:付費或赞助性质的連結,比如广告位、合作推荐位。
可以把 ugc 和 sponsored 理解成 nofollow 的细分版本。三者都不再是嚴格的“禁止跟踪”指令,而更像给算法的提示:這條連結的分量要打折看待。
挡住了連結,不代表挡住了 URL
标了 nofollow 的連結,蜘蛛通常不會顺着它去抓目标地址,但這個 URL 仍可能從別處被發現:Sitemap、另外一條没加属性的内鏈、外部引用、日誌里出現過的地址等。也就是说,nofollow 削弱的是某一條入口,不是让這個 URL 消失。
這一点在站内特別容易被忽略。假设一個重要栏目頁只在導航里出現,而導航連結被批量加上了 nofollow,那它最主要的入口就被自己關掉了,剩下只能靠 Sitemap 或零散内鏈支撑。
站内連結加 nofollow 的常见後果
站内用 nofollow 一般有两種動机:一是“不想让權重流向低價值頁面”,二是“想让蜘蛛少抓一些地址”。前者通常没必要,站内連結本来就是站点结构的一部分;後者用 nofollow 也不稳妥,因為這些地址往往還能通過其他路径被找到。
比較常见的問题是把分頁、篩選、登入、购物车這類連結统一加上 nofollow,结果连想让蜘蛛抓的列表頁也一起没了入口。這里真正要做的是分清两件事:不想被抓取和不想被当作推荐,它們的處理手段並不相同。
想控制收錄,用對工具
- 不想被索引:用 noindex,並且要保證頁面本身可被抓取,否則蜘蛛看不到這個标簽。
- 不想被抓取:用 robots.txt 的 disallow 規則。
- 不想传递推荐信号:用 nofollow 或其细分形式 ugc、sponsored。
- 希望被發現得更快:放進 Sitemap,同时保留一到两條正常的站内入口。
這几件事作用在不同层面。把 nofollow 当成收錄開關,往往既没挡住索引,又顺手削弱了内鏈结构,属于两头都没做好。
可以落地的几個检查
- 在頁面源碼里搜尋 rel="nofollow",確認它出現在哪些位置,是不是自己有意添加的。
- 检查 ugc 和 sponsored 是否用在了對應场景,避免全站统一成一種寫法這種粗放處理。
- 把 Sitemap 中的地址和站内連結做一次交叉核對,看看重点頁面是否還有正常的站内入口。
- 在服務器日誌里观察這些被标记的地址是否仍在被訪問,據此判断入口是不是真的被切断了。
連結属性影响的是蜘蛛如何理解一條連結的分量,而不是给某個地址上鎖。要控制抓取和索引,最终還是要回到 robots 协议、頁面級标簽和站点结构本身。
把 rel 属性放回它原本的位置,当作语义标注而不是萬能開關,站内入口和抓取预算的分配會清楚很多。