do_not_disturb_on 收录状态与响应头诊断

Noindex 检测工具

一次最多检测 10 个网址,同时查 X-Robots-Tag 响应头和 <meta name="robots"> 标签,包括 none、按爬虫区分的规则和跳转链路。免注册,不留邮箱。

0 / 10
每行一个网址,1 到 10 个。响应头和 HTML 正文都会抓取。

Guest check: 10 URLs/day. Need more? Create a free account for 50 URLs/day and saved history.

noindex 藏在哪两个地方

搜索引擎读取收录指令的位置有两处,这个工具同时检查。

一、HTTP 响应头(X-Robots-Tag)

服务器在返回页面内容之前就发出的指令。除了网页,PDF、图片、接口返回同样适用,也常被用来对整段路由统一生效(例如 X-Robots-Tag: noindex, nofollow)。查看网页源代码是看不到它的——这正是它最难排查的原因。

HTTP/1.1 200 OK
Content-Type: text/html
X-Robots-Tag: noindex

二、HTML meta robots 标签

写在页面 <head> 里,告诉 Googlebot、Bingbot、百度蜘蛛这类爬虫不要收录当前页面。只对 HTML 文档有效。

<head>
  <meta name="robots" content="noindex, follow">
</head>

这条 noindex 到底是谁加的

知道页面被 noindex 了只是第一步。指令可能来自 CMS 的某个设置、SEO 插件、托管平台,或者服务器配置里的一行——而查看网页源代码只能看到写进 HTML 的那一类。如果上面的结果显示指令来自 HTTP 响应头,那么在后台里怎么找都是找不到的,直接从服务器和 CDN 那几行开始查。

有一个原因值得排在所有排查之前:测试环境的配置被带上了线。测试站通常会有意加上 noindex,一旦这份配置、主题或环境变量跟着发布一起推到生产,线上站就会悄无声息地掉出索引。如果掉排名的时间点和某次发布对得上,先查这里。

平台 写在哪 去哪里找
WordPress 标签 设置 → 阅读 → “建议搜索引擎不索引本站点”。这一个勾选框会让整站 noindex,也是 WordPress 站整体消失最常见的原因。
Yoast / Rank Math 标签 文章或分类编辑页的“高级”面板(“是否允许搜索引擎显示这篇文章”),以及针对归档页、标签页、作者页的全局规则——后者设置一次就再没人看过。
Shopify 标签 theme.liquid 和各模板文件,里面的条件判断会给站内搜索结果和筛选后的集合页加 noindex。店铺还处于密码保护状态时同样是 noindex。
Webflow 标签 单页看 Page Settings → SEO;整站看 Site Settings → SEO 里的“Disable subdomain indexing”,它管的是 .webflow.io 测试域名。
Wix / 微信小商店类建站工具 标签 页面级 SEO 面板里“不在搜索结果中显示此页面”的开关。
Next.js / Nuxt 两者皆可 标签看路由的 metadata 导出(robots: { index: false })或 head 配置;响应头看 next.config.js 的 headers() 规则或服务端中间件。
Vercel / Netlify 响应头 预览部署和分支部署会被平台自动加上 X-Robots-Tag: noindex。这是设计如此,只有当预览地址被人分享出去或误提交进 sitemap 时才是问题。
Nginx 响应头 server 或 location 块里的 add_header X-Robots-Tag。注意一个坑:location 块里的 add_header 会“覆盖”而不是“追加”从 server 块继承来的头,所以这条指令可能按路径时有时无。
Apache 响应头 .htaccess 或虚拟主机配置里的 Header set X-Robots-Tag,常常写在针对 PDF 的 FilesMatch 块里,而实际匹配范围比预期宽。
Cloudflare 响应头 Transform Rules → Modify Response Header,以及任何会改写响应的 Worker。这里加的响应头在源站是完全看不到的,所以查服务器永远查不出原因。

去掉指令之后,页面不会立刻回来——Google 得重新抓取一次才知道它没了。改完先用这个工具再测一遍,确认服务器确实不再返回这条指令(CDN 的缓存可能还会继续吐旧响应头一段时间),然后到 Search Console 里对重要页面手动请求编入索引。

