解决方案 · HTTP 响应头

如何检查 X-Robots-Tag 与 noindex 指令

检查最终 HTTP 响应中可能不会出现在页面 HTML 里的索引与搜索展示指令。

打开 HTTP 响应头

快速回答

快速回答

跟随重定向到最终响应,并检查所有 X-Robots-Tag 响应头。noindex 响应头可控制 HTML 与非 HTML 资源的索引,但爬虫必须能获取该 URL 才能看到它。

先确认正在检查哪一层控制

robots 控制存在于不同层级:

  • robots.txt 描述爬虫是否应获取某个路径。
  • robots meta 元素嵌入 HTML 文档中。
  • X-Robots-Tag 通过 HTTP 响应头传递,可用于 HTML 或非 HTML 资源。

不要只读取 robots.txt 来排查 noindex 问题。还应检查最终资源响应,以及适用时的页面 HTML。

检查最终响应

最基本的响应头如下:

HTTP/1.1 200 OK
X-Robots-Tag: noindex

Google 也记录了针对特定 user-agent 的形式:

X-Robots-Tag: googlebot: noindex

跟随完整重定向链并检查最终响应。中间 301 响应上的指令与最终 200 资源返回的指令并不等价。CDN 和源站都可能添加响应头,因此还要检查是否存在多个 X-Robots-Tag 字段或合并值。

理解常见指令

noindex 要求支持它的搜索引擎不在搜索结果中展示资源;nofollow 要求不跟踪资源中的链接;nosnippet 限制文本或视频摘要,而 max-snippet 等指令设置受支持的展示上限。

不同搜索引擎对指令的支持不一定相同。请以目标引擎的官方文档为准,不要把一个提供商的行为视为通用规则。

使用 Scopeva 检查

  1. 打开 HTTP 响应头。
  2. 输入公开的完整 URL,而不只是源站主机名。
  3. 查看重定向链和最终 URL。
  4. 确认最终 HTTP 状态。
  5. 在 SEO 响应头分组中检查每个 X-Robots-Tag 值。
  6. 将结果与最终 HTML 中的 robots meta 元素进行对比。

Scopeva 会显示受限的重定向链,然后分析公开最终响应的响应头,不会把中间重定向的响应头当作最终资源策略;它也不会模拟每个搜索引擎完整的索引系统。

依赖 noindex 前先检查可抓取性

爬虫必须先获取资源,才能读取 robots meta 或 X-Robots-Tag。如果 robots.txt 阻止该路径,爬虫可能看不到 noindex。对于搜索引擎已经知道的 URL,这可能使它只能保留有关被阻止 URL 的有限信息。

如果目标是移除索引,请确认目标爬虫能读取携带 noindex 的响应,并使用搜索引擎自己的工具持续观察。不要为了传递 noindex 而公开私有内容;机密资源应使用身份验证保护。

常见错误

  • 检查源站响应,却忽略 CDN 改写后的公开响应头。
  • 只读取重定向链的第一个响应。
  • 在页面源码里寻找 X-Robots-Tag,而不是检查响应头。
  • 误以为 robots.txt Disallow 会传递 noindex。
  • 忽略重复或针对特定 user-agent 的值。
  • 假设所有引擎对 max-snippet 等展示指令支持一致。

局限

Scopeva 报告从其请求位置可见的响应头。地域规则、缓存变体、身份验证和依赖 user-agent 的响应可能不同。即使指令传递正确,也无法预测搜索引擎何时重新抓取或更新索引。

使用 Scopeva 验证

检查实际返回的配置

打开 HTTP 响应头,检查上文所述的公开信号。修改生产环境配置前,请确认匹配规则或返回的响应。

打开 HTTP 响应头

常见问题

关于此任务的问题

X-Robots-Tag 与 robots.txt 相同吗?

不同。robots.txt 控制爬虫访问;X-Robots-Tag 是资源被获取后传递索引与搜索展示规则的 HTTP 响应头。

X-Robots-Tag 可以应用于 PDF 吗?

可以。HTTP 响应头可应用于 PDF、图片和视频等无法使用 robots meta 元素的非 HTML 资源。

能否同时阻止抓取并使用 noindex?

robots.txt 阻止可能使爬虫无法获取响应,也就看不到 noindex。若目标是从索引中移除,爬虫通常需要能够读取该指令。

依据

官方参考资料

技术行为最后核查于 2026年11月5日。