入口页做得再整齐,蜘蛛不知道这些 URL 存在,也等于没做。sitemap 和主动提交解决的就是这一步——把清单递到蜘蛛面前。但要先说清楚:它们是“通知”,不是“录取”。提交之后蜘蛛来不来、来几次,仍然取决于站点整体质量和抓取预算。
sitemap 在蜘蛛池里到底起什么作用
蜘蛛发现 URL 主要有四条路:外链、站内链接、sitemap、以及站长平台的提交接口。蜘蛛池的入口页往往数量大、层级深,靠首页和内链一层层爬下去,覆盖率会很低。sitemap 的价值就在于跳过“爬行路径”,直接给出一份待抓清单。
它适合这样的场景:
- 入口页数量在几百以上,内链不可能全部覆盖;
- URL 层级较深,或者入口页之间彼此不互链;
- 新池子上线,蜘蛛还没建立对该域名的抓取习惯。
反过来,如果入口页只有几十个、首页链接就能全部点到,sitemap 的边际作用很小,不必花太多精力。
sitemap 文件本身要过关
格式与体积
- 用 UTF-8 编码,每行一个完整 URL,包含协议和域名;
- 单文件 URL 数量控制在 5 万条以内,未压缩体积不超过 50MB;
- 超过就拆成多个文件,再用一个 sitemap index 索引文件串起来;
- 只写返回 200 的规范 URL,301、302、404、403 的地址不要放进去。
和 robots.txt 保持一致
sitemap 地址要写在 robots.txt 里,同时确认 robots.txt 没有把 sitemap 或入口页目录屏蔽掉——一边放行一边屏蔽,是很容易犯的低级错误。
主动提交的几个渠道
- 站长平台提交 sitemap:最基础的一步,一次配置长期有效,适合批量入口页。
- API 推送:有配额限制,适合新上线、需要尽快被看到的少量重点 URL,不适合每天全量刷。
- ping 通知:sitemap 更新后通知一次即可,频繁 ping 没有额外收益。
- RSS / Atom:更新频繁的列表页可以顺带输出,作为补充渠道。
几个常见的误区
- 把提交当成收录开关。提交只影响“蜘蛛是否知道”,不改变页面质量判断,更不承诺抓取和收录。
- sitemap 里塞进所有历史 URL。池子调整后失效的地址应当移除,长期堆着会让有效部分被稀释。
- 每天重复推送同一批 URL。配额被浪费,还容易触发频次限制。
- 用 sitemap 完全替代内链。蜘蛛仍然需要通过链接判断页面在站内的位置和重要程度,只有清单没有链接的站点,抓取深度通常很差。
- sitemap 与页面实际内容不一致。文件里写 A,页面上只有 B,蜘蛛来过几次之后对该文件的信任会下降。
一个可以照着做的上线顺序
- 先确认入口页本身可访问、返回 200、内容和标题对得上;
- 生成 sitemap,按目录或板块分片,检查编码和 URL 完整性;
- 把 sitemap 地址写入 robots.txt,并在站长平台提交;
- 等三到七天,看日志里这些 URL 有没有被抓、抓了多少;
- 对始终没被访问的 URL,检查是否被 robots 屏蔽、是否孤岛页、是否需要补一条内链;
- 新增入口页时增量更新 sitemap,而不是每次全量重建推送。
把 sitemap 和提交当成“降低蜘蛛发现成本”的工具,而不是“提高收录率”的手段,预期会稳很多。