搜索抓取

Sitemap 提交之后没有抓取:从入口页到服务器日志的排查顺序

提交 Sitemap 不等于蜘蛛会来抓。本文按顺序梳理排查路径:Sitemap 是否可读、目标 URL 在站内是否有可达链接、服务器返回是否稳定、日志里能否看到真实请求,并给出一份可执行的检查清单,帮助定位抓取没有发生的那个环节。

搜索抓取

Sitemap 提交之后没有抓取:从入口页到服务器日志的排查顺序

Sitemap 提交成功,只是把一批 URL 放进了候选清单,不等于蜘蛛会立刻来抓。抓取是否发生,取决于这份清单能不能被读到、清单里的地址能不能从入口页走过去、以及服务器在被访问时给出的回应是否稳定。按下面的顺序排查,通常比反复重新提交更有效。

第一步:确认 Sitemap 本身可读

  • 直接访问 Sitemap 地址,确认返回 200,而不是跳转到首页、登录页或 404。
  • robots.txt 里没有把 Sitemap 路径连同抓取工具一起屏蔽掉,Sitemap 自己也要允许被访问。
  • XML 格式正确、编码统一,里面写的是规范后的最终 URL,而不是带一堆追踪参数的重复地址。
  • 分片文件与索引文件的对应关系正确,lastmod 与页面真实更新时间大致一致,不要整站填同一个时间。

第二步:URL 在站内是否有可达路径

Sitemap 是补充,蜘蛛的常规路径仍然是链接。一个只在 Sitemap 里出现、站内任何页面都链不到的地址,被发现和回访的概率都要低得多。

  • 目标 URL 最好在首页或栏目页一到两次点击内可达。
  • 列表页分页不要断链,翻页链接要真实存在于 HTML 中。
  • 新栏目上线时,先从已有访问量的页面挂一个入口进去。
  • 如果是靠前端渲染出现的链接,确认渲染完成后 DOM 里确实有可跟随的 href。

第三步:服务器给出的回应是否稳定

蜘蛛来抓的时候看到什么,由服务器决定。常见的拦路情况包括:

  • 5xx、超时、连接重置,会让这次抓取中断并被推后。
  • 返回 200 但正文空白、只有模板占位,容易被判为低价值页面。
  • CDN 或 WAF 的限流、UA 封禁,可能让请求根本到不了源站。
  • 响应时间波动过大,尤其在高并发时段,抓取成功率会明显下降。

第四步:确认请求真的到达

这一步最容易被跳过。用服务器日志或 CDN 日志确认三件事:蜘蛛是否访问过 Sitemap、是否访问过目标 URL、返回的状态码和响应时间是多少。如果日志里完全没有记录,问题多半在上游,比如 DNS、防火墙或 WAF 规则;如果记录很多但都是 5xx、403,问题就在服务器策略和承载能力上。

一份可执行的排查顺序

  1. 看日志:抓取工具有没有访问过 Sitemap,频率是否正常。
  2. 抽样 Sitemap 里的 URL,逐个检查状态码、重定向和 canonical。
  3. 检查 robots.txt 与页面级 meta robots 是否冲突。
  4. 从首页开始点击,确认目标 URL 能在少数几步内走到。
  5. 统计服务器错误率与响应时间,重点看高峰时段的 5xx。
  6. 用搜索后台的网址检查工具触发一次实时抓取,观察实际返回的内容。
别把“Sitemap 已提交”当成结果。它只是一份候选清单,抓取能否发生,取决于入口是否通畅、服务器是否稳定、抓取预算是否被浪费这三件事是否同时成立。

常见的误判

看到收录没变化就反复改 Sitemap,或者往里塞大量无关地址想“催”蜘蛛,往往适得其反:这会稀释有限��抓取预算,让真正需要抓的页面排在后面。保持入口通畅、减少 5xx、让清单里的 URL 都能稳定返回,比一次性提交几万条地址更有用。