区分访问抓取与索引结果,关键看两件事:服务器有没有收到抓取请求,以及搜索结果里能不能找到页面。前者属于抓取层,后者属于索引层。抓取成功不等于已收录,索引出现也不一定代表刚抓取过。人手有限时,先查抓取日志,再查搜索结果,能避免把时间花在错误环节。
抓取是搜索引擎请求页面的动作。判断抓取是否发生,最直接的依据是服务器访问日志或CDN日志。查找来自搜索引擎爬虫的请求记录,重点看请求时间、请求URL、返回状态码和爬虫标识。
如果日志里完全没有目标爬虫记录,先检查robots.txt是否屏蔽了该路径,再检查服务器是否按爬虫标识做了拦截。需要提醒的是,robots.txt的抓取限制不等于可靠的索引移除。它只约束抓取行为,页面仍可能因为外部链接等原因出现在索引中。要阻止索引,应使用页面级noindex,并确认该页面没有被robots.txt挡住抓取,否则noindex可能读不到。
索引是搜索引擎把页面内容存入可检索数据库的结果。判断索引状态,最直接的方法是在目标搜索引擎中用site:查询具体URL,或搜索页面标题、正文中的独特短句。如果查询结果中出现该URL,说明它至少进入了索引;如果没有出现,可能是尚未收录、已被移除,或查询方式不准确。
搜索时要注意两点。第一,site:结果只是参考,不同搜索引擎、不同地区、不同查询词都可能影响展示。第二,搜索结果中显示的是缓存或摘要,不代表当前页面内容实时一致。判断时应以能否检索到该URL为准,而不是以摘要文字是否最新为准。
抓取成功、索引缺失,是常见组合。可能原因包括:页面内容质量低、与已有页面高度重复、被noindex标记、被规范标签指向其他URL、内链过少、站点整体信任度不足,或页面刚发布尚未被处理。这些原因可能同时存在,不能只凭一个现象断定唯一原因。
处理顺序建议如下:
<meta name="robots" content="noindex">,有则移除或调整。robots.txt是否阻止了抓取。若阻止,先放开抓取,再让noindex生效。如果页面是新建的,先等待一段时间再复查。不同搜索引擎处理速度不同,没有固定见效时间。HTTPS不保证安全无漏洞或排名,它只是传输层加密,与索引没有直接因果关系。
复查要针对同一URL、同一搜索引擎、同一查询方式,记录变化。可以按下面清单执行:
site:查询是否出现该URL。robots.txt是否仍阻止抓取。如果日志有抓取、搜索结果无URL,优先处理索引层问题;如果日志无抓取、搜索结果也无URL,优先处理抓取层问题。时间有限时,先修状态码错误和noindex误用,这两类问题影响直接、判断明确。
下一步:选一个目标URL,先导出最近七天的服务器日志,筛出爬虫请求,再用site:查询同一URL,把抓取结果和索引结果并列记录,按上面的清单逐项核对。