要区分抓取与索引结果,核心是看两个独立信号:服务器日志或抓取统计里有没有出现该 URL 的请求,以及搜索结果或索引状态查询里该 URL 是否可被检索。抓取成功不等于已索引,索引了也不代表当前仍被抓取。下面用一个假设例子说明怎样收集证据并定位原因。
假设你把站点从裸域迁移到 www,在 Search Console 里提交了 www 版首页,几天后日志显示 Googlebot 确实请求了 https://www.example.com/,返回 200,但用 site:www.example.com 查不到首页。这里有两个可能:一是抓取发生了但内容未被索引;二是索引了但查询方式没命中。要区分,先查“网址检查”里的“已编入索引/未编入索引”状态,再对比日志中的抓取时间与状态码。如果状态显示“已抓取,尚未编入索引”,说明抓取环节通过,卡在索引判断;如果状态显示“已编入索引”,那只是搜索查询没展示,属于展示层问题,不是索引缺失。
Googlebot 的 User-Agent,看目标 URL 的请求时间、状态码、响应大小。200 表示可抓取,301/302 表示跳转,403/503 表示被拒或暂时不可用。Disallow 挡住。注意 robots.txt 只限制抓取,不负责移除已索引页面。常见错误是把“日志里有请求”直接当成“已经收录”。抓取只是访问行为,索引是搜索引擎把内容存入可检索库的判断结果,两者中间还隔着内容质量、重复、规范选择等环节。
site: 限定 www 主机名,观察返回的是 www 版还是裸域版。但 site: 结果不精确,只能作为辅助。<link rel="canonical"> 是否指向自身,以及裸域到 www 的 301 是否稳定。规范指向别的 URL 时,www 版可能被抓取但不被索引。如果索引状态显示“已发现,尚未抓取”,问题在抓取排队;显示“已抓取,尚未编入索引”,问题在索引判断;显示“已编入索引”但搜不到,则优先检查查询词和展示条件,而不是继续改抓取配置。
noindex。如果第 1 步显示已编入索引,但第 2 步日志没有 www 请求,优先怀疑索引来自裸域或历史版本,需要检查跳转和规范是否把信号集中到了 www。如果第 1 步显示未编入索引且第 2 步有 200 请求,则抓取不是瓶颈,下一步应检查内容是否与裸域重复、规范是否冲突,以及站点地图是否只提交了 www 版。
下一步:选一个 www 页面,按上面的检查顺序记录抓取状态与索引状态,再根据两者组合决定是修抓取配置还是修索引信号。