很多人在后台提交了 sitemap,也看到状态是“成功”,过几天去查收录却发现页面还是没进索引。于是开始怀疑 sitemap 没用,或者觉得是不是文件格式写错了。实际情况通常更朴素:sitemap 只解决“告知”这一步,它管不了后面的事。
sitemap 的本职工作:帮 URL 被发现
搜索引擎发现 URL 的途径主要有几条:站内链接、外部链接、历史抓取记录,以及 sitemap。对结构清楚、内链完整的小站来说,sitemap 的边际价值不大,蜘蛛顺着链接就能爬到。但对下面几类情况它确实有用:
- 新站或新目录,页面还没有任何内链指向;
- URL 数量多,靠链接一层层爬效率太低;
- 页面层级深,或者需要点击、提交才能到达;
- 包含大量非 HTML 资源,需要单独说明。
注意这里的关键词是发现。sitemap 让蜘蛛知道“有这么个地址”,但它不保证蜘蛛会来抓,更不保证抓完之后会收录。
它不能替你做的事
- 不能提升页面质量。内容单薄、和已有页面高度相似,收录决策不会因为它在 sitemap 里就改变。
- 不能保证抓取。抓不抓取决于站点的抓取配额和优先级,sitemap 只是一份候选清单。
- 不能改变规范判断。如果一组页面被判定为重复,sitemap 里全列上也没用,索引里通常只会留下一条。
- 不能绕过 noindex 或 robots 限制。这两者的优先级高于 sitemap。
- 不能加速索引更新。它影响的是发现速度,不是索引的评估节奏。
换句话说,sitemap 是“提名”,不是“保送”。
提交了却没收录,按这个顺序查
- 确认 URL 可被抓取:返回 200,没有被 robots.txt 挡住,没有 noindex。
- 看服务器日志里蜘蛛到底来过没有。如果压根没来,问题出在发现或配额;如果来了很多次却没收录,问题多半在页面本身。
- 对比同类已收录页面,看内容是否过于接近、正文是否有可索引的实质内容。
- 检查 sitemap 里的 URL 是否和实际可访问地址完全一致,包括 http/https、带不带 www、结尾斜杠、大小写。
- 确认 sitemap 文件本身能正常访问,且 lastmod 反映的是真实修改时间。
把 sitemap 当成一份推荐清单,而不是收录开关,心态会顺很多。
几个常被忽略的细节
lastmod 别乱写
每次生成都刷新全部 lastmod,会让这个字段失去参考价值,时间久了蜘蛛也就不再当真。只在内容确实变化时才更新。
数量与分片
单个文件有 URL 数量上限,超出要拆成索引文件。数量过于夸张的 sitemap,反而会稀释对重要页面的注意力。
只放值得收录的地址
把筛选参数页、翻到第 20 页的分页、登录后才可见的地址都塞进去,等于在噪声里埋掉真正重要的 URL。
最后一点:收录是结果,不是动作。优化 sitemap 能改善的只是“被发现”这一环,能不能进索引,最终还是要回到页面本身有没有值得被索引的价值。