搜索抓取

noindex 与抓取:被挡在索引外的 URL,蜘蛛还会不会继续请求

noindex 管的是收录,不是抓取。本文拆开讲 meta、HTTP 响应头和 robots.txt 三种下发方式的差别,说明被 noindex 的页面为什么仍会被蜘蛛请求、链接还会不会被跟随,以及先屏蔽再 noindex 的常见顺序错误。

搜索抓取

noindex 与抓取:被挡在索引外的 URL,蜘蛛还会不会继续请求

很多站长把 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 之后会怎样

  1. 蜘蛛仍会请求,只是不写入索引,这些请求会占用抓取配额。
  2. 页面上的链接通常仍会被提取和跟随,所以 noindex 不等于切断抓取路径。导航里挂着、被大量内链指向的页面,照样会被反复访问。
  3. 孤岛页面(没有内链、也不在 Sitemap)打了 noindex 之后,可能很久才被重抓一次,你的设置也要等到那次抓取才真正生效。
  4. 长期不更新的 noindex 页面,抓取频率通常会自然回落,但不会归零。

“先屏蔽再 noindex”是常见顺序错误

为了图省事,很多人把 robots.txt 的 Disallow 和 noindex 一起上。问题在于蜘蛛读不到页面,就看不到 noindex,索引里的旧记录可能长期留着,只能靠用户点击后的移除流程慢慢处理。更稳妥的顺序是:先允许抓取并输出 noindex,等结果里确实消失,再考虑用 robots.txt 或访问控制层屏蔽。

哪些场景适合用 noindex

  • 站内搜索结果页、筛选组合页、排序参数页。
  • 用户中心、打印页、预览页等私有或低价值页面。
  • 尚未上线的测试页、已经结束的临时活动页。
  • 内容重复但需要保留链接传递路径的页面,此时要与 canonical 一起想清楚谁优先。

取消限制之后不会立刻恢复

移除 noindex 后,页面要先被重新抓取,再重新判断质量与重复关系,才可能回到索引。周期长短取决于站点抓取频率、页面在站内的位置和内容更新情况。如果这段时间里它既没有内链、也没有任何提交线索,恢复会更慢。

排查清单:用抓取日志确认这些 URL 是否仍在被请求;在浏览器或命令行里看真实响应头,确认 X-Robots-Tag 没有被缓存层或 CDN 改写;用网址检查类工具看蜘蛛拿到的到底是哪一版页面。

把 noindex 当抓取开关用,基本都会用错。它管的是“进不进库”,抓取路径该收还是得靠内链结构、Sitemap 和 robots.txt 规则来控制。