robots 指令逐条说明

真正能让页面不被收录的只有两个值,其余的只影响页面在搜索结果里怎么展示,却经常被当成收录开关用。下面这些指令写在 meta 标签或 X-Robots-Tag 里都有效,检测结果中出现的会被单独标出。

noindex 阻断收录

页面不出现在搜索结果里。但页面仍会被抓取——不抓取就读不到这条指令。

none 阻断收录

noindex, nofollow 的简写。整个标签里没有 “noindex” 这个词,所以靠关键词匹配的工具会漏掉它。

nofollow 仅影响展示

不跟随本页上的链接。和页面本身收不收录没有关系。

noarchive 仅影响展示

不提供网页快照。页面排名不受影响。

nosnippet 仅影响展示

不显示文字摘要和视频预览,搜索结果里只剩标题和网址——通常会明显拉低点击率。

max-snippet:[n] 仅影响展示

限制摘要长度为 n 个字符。max-snippet:0 等同于 nosnippet,-1 表示不限制。

noimageindex 仅影响展示

页面上的图片不被收录,页面本身不受影响。

notranslate 仅影响展示

不向使用其他语言的用户提供这条结果的翻译。

unavailable_after:[日期] 阻断收录

到期后把页面从搜索结果中移除。本质上是一个定时的 noindex,因为带日期,往往在写下很久之后才悄悄生效。

noindex、nofollow、robots.txt Disallow 三者对照

这三个经常被混用,而且错得很有方向性:在 robots.txt 里禁掉一个页面,并不能把它从索引里去掉。被禁的页面爬虫根本不会去抓,页面上的 noindex 自然读不到,结果这个网址可能长期留在搜索结果里、只是没有描述文字。

noindex nofollow robots.txt Disallow
写在哪里 meta 标签或 HTTP 响应头 meta 标签、响应头,或链接的 rel 属性 robots.txt 文件
页面会被抓取吗 会——必须被抓取 会 不会
会出现在搜索结果吗 不会 会 可能会,但没有描述
页面上的链接被跟随吗 会,除非同时写了 nofollow 不会 不会——页面根本没被读取
消耗抓取预算吗 消耗 消耗 不消耗
什么时候用它 这个页面不该出现在搜索结果里 不想为页面上的链接背书 整个目录都不该被抓,且已经从索引里下架了

这个工具具体怎么检测,以及它查不到什么

每个网址请求一次,解析响应头和原始 HTML。指令从 X-Robots-Tag 响应头和文档 <head> 内的 meta robots 标签中读取;写在 body 里的 robots 标签会被忽略,这与搜索引擎的处理一致。同一域名下的 robots.txt 和 sitemap.xml 只抓一次,批量检测时复用。

  • User-Agent:SearchVitals-Bot/1.0。针对具名爬虫的指令会按 Google 的爬虫名匹配,所以写给 googlebot 的规则会被判定为生效。
  • 跳转:手动跟随,最多 3 跳。结论归属于最终网址,并展示完整链路——指令不会被算到错误的页面头上。
  • 超时:连接 4 秒,单个网址总计 6 秒。源站响应慢会明确报超时,而不是猜一个结果。
  • 并发:同一主机最多 3 个并发请求,避免触发对方限流后把验证页当成你的内容来解析。
  • 数量:单次最多 10 个网址;免费账号每天 50 个。

最主要的局限:不执行 JavaScript。这个工具读的是服务器返回的 HTML,也就是爬虫第一轮拿到的东西。如果 noindex 是由前端 JavaScript 动态写进 DOM 的,这里查不出来——反过来说,如果 Search Console 报了 noindex 而你在源代码里怎么都找不到,这往往就是原因。证书校验是开启的,所以证书有问题的站会明确报错,而不是被静默抓取。

常见问题

meta 标签里的 noindex 和 HTTP 响应头的 X-Robots-Tag,有什么区别?

expand_more

一个写在 HTML 里,一个写在响应头里。 只对 HTML 文档有效;X-Robots-Tag 是服务器返回的响应头,除了网页,PDF、图片、接口返回都能用它控制。这个工具两处都查——因为服务器或 CDN 加的响应头,在你查看网页源代码时是看不到的。

