网站收录

查收录别只看一个数字:site 查询、覆盖率报告与日志怎么对照

同一个 URL,用 site 查询、Search Console 覆盖率报告和服务器日志去核对,常常得到三种不同答案。这篇文章说明三种口径各自在统计什么、误差来自哪里,并给出一个从粗到细的对照流程,帮你在判断页面是否被收录时少走弯路。

网站收录

查收录别只看一个数字:site 查询、覆盖率报告与日志怎么对照

判断一个 URL 有没有被收录,很多人习惯用 site: 查一下,看到数字就下结论。但只要换一种方法核对,结果往往对不上:site 说没有,覆盖率报告说已编入索引,日志里又明明看到被抓过。这不一定是工具出错,而是三种口径统计的根本不是同一件事。

一、site 查询:方便,但只是估算

site 查询返回的是搜索引擎自己给出的一个近似结果集,它有几个天然限制:

  • 结果被去重和折叠。同一模板下高度相似的页面,可能只展示一部分作为代表,剩下的被省略。
  • 数字不精确。同一批 URL,换关键词、换时间点查询,数量会变,这不是收录量在剧烈波动。
  • 不实时。刚刚发布的页面,site 查询经常要等一段时间才反映出来。
  • 受归属影响。多个 URL 内容相近时,查询结果里出现的可能是搜索引擎选定的那个版本,而不是你输入的那一个。

所以 site 查询适合粗判「这个站有没有被索引」,不适合用来确认某一条具体 URL 的状态。

二、覆盖率报告:看的是搜索引擎认定的版本

Search Console 的页面索引报告颗粒度更细,但它也有自己的前提:

  • 只覆盖你已验证的资源,子域、目录属性需要单独验证;
  • 数据有延迟,通常不是当天状态;
  • 报告里的 URL 是经过 canonical 归并之后的代表 URL,原始 URL 可能被折叠进去,不会单独出现;
  • 「已发现但尚未编入索引」和「已抓取但尚未编入索引」是两种不同状态,前者说明还没抓,后者说明抓了但没进索引。

换句话说,覆盖率报告回答的是「搜索引擎怎么归类这条 URL」,而不是「这条 URL 现在能不能搜到」。

三、服务器日志:只能证明被抓取

日志是最硬的证据,但它证明的事情很容易被误读:

  • Googlebot 访问并拿到 200,只说明抓取成功,不代表已经编入索引;
  • 反过来,日志里没有记录,也不一定是没抓,可能是被 CDN、缓存层或日志采样吃掉了;
  • 日志能帮你看到抓取频次、状态码、抓取的是哪个 URL 变体,这些信息对排查很有用,但不能单独用来判定收录。

四、直接搜索:最接近用户视角

用一个页面上独有的字符串(例如一句独特的标题或一串编号)去搜,是判断「能不能被搜到」最直接的方式。注意几点:

  • 去掉个性化、登录状态和地区影响,最好用无痕窗口;
  • 搜索引擎会自动省略与已有结果高度相似的条目,搜不到不代表没索引;
  • 页面被索引但排名很低时,需要翻到很后面才能看到,这属于展现问题,不是收录问题。

五、一个从粗到细的对照流程

  1. 先用唯一字符串搜索,确认这条 URL 是否可被搜到,记录观察到的时间点。
  2. 再用 site 查询看整体规模,只关注数量级和趋势,不要纠结具体数字。
  3. 打开覆盖率报告,看这条 URL 落在哪个状态,注意它是否被显示为自己,还是被归并到了别的 URL。
  4. 翻日志,确认最近的抓取时间、状态码和抓取的 URL 形态,判断是抓取问题还是索引问题。
  5. 等待一个合理周期后再复查,新页面的状态变化本来就需要时间,频繁改动反而会干扰判断。

六、几种常见的误判

  • 把 site 数字当成收录总数,据此判断站点「掉了多少收录」。
  • 看到日志有抓取记录,就认为收录已经完成,不再处理页面质量问题。
  • 覆盖率报告显示「已发现但尚未编入索引」,就急着改标题、改内容,其实更该先检查内链和入口。
  • 用带参数的 URL 去查询,结果被归并到规范版本,于是误以为页面没被收录。
把三种口径当成互相验证的工具,而不是互相否定的证据:日志回答「来没来过」,覆盖率报告回答「怎么归类」,直接搜索回答「用户能不能找到」。

排查时先明确自己想知道的是哪一个问题,再选对应的口径,比盯着一个数字反复刷新要有效得多。