先明确:sitemap 只负责告知,不负责收录
sitemap 的作用,是把站点希望被收录的 URL 集中列出来,方便搜索引擎更完整地发现它们。它不会让某个页面优先被抓取,也不保证页面进入索引。所以“提交了 sitemap 却没收录”其实混着两个问题:蜘蛛有没有来抓?抓了之后有没有进索引?把这两件事拆开,排查方向才会清楚。
第一步:核对提交本身是否生效
- 确认提交的是 sitemap 索引文件还是单个 sitemap,地址是否与 robots.txt 中声明的一致;
- 确认文件能正常访问,返回 200,内容类型是 XML,没有被 CDN 或防护规则拦截;
- 单个文件的 URL 数量控制在协议允许范围内,超出就拆分,再用索引文件串起来;
- 只放规范 URL:不要混入带参数页、筛选页、已 301 或已 404 的地址;
- lastmod 要真实反映内容变化,长期不动或天天变动都会降低参考价值。
这几项里任何一项出问题,平台拿到的都是一份失真清单,再用它看收录数据就没有意义。
第二步:用日志确认抓取有没有发生
- 在服务器日志里筛蜘蛛 UA,看 sitemap 中的 URL 是否有访问记录;
- 有记录但只集中在少数目录,说明抓取额度被更活跃的部分占用了,其他目录需要改善内链和更新频率;
- 完全没有记录,先查 robots.txt 是否屏蔽、页面是否只有 sitemap 没有站内入口、站点整体抓取量是否本来就低;
- 抓取频繁返回 5xx 或超时,蜘蛛会主动降低来访频率,这时该修的是服务器和响应速度,而不是反复提交。
抓取量正常但索引为空,说明问题不在有没有被发现,而在页面本身或站点信号。
第三步:抓到了却不进索引,看页面价值与信号冲突
- 正文过短、模板占比过高,页面之间几乎没有差异;
- 与站内其他页面高度相似,属于可以合并的版本;
- canonical、noindex、hreflang 等信号互相打架,蜘蛛无法确定要保留哪个;
- 页面属于工具页、结果页、空列表页,本身没有独立的检索需求。
这一类页面即便被反复提交,也大概率停留在已抓取未索引的状态,处理方式通常是合并内容或直接收敛,而不是继续加链接。
一个可执行的排查顺序
- 先在站长平台确认 sitemap 状态正常,没有读取错误;
- 抽 20 到 50 条 URL,和日志、抓取统计对照,判断有没有被抓;
- 被抓但未收录的,逐个看内容差异、信号冲突与页面类型;
- 没被抓的,回头看内链入口、robots 规则与服务器响应;
- 把无效地址从 sitemap 中删掉,只保留真正想被索引的规范 URL。
日常维护的几条经验
sitemap 应当跟着内容更新,而不是一次提交后长期不管。新页面发布后,先确认它至少有站内入口,再进入 sitemap;下线的页面要及时移除。规模较大的站点可以按栏目拆分,便于按目录观察哪些部分长期表现偏弱。如果站点同时存在多种 URL 变形,先统一规范写法,再考虑提交,否则只会把重复地址一起送进去。
最后提醒一句:sitemap 和各种提交工具都只是辅助发现的手段,收录结果最终还是取决于页面质量与站点整体表现,不必因为短期波动反复改动配置。