搭蜘蛛池入口頁时,很多人會顺手给連結加上 rel="nofollow",理由通常是「不想把權重传出去」。但這個動作對「搜尋蜘蛛能不能發現目标 URL」這件事的影响,和想象中不太一样。下面按几個常见誤区拆開说。
先区分:nofollow 是「別传權重」,不是「別来抓」
rel="nofollow" 最早的含义是「這個連結我不背书」,後来各大搜尋引擎陆續把它從硬性指令改成了提示(hint)。也就是说,看到 nofollow,搜尋蜘蛛通常仍會抓取那個 URL,只是不太會把權重和信任度传過去。
所以如果入口頁的目标只是「让搜尋蜘蛛知道有這么個 URL」,加 nofollow 並不會直接把路堵死。但如果你的目标是让目标頁拿到一些連結權重,那 nofollow 确實會让這部分效果打折。
連結級 nofollow 和頁面級 nofollow 是两回事
- 連結級:寫在 a 标簽上的 rel="nofollow",只影响這一條連結。
- 頁面級:寫在 meta name="robots" content="nofollow" 或响應头 X-Robots-Tag 里的 nofollow,影响的是整個頁面上的所有連結。
實际排查里最常见的事故,是把頁面級 nofollow 誤加在入口頁模板上,结果整頁連結都變成了「提示不跟随」。這種問题往往在模板複製时被带進去,很难第一眼發現。
搜尋蜘蛛到底會不會抓 nofollow 連結
没有统一答案,取决于搜尋引擎和当时的判断。可以這样理解:
- nofollow 是提示,不是禁令,抓取仍可能發生;
- 如果頁面本身已经有大量可抓連結,蜘蛛對 nofollow 連結的兴趣通常更低;
- 如果入口頁几乎没有別的出路,蜘蛛仍可能顺着 nofollow 連結走一趟。
把 nofollow 当成「降低優先級」,比当成「彻底屏蔽」更接近實际情况。
真正容易挡住 URL 發現的是這些
如果你關心的是目标 URL 能否被發現,比 nofollow 更值得先检查的是:
- 連結是否被 robots.txt 里的 Disallow 命中;
- a 标簽的 href 是否是空值或 javascript: 伪协议;
- 連結是否由 JS 在点击後才生成,初始 HTML 里根本没有;
- 頁面是否返回 noindex,或者被 X-Robots-Tag 覆盖。
還有一類是 rel="sponsored" 和 rel="ugc"。它們同样属于提示性属性,语义上分別對應广告合作和用戶生成内容。如果只是随手從別處複製模板带進来的,也會让蜘蛛對這條連結的權重传递打折扣。
什么时候该加,什么时候不该加
入口頁里指向自己目标 URL 的連結,一般不建议加 nofollow——你本来就是希望被發現的。真正适合加的场景,通常是明顯的广告位、用戶可自由提交的评论区連結,以及你不想背书的第三方站点。
如果确實想控制權重流向,更稳的做法是控制入口頁上連結的數量和位置,而不是一刀切地全加 nofollow。
排查建议
發現目标 URL 迟迟没有抓取记錄时,可以按這個顺序看:先確認入口頁 HTML 源碼里連結是否真實存在,再看連結有没有被連結級或頁面級 nofollow 覆盖,然後检查 robots.txt 與 X-Robots-Tag,最後看服務端返回狀態。多數「加了 nofollow 就完全没動静」的案例,真正原因其實在後面几個环节。