蜘蛛池做的事情,本质上是把一批 URL 送到蜘蛛面前。入口页互链属于被动发现,蜘蛛要顺着链接一层层爬过来;而 sitemap 与各类主动推送接口,是把“我这里有新 URL”这件事直接说出去。两者不是替代关系,配合使用才能让发现环节更稳。
一、被动发现与主动告知的分工
三种通道各有边界,混着用容易出问题:
- 内部互链:最基础,也是蜘蛛判断页面重要性的参考之一。缺点是链路长、传递慢。
- sitemap:批量、结构化地列出 URL,适合数量多、层级深的站点结构。它不保证被抓,只是提供一份清单。
- 推送接口:把单个或少量 URL 主动提交,时效性最好,但通常有每日配额。
二、sitemap 的写法要点
结构与分片
- 单个 sitemap 文件建议不超过 5 万条 URL,未压缩体积不超过 50MB,超出就分片并生成 sitemap index。
- 只放规范 URL,不要放会 301 跳转的地址、被 robots.txt 屏蔽的路径或 noindex 页面。
- URL 中的 & 等字符要按 XML 规则转义,否则解析会出错。
- 分片按目录或业务切,后面排查问题时好定位。
lastmod 怎么填
lastmod 只在页面内容真正变化时更新。不少程序在每次生成 sitemap 时把 lastmod 统一刷成当前时间,短期看像“很活跃”,长期会让这个字段失去参考价值,蜘蛛也会逐渐不再依赖它。
声明位置
把 sitemap 放在域名根目录,并在 robots.txt 里用 Sitemap 指令声明绝对地址。多域名的情况下,每个域名各自一份,不要互相混用。
三、主动推送的几个通道
- IndexNow:Bing 等引擎支持,提交一次多引擎共享,接口简单,适合自动化。
- 搜索资源平台接口:百度等平台的普通收录与快速收录接口,通常按天计算配额。
- RSS / Atom:适合更新频繁的列表型页面,蜘蛛会定期拉取。
- 入口页自身的更新:把新 URL 放在入口页的可见位置,仍然是有效的补充。
每个通道的配额都有限,优先推给真正希望被发现的页面,不要拿来刷无意义的参数页。
四、和入口页怎么配合
- 入口页新增链接后,同步更新 sitemap,让两边保持同一批 URL。
- 如果希望入口页本身被重新抓取,也可以把它放进 sitemap,但别把每个入口页都标成高频更新。
- 推送前先做一次去重和存活检查,避免把 404、跳转链推上去。
- 推送记录和访问日志对照看,才能知道哪些 URL 真的被来过。
五、常见误区
- 把 sitemap 当成收录保证,认为提交了就会进索引。
- sitemap 长期不更新,里面混着大量已失效链接。
- 同一批 URL 每天重复推送,占用配额却没有任何变化。
- sitemap 里全是入口页,真正需要内容支撑的目标页反而一条没有。
主动告知只能缩短“被发现”的时间,是否抓取、何时抓取、抓多少,仍然由搜索引擎按自己的策略决定。
六、几条落地建议
- 先确认入口页和 sitemap 都能正常访问,再谈推送。
- 推送分批进行,观察一轮日志后再调整频率。
- 定期清理 sitemap 中的死链和跳转链,保持清单干净。
- 把 sitemap、推送、互链当成三条并行的线,而不是只依赖其中一条。