搭蜘蛛池时,很多人把精力都花在入口页本身能不能被抓,却忽略了 sitemap 这条更直接的发现通道。入口页要不要写进 sitemap、以什么方式提交,其实取决于入口页的性质和更新节奏,并不是“全都塞进去”就万事大吉。
先判断入口页算不算“值得收录的页面”
sitemap 的语义是“站点希望搜索引擎收录的 URL 清单”。如果入口页只是链接中转,内容单薄、没有独立价值,整批塞进 sitemap 并不合适。搜索引擎对 sitemap 里的低质页面容忍度有限,空壳 URL 太多会拉低整份文件的可信度。更稳妥的做法是:只把有实际内容、会长期维护的入口页写进去,其余靠站内链接自然发现。
这几种情况适合放进 sitemap
- 入口页数量可控,每页有独立标题和一段可读内容;
- 入口页会定期调整链接,希望搜索引擎按节奏回访;
- 入口页与主站不在同一目录,靠内链很难被爬到;
- 你确实需要借助 lastmod 传递“这页变过”的信号。
sitemap 与手动 URL 提交的分工
sitemap 适合批量、长期的告知,一次声明后搜索引擎会按自己的节奏回看;单条 URL 提交更适合新页面首轮触发,或者少量入口页需要尽快进入发现队列时使用。两者不冲突,但没必要对同一批 URL 反复手动提交,频率过高并不会加快抓取,反而容易被视为噪声。
lastmod 要如实写,别每次都刷成当前时间
lastmod 是 sitemap 里少数会被认真对待的字段。如果每次生成 sitemap 都无脑刷新成当天时间,重复几次之后这个字段基本失去参考价值,搜索引擎会转而忽略它。建议只在入口页内容真正变化时更新,并尽量使用带时区的完整时间戳。
changefreq 和 priority 不用太纠结
这两个字段的权重很低,多数情况下搜索引擎自行判断抓取节奏,填得过细反而容易自相矛盾。用统一值或者直接省略,都不会有明显影响。
几个容易踩的坑
- sitemap 里混入大量 404、跳转或已下线的入口页,长期不清理;
- 单份文件超出条目或体积上限却没有拆分,导致整份解析失败;
- 用了 gzip 压缩但响应头类型写错,解析器读不出来;
- robots.txt 里没有声明 Sitemap 地址,只能等搜索引擎偶然发现。
sitemap 只是告知,不保证抓取,更不保证收录。它的价值在于降低发现成本,而不是替代页面本身的质量和内链结构。
一个可执行的上线顺序
- 确认入口页可正常访问、返回 200,且不是软 404;
- 生成 sitemap 并校验格式,用浏览器直接打开确认可读;
- 在 robots.txt 中声明 Sitemap 地址;
- 到搜索资源平台提交,并记录提交时间;
- 观察服务器日志里 sitemap 文件的抓取记录,以及入口页抓取数量的变化趋势。
观察一到两周后,如果 sitemap 本身被正常抓取,而入口页仍没有动静,问题通常就不在提交环节,而要去检查入口页的可访问性、内链结构和内容质量了。