很多人把 Sitemap 当成 URL 发现的唯一入口,实际上它更像一张备查清单:它告诉搜索引擎这里有哪些地址,但什么时候来读、读了之后什么时候抓,仍然由对方决定。想让新页面更快被发现,通常需要几条通道并行使用。
先分清发现和抓取
URL 发现解决的是蜘蛛知不知道这个地址存在,抓取解决的是它愿不愿意花一次请求把页面拿回来。主动推送类工具只能影响前者。把新 URL 提交进 IndexNow,不代表页面会被抓,更不代表会被收录,它只是让对方的待处理列表里多了这条记录。
IndexNow:一次提交,多家引擎共用
IndexNow 是一套简单的 HTTP 接口。站点生成一个密钥文件放在根目录,提交 URL 时带上密钥,接收入口即可验证归属。它的特点是提交一次、多家共享,目前参与的主要是 Bing、Yandex、Seznam、Naver 等,Google 并未加入。
适用场景因此很明确:如果流量结构里有相当比例来自这些引擎,或者站点更新频率高、希望缩短发现延迟,接入成本很低,值得一试。如果流量几乎全部来自 Google,指望它解决问题就不现实。
使用时注意两点:一是提交要克制,只推新增或实质性更新的 URL,重复推、批量推历史页面意义不大;二是密钥文件要能稳定访问,文件丢失或被 CDN 拦截,提交会直接失败。
RSS 与 Atom:被长期忽视的通道
RSS 的原始用途是给阅读器订阅,但它同时是一份结构清晰的最新内容列表。蜘蛛抓取 Feed 的频率往往高于抓取普通列表页,因为 Feed 体积小、结构固定、更新信号明确。
它也有三个天然限制,需要接受:
- 通常只保留最近 10 到 50 条,历史内容滚出去之后就丧失了这条通道;
- 只覆盖新内容,对改版和更新旧页面几乎没有作用;
- Feed 里的链接同样要能被正常抓取,如果 URL 带一堆参数或经过多级跳转,价值会打折。
对博客、新闻、商品上新这类持续产出的站点,把 Feed 输出做完整(标题、链接、时间齐全),并确认它在 robots.txt 中没有被误封,是比较划算的一步。
平台接口:先看适用条件
各家搜索平台一般都有面向开发者的提交接口,但适用范围差别很大。有的接口只针对特定类型的内容,例如招聘信息或直播类结构化数据,普通文章提交上去会被忽略;有的接口本质上是 Sitemap 提交的编程版本,作用仍然是告知存在。
更实用的做法是把推送挂到 CMS 的发布钩子上:内容通过审核上线的瞬间,同时触发 Sitemap 更新和推送请求。这样至少保证发现环节不依赖人工,不会出现内容上线两天才想起来提交的情况。
三条通道之外,别丢掉地基
无论用多少种推送方式,最终决定抓取效率的还是内链与 Sitemap:
- 内链决定蜘蛛顺着页面能走多远,新页面至少要有一两个稳定的入口链接;
- Sitemap负责兜底,尤其是那些很难从导航走到的页面;
- 服务器稳定性是前提,推送来的请求如果经常撞上超时或 5xx,蜘蛛会降低来访频率,推送反而变成负作用。
一个可执行的组合
- 新内容发布时,由 CMS 自动更新对应的 Sitemap 分段文件;
- 同步通过 IndexNow 提交给支持的引擎;
- Feed 输出保持干净,只放规范的绝对 URL;
- 发布后查服务器日志,确认这些 URL 有没有被请求、返回什么状态码;
- 如果一两周内完全没有访问记录,先排查服务器与 robots.txt,而不是继续加大推送频率。
推送工具解决的是有没有人知道,抓取和收录仍然取决于站点本身的可抓取性、内容质量和服务器表现。把推送当成加速器,而不是收录的保证。