先说结论:nofollow 不等于“蜘蛛看不见”
很多运营者把 nofollow 当成一道墙:只要给連結加上這個属性,蜘蛛就不會去訪問目标 URL。實际执行中,這件事没有這么绝對。連結属性能表達“我不為這個連結背书”,但爬虫是否跟過去,還取决于它自己的策略、連結所在頁面、目标地址的歷史质量,以及该 URL 是否從其他入口已经被發現。
需要区分两件事:URL 被發現和頁面被判断價值。nofollow 更多影响後者,或者影响抓取優先級;它並不天然等于“從發現队列里刪除”。
三種常见連結属性分別表達什么
- nofollow:表示不推荐、不背书這個連結,常见于用戶评论、不可控内容和不想传递信号的連結。
- ugc:用戶生成内容中的連結,比如论坛、评论区、問答区。
- sponsored:广告、赞助、付費合作等商业連結。
這三種属性主要面向搜尋引擎的價值判断,不是抓取開關。Google 在 2019 年後把 nofollow 等属性视為“提示”,而不是绝對指令;其他爬虫的跟進程度和解释方式並不完全一致,所以不适合把它們当作精确的抓取控制工具。
蜘蛛看到 nofollow 連結後,通常怎么處理
常见情况是:頁面被抓取时,爬虫仍然可能把 nofollow 連結中的 URL 记下来,放入待發現或待抓取队列,但可能降低優先級、减少後續訪問,或者不把它当作排名信号。尤其是在同一頁面已有大量可跟随連結时,nofollow 連結被跟進的概率會下降,但它不是零。
如果目标 URL 還出現在 Sitemap、其他頁面的普通連結、外鏈或歷史记錄中,它照样可能被正常抓取。反過来,如果目标 URL 只存在于一個 nofollow 連結里,並且站点没有其他入口,那么它的發現速度和稳定性就會明顯變差。
想阻止抓取,優先考虑 robots.txt;想阻止收錄,通常要允许抓取後再用 noindex。把 nofollow 当唯一手段,容易两头都做不彻底。
哪些场景适合使用 nofollow
- 用戶评论、论坛簽名、留言板等不可控的 UGC 連結。
- 广告、赞助内容、联盟連結等商业合作連結。
- 登入、註冊、购物车、结算等對搜尋没有索引價值的頁面連結。
- 明顯不可信的外部站点連結,避免留下推荐信号。
這些场景中,nofollow 的主要作用是信号管理,而不是抓取管理。它不會阻止有决心的爬虫繼續探测,也不能替代 robots.txt 和權限控制。
站点运营中常见的几個誤区
- 用 nofollow 控制抓取预算:效果有限。真正占用抓取的是大量可訪問但低價值的 URL,需要從入口和结构上收敛。
- 给全站内鏈加 nofollow:這會切断重要頁面的發現路径,让蜘蛛只能依赖 Sitemap 或外鏈,深层頁會變得更难被抓。
- 認為 nofollow 能防收錄:如果 URL 被其他頁面正常連結,或者被抓取後判定可索引,仍可能出現在搜尋结果中。
- 蜘蛛池或站群场景里滥用 nofollow:大量導出連結即使加了属性,也可能被爬虫探测到,重点還是連結质量和入口结构。
更稳妥的内鏈與抓取安排
重要頁面尽量使用普通的可抓取連結,保持锚文本自然、路径层級清晰。Sitemap 用来补充發現,内鏈用来强化路径,robots.txt 用来排除明确不想抓的目錄。對确實需要标注的评论、广告和商业連結再使用 nofollow、ugc、sponsored,而不是把它們当成全站抓取策略。
如果發現某個 URL 一直不被抓取,先检查它有没有至少一個可跟随的入鏈,再检查服務器是否稳定、頁面是否返回正常狀態。nofollow 只是其中一個變量,不是决定抓取與否的唯一開關。