常见问题

入口页加了 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 去处理链接跟进的问题。