常见問题

入口頁加了 noindex,里面的目标連結還會被搜尋蜘蛛跟進吗?

noindex 管的是頁面能否進索引,不管頁面上的連結能不能被跟進。本文区分 noindex、nofollow、robots.txt 和 X-Robots-Tag 各自的作用,解释為什么入口頁用 noindex,follow 更合适,以及 robots.txt 與 noindex 混用时會出現什么矛盾,並给出可落地的配置顺序。

常见問题

入口頁加了 noindex,里面的目标連結還會被搜尋蜘蛛跟進吗?

结论先说清楚:只要入口頁本身能被正常抓取,頁面里的 noindex 只影响這個入口頁自己要不要進索引,不會阻止搜尋蜘蛛顺着頁面上的連結繼續往下走。目标連結能不能被抓住,取决于目标 URL 那一侧的狀態,而不是入口頁有没有寫 noindex。真正會把連結跟進掐断的,是 nofollow 和 robots.txt 的 Disallow。

noindex 和 nofollow 是两件事

很多人把 noindex 理解成“這一頁作废了”,其實它的语义只是“別把這個頁面放進搜尋结果”。在預設情况下,蜘蛛仍然會解析頁面上的連結並跟進,也就是隐含了 follow 的行為。只有当你明确寫成 noindex, nofollow 时,連結才不會被繼續跟進。

對蜘蛛池入口頁来说,這恰好是一個有用的组合:入口頁本身没有内容價值,不希望它污染索引,但要靠它把目标 URL 递到蜘蛛面前,因此 noindex, follow 往往比什么都不寫更合理。

几種控制手段,作用范围完全不同

  • robots.txt 的 Disallow:禁止蜘蛛抓取這個頁面。蜘蛛连頁面都不取,自然看不到里面的連結,也讀不到頁面里寫的 noindex。
  • meta robots 的 noindex:頁面能被抓取,只是被要求不進入索引,連結預設仍可跟進。
  • meta robots 的 nofollow:明确要求不要跟進頁面上的連結。
  • X-Robots-Tag:寫在 HTTP 响應头里,作用和 meta 标簽一致,對非 HTML 類型的响應同样适用。
  • a 标簽上的 rel=nofollow:只影响那一條連結,不會波及整頁。

一個常见的自相矛盾

如果用 robots.txt 把入口頁整段屏蔽掉,同时在頁面里寫 noindex,這是一個無效组合。蜘蛛遵守 robots.txt,不會去抓這個頁面,也就永遠看不到那個 noindex 标簽。结果往往是:入口頁的 URL 仍可能出現在结果里,没有描述也没有快照,而頁面里的目标連結一條都没被發現,等于白做。

想控制索引,就用 noindex 並保持頁面可抓取;想彻底断開連結传递,就用 nofollow 或 robots.txt。两者混用之前,要清楚各自會付出什么代價。

入口頁可以按這個顺序配置

  1. 确保入口頁允许被抓取,不要放進 robots.txt 的 Disallow 列表。
  2. 在頁面 head 里寫 noindex, follow,让入口頁不進索引但繼續带路。
  3. 不要给目标連結随手加 rel=nofollow,除非确實想切断某一條。
  4. 入口頁不要放敏感信息,因為它毕竟會被人和蜘蛛看到。
  5. 定期抽查入口頁是否返回 200。被 403、503 或驗證碼挡住时,noindex 一样讀不到,連結跟進也無從谈起。

目标連結那一侧也有自己的门槛

入口頁這邊配置正确,並不等于目标 URL 一定會被抓取或收錄。目标站自己的 robots.txt 是否放行、返回的是 200 還是跳轉、内容是否值得索引、服務器是否稳定,都會左右最终结果。入口頁能做的只是把 URL 递到蜘蛛面前,抓不抓、收不收,是後面几步的事。

把 noindex 理解成给入口頁挂了一块“免收錄”的牌子就够了。這块牌子不影响它带路,也不该被当成萬能開關,更不能用它替代 nofollow 或 robots.txt 去處理連結跟進的問题。