Sitemap 常被当成收录的快捷通道,实际上它更像一份给搜索引擎的线索清单:告诉对方这些 URL 存在、大致什么时候更新过。至于会不会抓、抓了会不会进索引,仍然取决于站点的抓取条件和页面本身的质量。所以当 sitemap 提交后收录没有变化,比较有效的做法不是反复重新提交,而是顺着“读取—URL 合格性—发现—抓取—索引”逐段看。
一、先确认 sitemap 本身有没有被正常读取
- 地址能不能正常访问:直接打开 sitemap 地址,确认返回 200,而不是 404、301 或需要登录才能看到的页面。
- robots.txt 里的声明:在 robots.txt 中用 Sitemap 一行给出完整地址,方便被发现;同时确认 sitemap 文件本身没有被自己的规则挡住。
- 格式与编码:XML 语法完整、标签闭合正确、编码统一为 UTF-8,避免解析中断。
- 后台的读取状态:看最后读取时间和已读取的 URL 数量,比只看“已提交”三个字有用得多。
二、sitemap 里的 URL 是否值得被收录
sitemap 不是 URL 收容所。放进去的地址如果本身有问题,反而会稀释这份清单的参考价值。
- 只放返回 200 的规范地址,重定向链上的 URL、404 页面不要放。
- 已经设置 noindex,或 canonical 指向其他页面的 URL 不要放进来,两边信号会互相矛盾。
- 参数页、筛选页、分页这类页面要么按收敛策略处理,要么有选择地放,而不是整站全量导出。
- lastmod 尽量真实。全站每次生成都刷成当天,这个字段就失去了参考意义。
- 单个文件不要超过 5 万条、50MB 的上限,超出就拆分并用索引文件组织。
三、URL 有没有真正被发现
sitemap 只是发现路径之一,内链才是主路径。一个页面只出现在 sitemap 里、站内没有任何链接指向它,被发现和被重视的程度通常都有限。
- 检查页面能否从首页顺着链接点进去,层级不要太深。
- 列表页、相关推荐、面包屑这些位置有没有指向目标页面的链接。
- 链接是普通 a 标签,还是需要执行脚本才会出现的元素;后者会降低发现效率。
四、发现了但抓取没跟上
如果日志里能看到蜘蛛来过,但抓取频率很低,问题通常不在 sitemap,而在抓取条件:服务器响应时间过长、大量 URL 返回 5xx、页面体积过大、robots 规则挡住大半个站点,都会让抓取预算花不到重要页面上。先解决这些基础问题,再谈提交频率才有意义。
五、抓了却没进索引
这一步和 sitemap 基本无关,属于页面质量与重复度问题:内容单薄、模板化严重、与站内其他页面高度相似、缺少明确的主题价值。这时候继续优化 sitemap 收益很小,应该回到页面本身做调整。
一份可以按顺序执行的检查清单
- 打开 sitemap 地址,确认返回 200 且格式正确。
- 在 robots.txt 中声明 sitemap,确认没有被自身规则屏蔽。
- 核对 sitemap 中是否存在 404、重定向、noindex、canonical 冲突的 URL。
- 抽样几条 URL,确认站内有正常内链指向。
- 查看服务器日志,确认蜘蛛是否访问、访问频率如何。
- 对已抓取未收录的页面,回到内容质量与重复度做判断。
把 sitemap 理解成线索清单而不是收录开关,排查时就不容易在“重新提交”这个动作上反复打转。
日常维护上,保持 sitemap 与站点现状一致、URL 干净、更新节奏稳定,通常比频繁重提交更实际。提交只是起点,真正决定收录的,还是这些 URL 能不能被顺利发现、抓取并被判断为有价值的页面。