很多站长把 sitemap 当成一个提交按钮:上传 XML、在后台提交、然后等收录。等上一两周发现索引量没有变化,就判断 sitemap 没用;另一种反应是反复提交、不断加大频率。这两种做法都偏离了 sitemap 实际能做的事情。把它放回抓取与索引的链路里看,会清楚很多。
sitemap 是一份 URL 清单,不是收录开关
网站地图提供的主要是两类信号:这里有哪些 URL,以及大致什么时候更新过。它帮助搜索引擎发现链接,降低对复杂内链结构的依赖,但它不决定某个 URL 是否值得进入索引。能不能被收录,仍然取决于页面本身:是否可以正常访问、内容是否独立完整、是否与站内其他页面高度重复。
换句话说,sitemap 解决的是发现问题,解决不了质量问题。一个内容单薄或者参数混乱的页面,写进 sitemap 只是让它更快被看到,然后更快被判定为不需要索引。
从提交到进入索引,中间要经过哪几步
- 搜索引擎读取 sitemap,拿到 URL 列表。
- 新 URL 进入待抓取队列,等待抓取配额调度。
- 爬虫实际访问页面,拿到 HTML 与状态码。
- 页面进入索引评估:内容、重复度、站点整体质量等因素共同决定是否保留。
sitemap 只明显作用于第一步。后面三步取决于你给出的 URL 质量、服务器响应速度以及站点整体的可信任程度。所以提交之后没有动静,未必是 sitemap 失效,也可能是卡在后面某一步。
几种常见的误判
- 只看提交数量,不看读取情况。 如果网站地图长期显示未被读取,或读取量远小于文件里的 URL 数量,先检查格式、文件大小、是否返回 200、是否被 robots.txt 误屏蔽。
- 把 sitemap 当成加速工具。 新站或者权重一般的站点抓取额度有限,清单里 URL 再多,也只能按配额慢慢消化。
- 收录没涨就反复提交。 重复提交不会增加配额,反而容易让人忽略真正的问题,比如内链孤岛、模板化内容过多。
- 清单里塞了不该出现的地址。 带参数的分页、筛选页、登录后才可访问的 URL,写进去会稀释配额,拖慢重要页面的抓取。
让 sitemap 更接近有用的做法
- 只放希望被索引、且能返回 200 的规范 URL,canonical 指向的版本与清单里的版本保持一致。
- 按内容类型或栏目拆分成多个文件,便于观察哪一部分被读取、被抓取,出问题时也容易定位。
- lastmod 要真实。 所有页面都写当前时间,时间久了会被忽略,等于主动放弃了唯一的更新信号。
- 与站内链接、导航入口配合使用。内链是主要的发现路径,sitemap 是补充,而不是替代。
建议的排查顺序
- 确认文件能被正常访问、格式无误,并被搜索引擎成功读取。
- 对比服务器日志里爬虫对清单中 URL 的实际访问情况。
- 抽查未被收录的 URL,看状态码、内容完整度、是否存在重复版本。
- 检查这些 URL 在内链中是否有入口,点击深度是多少。
sitemap 的价值在于把 URL 说清楚,而不是替页面争取收录资格。提交之后没有变化,通常说明要解决的问题在页面本身和链接结构上。
把网站地图当成一份需要维护的清单:保持 URL 规范、更新信号真实、内容确实值得索引。剩下的部分,交给抓取和评估流程逐步推进,比反复提交更有效。