搜索抓取

搜索蜘蛛的URL发现:Sitemap已提交却未抓取的常见原因与排查顺序

Sitemap 提交后页面长期没有被抓取,未必是文件本身没生效。本文按“能否访问、能否解析、URL 是否一致、内链是否提供入口、服务器是否拖慢抓取”的顺序,梳理常见原因与排查方法,帮助站点把问题定位到具体环节,而不是反复重复提交。

搜索抓取

搜索蜘蛛的URL发现:Sitemap已提交却未抓取的常见原因与排查顺序

Sitemap 常被当成“提交了就会抓”的开关,但它实际提供的是一份候选 URL 清单:抓不抓,仍取决于站点可达性、内链权重和抓取预算。如果 Sitemap 里的页面长期没有出现在抓取日志中,按下面的顺序排查,通常比继续往文件里加页面更有效。

先确认蜘蛛是否真的读到了文件

  • 在服务器日志中按路径过滤 sitemap.xml 及分片文件,观察是否有搜索蜘蛛的请求记录,以及返回码是否为 200。
  • 检查 robots.txt 是否误屏蔽了 Sitemap 所在目录,或整体规则拦住了站点页面,导致文件能提交但内容被挡。
  • 确认文件没有启用登录、验证码、浏览器校验或按 UA 拦截等访问限制。
  • 站点存在多域名、多子域时,核对提交的地址与实际提供内容的地址是否一致。

再检查文件本身能否被正常解析

  • 单个文件的 URL 数量建议控制在 5 万条以内,未压缩体积不超过 50MB,超出应拆分并用 sitemap index 引用。
  • XML 需格式正确,标签闭合、无非法字符,编码声明与实际编码保持一致。
  • lastmod 使用规范的时间格式并带上时区,长期写死或频繁无意义地改动,都会削弱它的参考价值。
  • 启用 gzip 压缩时确认响应头设置正确,否则部分抓取端可能直接判定文件损坏。

URL 是否与站点当前状态一致

  • Sitemap 中只放返回 200 的规范 URL,避免混入会 301、302 跳转或返回 404、410 的地址。
  • 同一内容只保留一种形态,尾斜杠、大小写、参数顺序应与 canonical 及站内链接保持一致。
  • 已被 noindex 的页面不必再放进 Sitemap,两种信号会互相抵消。
  • 批量改版后,先确认重定向链只有一跳,再同步更新 Sitemap。

内链仍然是抓取分配的主要依据

即使 Sitemap 被正常读取,蜘蛛对页面的抓取优先级更多来自内链结构。可以从两个角度自查:

  1. 核心页面能否从首页或频道页在 2 到 3 次点击内到达,路径是否唯一且稳定。
  2. 重要页面是否只存在于 Sitemap 中,站内没有任何入口,这类页面被访问的频率通常偏低。

把 Sitemap 当作补充发现渠道,把内链当作主要发现路径,分工清晰之后,抓取覆盖更容易稳定下来。

服务器响应是否拖累了抓取节奏

  • 观察抓取高峰期的返回码分布,5xx 与超时过多会迫使抓取速率被动下降。
  • 避免短时间内返回大量 429,速率限制最好与站点实际承载能力匹配。
  • 首字节时间过长时,优先优化服务端处理与缓存策略,而不是反复重新提交 Sitemap。
排查顺序建议从“能不能访问”开始,再到“能不能解析”,最后才是“值不值得抓”。顺序颠倒,容易在错误的环节反复调整。

一份可执行的排查清单

  1. 日志中确认抓取记录与返回码
  2. robots.txt 与访问权限检查
  3. Sitemap 格式、体积、编码校验
  4. 抽样 URL 的状态码与 canonical 一致性
  5. 关键页面的内链入口与点击深度检查
  6. 服务器响应时间与错误率观察
  7. 调整后持续观察抓取日志,再做下一步判断