搜尋抓取

nofollow 與 noindex:被标记的連結還能不能進入 URL 發現队列

nofollow 和 noindex 常被当成同一類開關使用,但它們作用的對象完全不同:一個管連結,一個管頁面。本文梳理两個标记對 URL 發現和抓取队列的實际影响,說明常见的誤用场景,並给出一份可以照着做的自查清單。

搜尋抓取

nofollow 與 noindex:被标记的連結還能不能進入 URL 發現队列

先分清两個指令管的范围

nofollow 作用在連結上,表達的是“這條連結的推荐關系不成立”,它影响連結價值與部分抓取判断;noindex 作用在頁面上,表達的是“這個頁面不要出現在搜尋结果里”。两者都不等于“禁止訪問”,也不等于“禁止被發現”。

不少运营同学把它們当成開關来用:给列表頁加 nofollow 避免權重分散,给篩選頁加 noindex 避免收錄脏頁面。這種用法本身没問题,但如果把首頁導航、分類入口這類關键路径一起加上,URL 發現會明顯變慢。

nofollow 之後,蜘蛛還會不會走

主流搜尋引擎對 nofollow 的解讀已经從“指令”變成“提示”。也就是说,被标记的連結仍有可能被抓取,只是優先級更低、被參考的程度更弱。如果你的目的是减少抓取,nofollow 基本達不到效果;如果目的是减少權重传递,它有一定作用,但代價是這條路径上的新頁面被發現得更慢。

值得留意的是:連結被解析和連結被跟随是两回事。蜘蛛在解析 HTML 时通常已经拿到了 href 里的地址,是否進入待抓队列還要看後續調度。所以“删掉内鏈”和“保留連結但加 nofollow”,對 URL 發現的影响並不相同。

noindex 頁面同样會被抓取

noindex 只阻止頁面進入索引,不阻止蜘蛛来抓。一個被 noindex 的頁面,如果站内有大量内鏈指向它,它依然會稳定進入抓取队列,持續消耗抓取額度,却永遠不會出現在搜尋结果里。

常见场景是站内搜尋结果頁、會員中心、临时活動頁。這些頁面與其用 noindex 挂着让蜘蛛反复来,不如先判断是否真的需要被抓取:如果站内没有任何入口指向它、外部也没有連結,用 robots.txt 的 Disallow 反而更省事。但要注意,Disallow 之後蜘蛛讀不到頁面上的 noindex,两者不要同时指望。

和 robots.txt 的区別別搞混

  • robots.txt 的 Disallow:阻止抓取。被挡住的 URL 仍可能因外部連結出現在索引里。
  • noindex:允许抓取,阻止索引。需要蜘蛛能訪問到頁面才生效。
  • nofollow:連結层面的提示,不阻止抓取,也不保證頁面不被發現。

一份可以照着做的自查清單

  1. 首頁、主導航、面包屑是否被誤加了 nofollow;
  2. 被 noindex 的頁面有多少内鏈入口,能否减少;
  3. robots.txt 是否挡住了本来需要被抓取的目錄;
  4. 對照服務器日誌,看标记前後抓取量是增加還是减少。
标记只是提示,路径才是根本。想让搜尋蜘蛛稳定發現 URL,先保證關键入口能被正常抓取,再谈各類指令的取舍。