访问、抓取和索引是三个不同阶段:访问是用户或爬虫向服务器发出请求,抓取是搜索引擎爬虫下载页面内容,索引是搜索引擎把页面内容处理后存入可供检索的数据库。一个页面被访问、被抓取,都不等于已经被索引;反过来,索引中的页面也可能暂时没有被重新抓取。区分这三者,最可靠的方法是分别查看服务器日志、搜索引擎提供的抓取统计和索引状态,而不是只看“能不能打开”或“有没有提交站点地图”。
很多站点把“服务器返回 200”“日志里有爬虫记录”“站点地图已提交”当成收录完成的证据。实际上,返回 200 只说明访问成功,爬虫记录只说明抓取发生过,站点地图只是发现网址的线索之一。页面能否进入索引,还取决于内容质量、重复程度、 robots 规则、页面级索引指令、站点整体信任度以及搜索引擎自己的判断。不同搜索引擎的抓取和索引行为需要分别核查,不能用一家的结果推断另一家。
服务器日志记录的是请求行为。要判断抓取,可以按 User-Agent 筛选已知爬虫标识,再结合请求时间、请求 URL、返回状态码和响应大小观察。判断时注意以下几点:
如果日志里只有用户访问记录,没有对应爬虫记录,说明该 URL 至少没有被这个爬虫在统计时段内抓取。此时应先检查 robots.txt 是否允许抓取、页面是否被 noindex 或 canonical 指向别处、内部链接是否可达。robots.txt 的抓取限制只约束爬虫访问,不等于可靠的索引移除;如果页面已被索引,仅靠 robots.txt 通常不能让它从索引中消失。
主流搜索引擎通常会在站长平台提供抓取统计、网址检查或索引覆盖报告。使用这些报告时,要把“已抓取”“已发现—尚未抓取”“已抓取—尚未索引”“已索引”分开看。常见判断如下:
站点地图不保证收录。它帮助搜索引擎发现网址,但抓取和索引仍由搜索引擎决定。提交站点地图后,应结合日志和索引报告确认后续行为,而不是把提交动作当成结果。
对单个 URL,可以使用搜索引擎提供的网址检查工具查看“可索引性”和“已编入索引”状态,也可以在搜索结果中用 site: 加完整 URL 做粗略核对。注意 site: 结果并不精确,可能包含近似匹配或已失效页面,不能作为唯一依据。更稳妥的做法是:
<meta name="robots"> 没有误写 noindex。HTTPS 只说明传输层加密,不保证页面安全无漏洞,也不保证排名。把 HTTPS 当成索引或排名保证,是另一个常见误解。
如果日志有抓取、索引报告显示“已抓取—尚未索引”,可能原因包括内容质量不足、重复、页面被 canonical 合并,也可能只是搜索引擎尚未完成处理。不能断言唯一原因。正确做法是记录现象、列出可能原因,再逐项排除:先看可索引性,再看内容与重复,最后看站点整体抓取情况。若日志没有抓取记录,则先解决可访问性和发现路径问题,而不是反复提交网址。
下一步:选一个具体 URL,分别导出最近一段时间的服务器日志、查看该 URL 的抓取与索引状态,并核对页面上的 robots 与 canonical 设置,把三项结果并列记录,再决定是改内容、改链接还是改服务器响应。