在做蜘蛛池和 URL 發現时,入口頁上的連結属性经常被顺手加上 rel=nofollow。有人以為這样能控制權重流向,也有人担心加了之後搜尋蜘蛛干脆不来。這里按實际抓取逻辑拆開说清楚。
nofollow 表達的是不背书,不是不许抓
rel=nofollow 最初的含义是:這個連結不是站長主動推荐的,出了問题別算在頁面头上。它從来没有被定义成搜尋引擎禁止訪問。所以從协议层面看,加了 nofollow 的連結,目标 URL 依然存在于 HTML 里,依然能被解析出来。
真正受影响的是連結的信任度和權重传递,而 URL 發現属于另一條鏈路:解析、入队、抓取。這两件事不是一回事,混在一起判断就容易得出错誤结论。
各搜尋引擎的實际處理並不一致
- Google:nofollow 現在被当作一種提示,連結仍可能被爬取,只是不用于排名信号。
- Bing、Yandex 等:歷史上的處理更接近硬性忽略連結關系,但頁面里出現的 URL 仍可能被提取後進入抓取队列。
- 國内搜尋引擎:各家實現差別較大,公開說明有限,實操上更依赖服務器日誌驗證。
结论很简單:没有哪家會承诺带 nofollow 的連結一定不抓,也没有哪家承诺一定抓。這是一個概率和優先級問题,不是開關。
什么时候它照样會被抓
- 入口頁是站点首頁或抓取频率較高的頁面,抓取预算充足,解析出的 URL 都會被排队。
- 目标 URL 已经在別處出現過,比如 sitemap、其他入口頁或外鏈,這次只是重复發現。
- 搜尋引擎為了判断連結质量,需要先抓一次目标頁做校驗。
什么时候影响比較明顯
- 入口頁本身抓取频率低,頁面連結又多,爬虫會優先跟進可信任的連結。
- 全站入口頁的目标連結统一加 nofollow,等于把主要的發現通道标记成低優先級。
- 單個頁面里存在大量 nofollow 連結时,队列排序整体會被压低。
蜘蛛池场景下的現實建议
- 如果入口頁的核心任務就是 URL 發現,不要在這批目标連結上批量加 nofollow,那是自己给自己降優先級。
- 如果确實需要控制部分導出連結,只在少數不相關的外鏈上加,不要全站统一處理。
- 用日誌驗證,而不是靠猜。對比加與不加的两组入口頁,看目标 URL 首次被抓的時間差和抓取次數。
- 入口頁數量、連結出現的位置、锚文本的多样性,這些因素對 URL 發現的影响通常比 nofollow 更大,正文内的連結通常比頁脚更受關注。
几個常见誤区
誤区一:加了 nofollow 蜘蛛就不来了。多數情况下它還是會来,只是排序更靠後、間隔更長。
誤区二:去掉 nofollow 收錄就稳了。URL 發現只是第一步,能不能被收錄還取决于内容质量、重复度和站点整体情况,中間没有必然關系。
誤区三:nofollow 是個開關。它是提示,不同引擎给的權重不同,表現是渐進的,不是非黑即白。
判断 nofollow 有没有影响,最靠得住的證據是服務器日誌里目标 URL 的首次抓取時間和抓取频率,而不是各種據说。
小结
带 rel=nofollow 的連結,目标 URL 通常仍有机會被搜尋蜘蛛發現和抓取,但優先級可能被降低,在入口頁連結數量大、站点抓取频率一般的情况下更明顯。做蜘蛛池时,如果入口頁承担的就是 URL 發現任務,就別在目标連結上批量加 nofollow;把精力放在入口頁可達性、連結位置和日誌驗證上,得到的结果會更确定。