站点地图(sitemap)是很多站点做收录时最先想到的工具,但它的作用常被高估。它本质上是一份给搜索引擎的 URL 清单,能帮助发现链接,却不能替代内链、内容质量和服务器稳定性。把它用对,能省下不少重复沟通;用错,反而可能给抓取添乱。
sitemap 解决的是“发现”,不是“收录”
搜索引擎处理一个 URL 的流程大致是:发现 → 抓取 → 判断 → 入索引。sitemap 主要作用在第一步,它告诉爬虫“这里还有这些地址”,但爬虫是否来、来了之后是否索引,取决于 robots 规则、页面可访问性、内容是否值得保留等因素。所以看到“提交了几千条,只收录了几百条”,先别急着怀疑 sitemap 没生效,要往后面几步找原因。
该放进去的 URL
- 返回 200 状态、内容可正常访问的正式页面;
- 希望被索引的详情页、分类页、文章页;
- canonical 指向自身的规范地址;
- 主体内容不依赖复杂交互、服务端能直接输出的地址。
不该放进去的 URL
- 设置了 noindex 的页面,两边信号互相矛盾;
- robots.txt 已经屏蔽抓取的路径;
- 带跟踪参数、会话 ID 之类临时生成的地址;
- 返回 404、410、5xx 的地址;
- 跳转链中间节点,只保留最终落点即可;
- 站内搜索结果页、筛选组合页等近乎无限的地址。
提交之后没动静,按这个顺序查
- 先看抓取日志:爬虫到底有没有请求过这些 URL。没来,问题在发现和抓取;来了却不收录,问题多半在页面本身。
- 确认 robots 与 noindex 状态:测试环境残留的屏蔽规则、模板里写死的 meta noindex,都很常见。
- 检查状态码与响应时间:超时、502、返回内容为空,都会让爬虫放弃这个 URL。
- 看页面能否独立访问:需要登录、需要点击才加载正文、正文靠 JS 后置渲染,都可能让爬虫拿不到有效内容。
- 比较内容重复度:同一批页面模板相同、正文稀少,搜索引擎可能只挑其中一部分入索引。
- 补内链:只出现在 sitemap 里、站内没有任何链接指向的页面,发现效率通常明显偏低。
分文件与更新频率的几个注意点
单个 sitemap 文件有条数与体积上限,超出后需要拆分成索引文件。拆分时建议按站点结构或栏目来划分,而不是随手按批次切,方便后续定位问题。lastmod 要写真实的修改时间,长期乱填会让这个字段失去参考价值。已经删除的 URL 从 sitemap 里移除即可,不需要一直留着“提醒”爬虫。
sitemap 是给爬虫的路线图,不是收录申请书。它能让新页面更快被发现,但页面能不能留在索引里,最终由内容和可访问性决定。
一个容易被忽略的环节
sitemap 提交后,后台显示的“已提交”通常只代表文件被成功读取,不代表其中每个 URL 都被抓到。真正能反映进展的是抓取日志、索引状态报告和搜索表现数据。把这些对照着看,比反复重新提交同一份文件有效得多。如果发现某类 URL 长期零抓取,优先补内链、检查状态码和渲染方式,而不是继续扩大 sitemap 的规模。