很多人把 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,而不是繼續加大推送频率。
推送工具解决的是有没有人知道,抓取和收錄仍然取决于站点本身的可抓取性、内容质量和服務器表現。把推送当成加速器,而不是收錄的保證。