先说结论:noindex 管的是「这一页能不能进索引」,不是「这一页里的链接能不能被跟着爬」。只要入口页本身还能被抓取,搜索蜘蛛解析完 HTML 之后,通常仍会把里面的目标 URL 放进待抓队列。所以入口页加 noindex,不会直接切断链接发现这条路。但它会改变一些别的东西,值得单独说清楚。
noindex 和 robots.txt 屏蔽是两回事
这两个经常被混着用,实际作用差得很远。
- noindex:页面可以被抓取,蜘蛛能读到内容,只是不建议把这一页本身放进索引。
- robots.txt disallow:蜘蛛拿不到页面内容,自然也就看不到里面的链接,这是会真正阻断发现的写法。
很多站长以为给入口页加 noindex 就等于「藏起来」,但藏起来的同时链接也一起消失了,那其实是 disallow 的效果。想保留链接发现、只是不想让入口页出现在结果里,用 noindex 更合适。
入口页 noindex 后,链接通常还能被发现
搜索蜘蛛抓到一个页面后,会解析 HTML 里的 a 标签、收集其中的 URL,再决定后续抓不抓。noindex 只影响第一步「要不要收录这一页」,不影响「要不要把链接记下来」。所以绝大多数情况下,链接发现照常进行。
不过这个结论有几个前提,缺一个结果就可能不一样:
- 入口页返回 200,不是 403、404 或 5xx;
- 入口页没有被 robots.txt 拦在门外;
- 链接是服务端输出的 HTML,不是抓取时还不存在的 JS 内容;
- 链接没有加 nofollow、ugc、sponsored 这类属性;
- 页面没有登录墙、验证码或 WAF 拦截挡住。
哪些情况会「顺带」影响链接发现
noindex 本身不阻止跟随,但实际项目里常和别的因素叠在一起,现象看起来就像 noindex 惹的祸。
noindex 和 canonical 混用
入口页设了 noindex,同时又用 canonical 指向自己,两个信号会互相打架。对链接发现的影响通常不大,但会让你在排查现象时更难判断,建议配置保持单一、意图明确。
抓取预算被入口页消耗掉
noindex 页面照样会被爬,照样占抓取配额。如果入口页数量很大、内容又薄,蜘蛛可能把时间花在这些页面上,目标站的抓取节奏被挤压。这是运营层面的问题,不是「noindex 导致链接不被发现」。
入口页长期不被重新访问
如果入口页没什么外链、内容也长期不变,蜘蛛重新造访的间隔会拉长,新加的链接发现得就慢。这属于抓取调度,和 noindex 没有直接关系。
实际配置时可以参考这几点
- 入口页用 noindex, follow(follow 是默认行为),保留链接跟随。
- 确实只想做链接发现、不想入口页被收录,别用 disallow,用 noindex 更稳妥。
- 同一批入口页不要一边 noindex、一边又指望它带来收录,目标要提前想清楚。
- 也可以用响应头 X-Robots-Tag 设置 noindex,效果和 meta 标签一致。
- 定期看服务器日志,确认蜘蛛有没有请求入口页,以及有没有继续请求目标 URL。
怎么验证实际情况
在访问日志里筛出入口页路径,看返回码和 UA,再对照同一时间或之后的记录里,目标 URL 有没有被请求。搜索平台的 URL 检查、抓取统计也能作为参考,但不必把某一天的数字当成定论。连续观察一段时间,比只看一次数据可靠得多。
小结:noindex 影响的是入口页自身的收录,不是链接的发现。真正会切断发现的是 disallow、nofollow,以及蜘蛛根本拿不到 HTML 内容这些情况。
把「能不能发现」和「会不会收录」分开看,很多现象就解释得通了。入口页用 noindex 是很常见的做法,关键还是保证页面可抓取、链接可解析、抓取配额别被无谓浪费。