搜尋抓取

主動推送與订阅通道:URL 發現不只靠蜘蛛爬行

蜘蛛顺着連結和 Sitemap 發現 URL 是被動路径,IndexNow、WebSub、RSS 等主動通道可以在内容變化时直接發出信号。本文讲清這些通道各自适合什么场景、如何與站点地图及内鏈配合,以及使用时容易忽略的细节。

搜尋抓取

主動推送與订阅通道:URL 發現不只靠蜘蛛爬行

大多數站点的 URL 發現流程是被動的:蜘蛛沿着内鏈走,讀 Sitemap,或者被外部連結带進来。被動路径的好處是稳定、不需要額外维護,缺点是時間不完全可控。主動推送通道的價值在于,内容發生變化时由站点主動發出信号,减少等蜘蛛路過的不确定性。

主動通道能解决什么,不能解决什么

主動推送只影响發現這一环。它告诉外部系統這里有一個新地址或更新地址,但不等于被抓取,更不等于被收錄。抓取與否仍取决于服務器响應、内容质量、站点整体狀態等因素。把主動通道当成辅助手段,而不是收錄保證,预期會更准确。

常见的主動發現通道

IndexNow

IndexNow 是一套開放的提交协议,站点在 URL 新增、更新或刪除时發送 HTTP 請求即可。它支持單個和批量提交,通常需要在站点根目錄放置一個密钥文件做校驗。适合更新频繁、地址數量可控的站点。

WebSub

WebSub 把 Feed 變成了推送源。站点声明 hub 地址後,發布新内容时通知 hub,hub 再分發给订阅方。它更接近订阅制的更新广播,适合博客、新闻站等内容按時間线更新的场景。

RSS 與 Atom Feed

Feed 本身也是一種 URL 發現入口。保持 Feed 只包含最近的完整條目、連結使用最终地址、更新时同步刷新,能让它作為一條稳定的补充通道。

传统 ping 服務

部分博客系統會向 ping 服務發送更新通知。這類服務的影响力已经下降,但配置成本低,保留無妨,不必投入太多精力。

和現有發現体系怎么配合

  1. Sitemap 仍作為主清單。主動推送适合传递變化,Sitemap 适合覆盖全量。两者不冲突,推送過的 URL 也應存在于 Sitemap 中。
  2. 内鏈是兜底路径。推送可能失敗或延迟,新頁面至少要被站内某處連結到,形成可爬行的路径。
  3. 保持地址一致。推送的地址要和頁面最终地址一致,避免推送带參數或跳轉前的地址。
  4. 控制推送频率。批量提交前先合並重复地址,避免同一内容短時間反复發送。

容易忽略的细节

  • 推送刪除類信号时,地址要返回正确的狀態碼,410 與 404 的语义不同。
  • 密钥文件放在根目錄,確認它能被正常訪問,且不要被 robots.txt 誤屏蔽。
  • Feed 里保留太多歷史條目會稀释信号,通常只保留最近若干條即可。
  • 主動通道的發送记錄值得留存,出現異常时能和服務器日誌對照排查。

怎么决定用哪几條通道

站点内容更新频率高、地址規模中等,IndexNow 之類的提交协议比較直接。内容以時間线為主,Feed 和 WebSub 更贴合。存量較大、更新零散的站点,仍然要把重心放在 Sitemap 和内鏈结构上,主動通道只是补位。多條通道並行时,注意地址規范化,否則同一頁面可能以不同形式被重复送出。推送通道越多,越需要一份统一的地址生成逻辑。

主動推送改變的是發現速度的下限,而不是抓取和收錄的上限。把它放進整体 URL 發現体系里看待,比單獨依赖某一通道更稳妥。