先看现象。索引报告显示已编入索引 4.2 万条,实际用 site 查询只找到 1.8 万条。逐条核对发现不少带 noindex 的页面被算进了已编入索引,报表和真实收录差了一倍多。

真正麻烦的地方在于,几个原因的现象几乎一样。报告统计的是最后一次成功抓取时的状态,后加的标签不算。另一种情况是noindex 是通过 JS 或响应头加的,抓取时没读到。

不容易想到的是,canonical 指向别处的页面也被计入同一组。

还有一种情况,站点有多个属性,报告把 www 和裸域的条目混在一起。

第一件事是抽查十条已编入页面看实际标签

curl -s https://www.example.com/p/1 | grep -i robots

接着确认响应头里有没有 noindex

curl -sI https://www.example.com/p/1 | grep -i x-robots

然后按属性分别导出索引清单比对

curl -s 'https://api.example.com/gsc/sitemaps' | head

末了把

改完先别撤,确认这几项。改完标签输出方式后重新抓取,报告里的数字在三周内回落到 2.1 万条,和 site 查询的差距缩到两成以内。

提醒一点。索引报告是滞后快照,拿它当准数去做决策,很容易把标签问题和统计口径混为一谈。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189