很多站长把 noindex 当成“让蜘蛛别来”的开关,结果设置之后发现日志里请求照旧,就以为没生效。其实这里混了两件事:抓取是取回页面,索引是决定要不要收进结果。noindex 只作用于后半段——它说的是“页面可以看,但别收录”,而不是“别来”。
抓取与索引是两个独立环节
蜘蛛发现一个 URL,先请求回来,再根据状态码、页面内容、重复关系和站点整体质量,判断是否入库。noindex 影响的是入库判断,请求本身并不会因此停止。只要这个 URL 还能从别的页面被链接到、或者出现在 Sitemap 里,它就有继续被抓的可能。
三种下发方式,效果并不对等
- meta robots:写在 HTML 的 head 里,必须先成功取回并解析页面才看得到。如果页面被 robots.txt 屏蔽,或者标签要靠 JS 执行后才插入,判断就可能落空。
- X-Robots-Tag 响应头:不依赖解析 HTML,PDF、图片、视频等非 HTML 资源同样适用,也方便按目录批量下发,通常比 meta 更稳。
- robots.txt 的 Disallow:这是禁止抓取,不是禁止索引。被挡住的 URL 可能因为没读到 noindex,而以纯链接形式留在结果里。
冲突写法很常见:响应头写了 noindex,HTML 里却写着 index;或者页面被 Disallow 屏蔽,同时又指望靠 meta 打 noindex。动手前先分清楚,你是希望蜘蛛别来(robots.txt),还是希望它来但别收录(noindex)。
被 noindex 的 URL 之后会怎样
- 蜘蛛仍会请求,只是不写入索引,这些请求会占用抓取配额。
- 页面上的链接通常仍会被提取和跟随,所以 noindex 不等于切断抓取路径。导航里挂着、被大量内链指向的页面,照样会被反复访问。
- 孤岛页面(没有内链、也不在 Sitemap)打了 noindex 之后,可能很久才被重抓一次,你的设置也要等到那次抓取才真正生效。
- 长期不更新的 noindex 页面,抓取频率通常会自然回落,但不会归零。
“先屏蔽再 noindex”是常见顺序错误
为了图省事,很多人把 robots.txt 的 Disallow 和 noindex 一起上。问题在于蜘蛛读不到页面,就看不到 noindex,索引里的旧记录可能长期留着,只能靠用户点击后的移除流程慢慢处理。更稳妥的顺序是:先允许抓取并输出 noindex,等结果里确实消失,再考虑用 robots.txt 或访问控制层屏蔽。
哪些场景适合用 noindex
- 站内搜索结果页、筛选组合页、排序参数页。
- 用户中心、打印页、预览页等私有或低价值页面。
- 尚未上线的测试页、已经结束的临时活动页。
- 内容重复但需要保留链接传递路径的页面,此时要与 canonical 一起想清楚谁优先。
取消限制之后不会立刻恢复
移除 noindex 后,页面要先被重新抓取,再重新判断质量与重复关系,才可能回到索引。周期长短取决于站点抓取频率、页面在站内的位置和内容更新情况。如果这段时间里它既没有内链、也没有任何提交线索,恢复会更慢。
排查清单:用抓取日志确认这些 URL 是否仍在被请求;在浏览器或命令行里看真实响应头,确认 X-Robots-Tag 没有被缓存层或 CDN 改写;用网址检查类工具看蜘蛛拿到的到底是哪一版页面。
把 noindex 当抓取开关用,基本都会用错。它管的是“进不进库”,抓取路径该收还是得靠内链结构、Sitemap 和 robots.txt 规则来控制。