遇到页面不收录,很多人第一反应是去搜索资源平台看索引状态,却忽略了手上本来就有一份原始数据:服务器日志。日志记录的是“谁在什么时候抓了哪个 URL、结果如何”,它不能直接告诉你收录与否,但能说明抓取这一环有没有出问题。
日志能回答什么,不能回答什么
能回答的是:蜘蛛来过没有、来过几次、抓了哪些 URL、返回什么状态码、抓取深度大概到第几层、是否集中在某几个目录。不能回答的是:页面有没有进索引、排名如何、搜索展现如何。
收录是搜索引擎内部的判断,日志里看不到。所以正确的用法是:先用日志确认抓取是否正常,如果抓取正常却始终不收录,再把注意力放回内容质量、页面结构这些地方。
先确认访问者是不是真的蜘蛛
- User-Agent 可以伪造,只凭 UA 判断容易被采集器误导。
- 可以对百度、Google 等官方公布的 IP 段做反向解析校验,确认来源是否真实。
- 把确认过的蜘蛛单独归类统计,不要和普通爬虫、监控脚本混在一起。
值得重点看的几个字段
- 状态码分布:200 的占比是多少,404 与 5xx 有没有集中出现。大量 5xx 可能让蜘蛛主动降低抓取频率。
- 被抓 URL 的分布:是否只集中在首页和几个栏目,新发布的页面几乎没被抓过。
- 抓取频次的时间曲线:频次骤降往往和服务器不稳定、页面质量下滑有关。
- 响应时间与返回大小:长期超时,或返回内容极小,都会影响蜘蛛对站点的判断。
几种常见现象与对应方向
- 蜘蛛从没出现过:先检查 robots.txt 是否全站屏蔽,以及站点有没有任何外部入口。
- 只抓首页不抓内页:多数是内链结构问题,深层页面缺少可抓取的路径。
- 抓了内页但状态码异常:优先修掉 404、5xx 和过长的重定向链。
- 抓取频繁但新内容迟迟不被抓:可能是更新幅度小,或者入口位置太深。
- 抓取一切正常,索引状态长期不动:问题多半不在抓取,回到内容与页面本身。
日志只能证明“被抓过”,不能证明“被收录”。把这两件事分开看,排查方向才不会跑偏。
一个可操作的排查顺序
- 导出最近 7 到 30 天的日志,过滤出官方蜘蛛的访问记录。
- 按状态码统计,先确认有没有大面积的 4xx、5xx。
- 按 URL 归类,看新页面有没有被抓,抓取深度到了第几层。
- 对比抓取频次的变化,判断是否出现异常波动。
- 把抓取正常的 URL 单独列出,逐个核对索引状态,区分“没抓”和“抓了没收录”。
日常维护上,保持服务器稳定、减少无意义参数页被反复抓取、让新页面在站内链接和站点地图里都有明确入口,通常比反复手动提交 URL 更有用。日志的价值在于,它把“蜘蛛到底做了什么”变成可核对的数据,而不是靠猜。