在頁面里给連結加上 rel="nofollow",是很多站点控制外鏈和低價值連結的常規操作。但一個常见誤解是:加了 nofollow,蜘蛛就不會抓到那個 URL,甚至不會把它放進待抓队列。實际更接近“提示”——它主要影响連結關系的传递,不负责阻止抓取。
nofollow 管的是連結關系,不是抓取開關
nofollow 的语义是告诉搜尋引擎“這個連結不是站点的背书”。它和 robots.txt 的 Disallow、頁面上的 robots meta noindex 不是一回事。蜘蛛解析頁面时,仍然可能看到這個連結的 href,並把它当作一條 URL 线索。是否繼續抓取、什么时候抓,取决于這條线索的優先級、站点抓取額度、頁面更新情况等因素。
把 nofollow 当成“禁止抓取”使用,往往會得到相反的效果:你以為切断了路径,實际只是让這條路径變得不稳定。
蜘蛛看到 nofollow 後,通常會做几件事
- 记錄這個 URL:尤其是站内連結,蜘蛛可能仍會把它放入待抓池,只是不把它当作强推荐。
- 降低優先級:如果同一個 URL 没有其他可抓取内鏈或 Sitemap 线索,它可能排得很後。
- 繼續解析頁面:抓取後是否索引,還要看頁面本身、robots meta、内容质量等條件。
- 參考其他信号:Sitemap、站内其他連結、外鏈、歷史抓取记錄,都會影响蜘蛛是否回来。
站内重要連結,不要只靠 nofollow 递线索
如果分類頁、詳情頁、帮助中心這類需要被發現的頁面,只出現在 nofollow 連結里,蜘蛛仍可能通過其他方式找到它,但發現路径會變窄。更稳妥的做法是:给重要 URL 留至少一條普通可抓取内鏈,同时用 XML Sitemap 做兜底。nofollow 可以用于评论区外鏈、明顯低價值的推廣位,或者你不想传递權重的關系,但不要让整站導航和核心内容路径都带上它。
和 Sitemap、内鏈一起看,才能判断线索有没有断
检查时不要只盯着 rel="nofollow" 這個属性。可以按下面的顺序排查:
- 看服務器日誌里有没有蜘蛛来過這個 URL,以及它從哪個 referer 過来。
- 看 Search Console 的連結报告和 Sitemap 覆盖情况,確認 URL 是否已被發現。
- 看内鏈结构:重要頁面是否只有 nofollow 入口,有没有普通連結或 Sitemap 补充。
- 看 robots.txt 和頁面 robots meta,確認没有把“不抓取”和“不索引”混在一起設定。
常见誤区:nofollow 能省抓取額度,也可能漏掉頁面
给大量篩選參數、排序參數加 nofollow,确實可以减少蜘蛛在這些组合 URL 上反复绕路。但如果這些參數頁里藏着有價值的詳情頁入口,nofollow 之後蜘蛛可能不再顺着走,詳情頁就只能靠 Sitemap 或其他内鏈被發現。換句话说,nofollow 能收窄抓取路径,也可能让一批 URL 的线索變弱。取舍时要看這些 URL 是否還需要被發現。
结论:把 nofollow 当提示,把發現通道留给稳定入口
蜘蛛看到 nofollow 連結时,通常不會像遇到 robots 拦截那样直接停下。它可能记下 URL,也可能因為優先級低而暂时不抓。對站点运营来说,更值得做的是:核心頁面用普通内鏈和 Sitemap 稳定递线索,低價值連結再用 nofollow 控制關系传递。這样既不會誤伤抓取路径,也能让有限的抓取资源更集中。