可索引性一键体检

状态码 · 重定向链 · robots 判定 · noindex · canonical
服务器会以 Googlebot 的 User-Agent 抓取这个网址和它的 robots.txt,逐项判定后返回结论。只支持公网可访问的 http 与 https 地址。

📖 可索引性一键体检使用说明

一个页面能不能出现在搜索结果里,取决于一串环环相扣的条件:服务器得返回可用的状态码、robots.txt 不能拦着爬虫、页面里不能有 noindex、canonical 不能把权重指向别处。这些信号散落在响应头、robots 文件和 HTML 各处,任何一环出问题,整个页面就进不了索引。

这款工具把这一串检查合并成一次操作:输入网址,服务器以 Googlebot 的身份去抓一遍,把每一项的实际值取回来,然后给出一句话结论——能收录,还是被什么挡住了。

一、它检查哪些环节?

1.1 状态码与重定向链

逐跳跟踪重定向,把整条链展示出来。200 才是可索引的正常状态;301 会把信号传给目标页;302 是临时跳转,长期使用会让搜索引擎困惑该收录哪一个;404 和 410 都表示页面没了,区别在于 410 更明确;5xx 属于服务器故障,持续出现会导致已收录的页面被移出索引。链条超过两跳就该合并,每一跳都在稀释信号也在浪费抓取预算。

1.2 robots.txt 判定

这一项是很多人栽跟头的地方。工具会把目标站的 robots.txt 抓下来,按搜索引擎的匹配规则实际算一遍:先找适用于 Googlebot 的规则组,没有就用通配组;把所有匹配这个路径的规则挑出来,取路径最长的那条;长度相同时 Allow 优先于 Disallow。

这套规则的细节容易被误解。比如站长以为写了 Disallow: /admin 只会挡后台,但它其实会挡住所有以 admin 开头的路径,包括 /administrator-guide.html 这种。工具会把最终生效的那条规则原样显示出来,不用自己在几百行 robots 里对着找。

1.3 noindex 的两个藏身处

noindex 可以写在 HTML 的 meta 标签里,也可以写在 HTTP 响应头的 X-Robots-Tag 里。后者在页面源码里完全看不到,是最难排查的一类掉索引原因——页面看起来一切正常,就是不收录。这款工具两处都查,而且会分别显示 robots 和 googlebot 两个 meta 名称的值。

1.4 canonical 的三种状态

自指的 canonical 是健康状态;指向别的页面意味着这一页主动放弃了收录资格,把信号让给了目标页;完全没有 canonical 不算错误,但在有参数、有分页、有多个入口的站点上容易出重复内容问题。工具会把 canonical 的实际值和目标页做对比,并且额外检查响应头里的 Link canonical,那也是一个容易被忽略的位置。

1.5 页面基础信号

顺带查 title、description、H1 数量、html 的 lang 属性、viewport 和 hreflang。这些不直接决定能否被索引,但缺失或异常会影响展示效果和多语言站的定位准确度。

二、结论怎么读?

工具给出三种结论。

可以被收录:状态码 200,robots 允许,没有 noindex,canonical 自指或为空。这时候页面没进索引,原因通常在别处——内容质量、内链不足、站点整体权重,或者只是还没被抓到。

存在风险:能被抓到但有需要留意的信号,比如重定向链过长、canonical 指向别处、hreflang 缺自引用。这些不一定是错误,取决于你的意图是不是这样。

无法被收录:有明确的阻断信号——被 robots 拦住、带 noindex、返回 4xx 或 5xx。结论会指出具体是哪一条在起作用。

有一个组合特别值得警惕:robots.txt 拦截加上页面里的 noindex,等于什么都没做。爬虫既然被 robots 挡在门外,就永远读不到那个 noindex,页面反而可能因为外链而以无摘要的形式出现在结果里。想彻底不收录,正确做法是放开 robots 让爬虫进来读到 noindex。

三、这款工具做不到什么?

四、排查掉索引的常见顺序

页面突然不见了,按这个顺序查通常最快:先看状态码,排除服务器和跳转问题;再看 robots.txt,尤其是最近有没有改过;然后查 X-Robots-Tag,这是最隐蔽的一个;接着看 meta robots;最后看 canonical 有没有被程序错误地指到了首页或者别的页面。

批量迁移和改版之后,最容易出问题的是前三项:新服务器的 nginx 配置里带了 noindex 的响应头、测试环境的 robots.txt 被一起发到了生产、以及重定向规则写错导致的死循环。这三样都不会在页面上有任何可见的痕迹。

操作步骤

  1. 输入网址填要检测的完整地址,只支持公网可访问的http与https。
  2. 开始体检服务器以Googlebot身份抓取该页与它的robots.txt。
  3. 先看结论三种结果:可以被收录、存在风险、无法被收录,并指出是哪一条在起作用。
  4. 看重定向链超过两跳就该合并,每一跳都在稀释信号和浪费抓取预算。
  5. 查两处noindexmeta标签和X-Robots-Tag响应头都要看,后者在源码里看不见。
  6. 核对canonical自指是健康的,指向别处意味着这页主动放弃了收录资格。

常见问题解答

显示可以被收录,为什么搜不到?

可索引只是必要条件不是充分条件。还要看内容质量、重复度、站点权重和内链,也可能只是还没被抓到。要确认是否已在索引里得用Search Console的网址检查。

为什么页面源码里没有noindex却说被屏蔽了?

noindex还能写在HTTP响应头的X-Robots-Tag里,源码里完全看不到。这是最难排查的一类掉索引原因,工具会把响应头原样显示出来。

robots.txt的规则是怎么判定的?

按Google公开的匹配规则:先找适用于Googlebot的规则组,没有就用通配组;所有匹配路径的规则里取最长的那条;长度相同时Allow优先。

robots拦截加noindex是不是双保险?

恰恰相反,等于什么都没做。爬虫被robots挡在门外就永远读不到noindex,页面反而可能因外链以无摘要形式出现。要彻底不收录,得放开robots让爬虫读到noindex。

它会执行JavaScript吗?

不会,抓的是服务器返回的原始HTML。前端注入的canonical和meta robots这里看不到,不过搜索引擎首轮抓取看到的也是这份原始HTML。

重定向几跳算多?

超过两跳就该合并。每一跳都在稀释信号也在消耗抓取预算,链条太长时搜索引擎可能中途放弃。

canonical指向别的页面算错吗?

取决于意图。指向别处意味着这一页主动把信号让给目标页,如果那正是你想要的就没问题;如果是程序错误地全站指向首页,那就是事故。

能检测内网或需要登录的页面吗?

不能。只支持公网可访问的地址,内网和保留地址会被直接拒绝,这是为了防止服务端请求伪造。