在蜘蛛池入口頁上放目标連結时,很多人會习惯性给連結加一個 rel=“nofollow”,理由通常是“不想把權重分出去”或者“看着更安全”。加完之後又開始纠结:搜尋蜘蛛看到這個属性,是不是就不跟過去了?這個問题没有一句话的答案,關键是要把“發現 URL”和“传递權重”分成两件事来看。
nofollow 管的是權重,不是發現
rel=“nofollow”最初的含义是告诉搜尋蜘蛛:這個連結不算投票,別把權重算到目标頁头上。它並不是一條“禁止訪問”指令。真正用来拦住抓取的,是 robots.txt 里的 disallow,或者頁面級的 noindex(针對頁面能不能被收錄)。三者作用的對象完全不同:一個针對連結,一個针對抓取路径,一個针對頁面索引。
所以從原理上说,带 nofollow 的連結里的 URL 仍然可能被抓取,也可能被收錄。實际會不會抓,取决于搜尋引擎對 nofollow 的解释程度和它自己的抓取策略。
不同搜尋引擎的處理差別
- Google:把 nofollow 当成“提示”而不是硬性指令,明确表示仍會把 nofollow 連結作為發現新 URL 的线索,只是不計入排名信号。
- 必應:同样倾向把 nofollow 视為提示,發現 URL 的路径通常保留。
- 百度:官方口径長期是 nofollow 不传递權重,但對“是否抓取”没有完全明确的承诺,實际表現受抓取配額和頁面整体质量影响。
- 其他蜘蛛:實現差异更大,有的直接跳過,有的照常排队,很难一概而论。
把這些放在一起看,就會明白一件事:把 nofollow 当成“能阻止抓取”是一個很常见的誤判。它更像是“我不為這個連結背书”,而不是“這條路封了”。
想確認目标 URL 到底抓没抓,看這三處
- 服務器訪問日誌:按目标 URL 的路径過滤,看有没有搜尋引擎 UA 的請求记錄,重点看第一次出現的時間点。
- 入口頁自身的抓取记錄:如果搜尋蜘蛛来了入口頁,却没請求目标 URL,說明這個連結大概率被跳過了,而不是没排上队。
- 站長平台:提交目标 URL 後,看抓取诊断、抓取频次,以及“已發現未抓取”這類狀態的停留时長。
如果日誌里入口頁被抓了很多次,目标 URL 却一次都没出現,先排查的通常不是 nofollow,而是連結到底有没有以 a href 的形式寫在 HTML 源碼里。用 JavaScript 動態插入、放在 iframe 内、做成图片或按钮的連結,都可能让搜尋蜘蛛拿不到這個 URL。
一個實用的排查顺序:能不能被抓(robots、防火墙、狀態碼)→ 連結是否出現在 HTML 源碼里 → 是否带了 nofollow、noindex 之類的属性 → 最後才去看抓取配額和調度节奏。顺序颠倒,很容易把問题归错因。
什么时候该加,什么时候没必要加
- 目标頁是正規内容頁、希望被尽快發現:不加。入口頁上的主要出口連結加 nofollow,只會增加不确定性。
- 頁面里塞满了广告位、用戶评论外鏈、明顯的垃圾連結:加。避免入口頁本身被贴上垃圾連結的标簽。
- 連結只是辅助跳轉、對抓取没有诉求:加不加影响不大,重点還是別让入口頁整体變成低质頁面。
两個容易被忽略的点
第一,nofollow 只是一個連結属性,它不會让入口頁變得更被信任。入口頁内容空、模板高度重复、同一 IP 下堆了大量同质頁面,這些才是抓取频率下滑的主因,改属性解决不了。
第二,同一個頁面里混用 nofollow 和普通連結,並不會让搜尋蜘蛛“更聪明”,它只是给不同連結分配不同的權重信号而已。
最後提醒一句:任何属性都不能保證收錄或抓取。能做的,是把可能挡住搜尋蜘蛛的环节一個個排除掉,剩下的事情交给抓取調度和頁面质量。與其反复纠结 nofollow,不如先把入口頁的連結寫清楚、狀態碼返回正常、日誌能對得上,這些才是可驗證的部分。