页面里没有 noindex 标签,为什么还是掉出了索引?

expand_more

最常见的原因是响应头里有 X-Robots-Tag: noindex,由 Nginx、Apache 或者 Cloudflare 这类 CDN 中间层加上,源代码里查不到。另一种情况是 robots.txt 把这个路径禁了:爬虫根本抓不到页面,页面上的 noindex 自然也读不到,结果反而是它留在索引里、只是没有摘要——和你想要的正好相反。

content="none" 和 noindex 是一回事吗?

expand_more

是。Google 把 content="none" 当作 noindex, nofollow 处理。它容易被漏掉,是因为整个标签里根本没出现 "noindex" 这个词——凡是靠搜索关键词判断的工具都会把这种页面报成"可收录"。这个工具是逐条解析指令的,所以 none 不会漏。

去掉 noindex 之后,多久能重新收录?

expand_more

没有固定周期。Google 必须重新抓取一次才能发现指令已经去掉了,所以取决于这个页面被抓取的频率——更新频繁的站可能几天,冷门页面可能要几周。重要页面可以到 Search Console 里手动请求编入索引,通常会快一些。

noindex 和 nofollow 有什么区别?

expand_more

noindex 管的是"这个页面不要出现在搜索结果里",nofollow 管的是"不要跟随这个页面上的链接"。两者互不影响。常见的组合是 noindex, follow——页面本身不进搜索结果,但权重仍然沿着链接往下传,大多数只想隐藏页面的场景用的都是这个。

该用 noindex 还是 robots.txt 的 Disallow?

expand_more

想让页面不出现在搜索结果里,用 noindex;想让爬虫根本不要来抓,用 robots.txt。同一个网址上不要两个一起用:被 Disallow 的页面爬虫不会抓取,页面里的 noindex 就永远读不到,结果是它继续留在索引里、只是没有描述。如果页面已经被收录了、你想让它下架,就得先允许抓取,再用 noindex。

Search Console 报"已提交但被标记为 noindex"是什么意思?

expand_more

这个网址同时出现在你的 sitemap 里,又带着 noindex——等于一边请 Google 来收录,一边告诉它别收录。要么去掉 noindex,要么把这个网址从 sitemap 里移走。这个工具会直接把这种矛盾标出来。

分页、归档、标签页需要加 noindex 吗?

expand_more

通常不需要,至少不该按页面类型一刀切。Google 处理分页的能力没问题,而给归档页加 noindex 反而会切断通往内容页的抓取路径。判断标准应该是"这个页面对搜索用户有没有独立价值"——站内搜索结果页、筛选组合出来的空页面、测试环境的重复页,这些才该加。

noindex 会浪费抓取预算吗?

expand_more

会。加了 noindex 的页面照样要被抓取——不抓取就读不到这条指令。站点规模大的时候,这就是实打实花在永远不会有排名的页面上的预算。如果整个目录都不该被抓,robots.txt 才是对的工具,但前提是这些页面已经从索引里下架了。

noindex 页面上的链接还传递权重吗?

expand_more

在页面还在被抓取的期间,如果指令是 noindex, follow,是传递的。但 Google 说过,一个长期保持 noindex 的页面,它会逐渐当作 nofollow 处理,因为抓取频率会越来越低。所以不要把 noindex 页面当成内链结构里的长期节点。

屏蔽 AI 爬虫会影响页面被收录吗?

expand_more

不会。收录由 Googlebot 和你的 robots 指令决定。屏蔽 GPTBot 或 ClaudeBot 只是拒绝内容被拿去训练模型,既不影响 Google 收录,也不影响 ChatGPT 或 Claude 能不能引用你——尽管后一点常被说反。决定引用的是检索类爬虫:OAI-SearchBot、ChatGPT-User、Claude-SearchBot、Claude-User、PerplexityBot。Google-Extended 是个例外,这一个 token 同时管着 Gemini 的训练和 grounding,两者拆不开。想让内容真正被引用,可以看如何成为 AI 回答引用的信息源。

本页内容最近审阅于 。