常见問题

入口頁的目标連結加了 rel="nofollow",搜尋蜘蛛還會跟過去抓取吗?

入口頁連結加上 rel="nofollow" 後,搜尋蜘蛛是否還會跟踪,是蜘蛛池和站点运营中常见的疑問。本文說明 nofollow 在不同引擎中的定位差异、它與 robots.txt、noindex 的区別,以及如何通過服務器日誌和 Referer 判断蜘蛛是否真的走到了目标 URL,並给出更稳妥的 URL 發現组合方式。

常见問题

入口頁的目标連結加了 rel="nofollow",搜尋蜘蛛還會跟過去抓取吗?

在蜘蛛池和入口頁的搭建中,rel="nofollow" 是一個经常被用到的属性。有人用它来控制入口頁的權重流向,有人用它降低被判定為連結操纵的風險。随之而来的問题是:加了 nofollow 之後,搜尋蜘蛛還會不會跟着這個連結去抓目标 URL?如果根本不會,那入口頁存在的意义就要重新评估。

nofollow 是提示,不是绝對禁令

從公開說明看,主流搜尋引擎把 nofollow 当作一種提示,而不是硬性的阻断指令。也就是说,對于加了 nofollow 的連結,搜尋引擎可以完全不跟進,也可以選擇跟進。是否跟進,往往取决于它自己的判断,比如入口頁的质量、目标 URL 是否已经在索引里、目前抓取预算是否充裕等。

這带来两個结论:一是不能假定加了 nofollow 就绝對不抓,二是也不能反過来假定蜘蛛一定會抓。两種极端理解都會让排查方向跑偏。

不同引擎的處理存在差异

  • Google 明确把 nofollow 视為提示,並且在很多场景下仍會把它当作發現 URL 的线索;
  • Bing 等引擎的表述不完全一致,但通常也不把它当成强制阻断手段;
  • 國内搜尋引擎没有公開且稳定的規則,實测结果差异較大,不宜照搬。

如果你的流程依赖 nofollow 来精确控制抓取,本身就带着不确定性。

想被蜘蛛發現,就不该指望 nofollow

蜘蛛池里常见的矛盾是:既希望目标 URL 被發現和抓取,又担心入口頁連結太直白带来風險,于是加上 nofollow。這其實把两件事混在了一起。nofollow 主要影响的是權重和信任传递,而不是一個可靠的抓取開關。用它来“既隐藏、又触發”,期待本身是互相冲突的。

nofollow 和几個容易混淆的手段

  • robots.txt 的 disallow:阻止蜘蛛抓取指定路径,但 URL 仍可能因為外鏈而被记錄;
  • meta robots 的 noindex:允许抓取,但不让頁面進入索引;
  • rel="nofollow":只作用于單個連結,属于提示性质,确定性和作用范围都更弱。

想控制抓取范围用 robots.txt,想控制收錄用 noindex,想控制權重传递才用 nofollow,三者目标不同,不能互相替代。

怎么確認蜘蛛有没有跟過去

  1. 查看目标 URL 所在服務器的訪問日誌,筛出搜尋蜘蛛的 user-agent,確認是否有訪問记錄;
  2. 看這些记錄里的 Referer 是否指向入口頁,判断實际的流量路径;
  3. 對比加 nofollow 前後一段時間内目标 URL 的被抓次數,而不是只看某一天的快照;
  4. 同时確認入口頁自身是否被抓取,入口頁不被抓,後面的鏈路就無從谈起。

單次日誌样本容易被抓取周期干扰,建议至少观察一到两周再下结论。

nofollow 不是抓取開關。以被發現為主要目的时,用可正常抓取的連結、sitemap 和 URL 提交接口组合更稳妥;只有在需要控制權重和風險时,再單獨考虑 nofollow。

實践中的几点建议

  • 入口頁的目标連結如果需要被發現,優先使用普通 a 标簽,並保證入口頁本身可以被抓取和訪問;
  • 想降低風險,可以從控制入口頁數量、提升内容质量、让連結分布更自然入手,而不是只加一個属性;
  • 改動之後一律用日誌驗證,不要用“應该會抓”来推断结果;
  • 把“被發現的概率”和“權重是否传递”当成两個獨立問题来分別设計,思路會清楚很多。