很多站点把 URL 發現全押在 Sitemap 和内鏈上。Sitemap 更新有延迟,新頁面如果内鏈少,蜘蛛可能几天都摸不到。RSS/Atom 和搜尋平台的主動推送接口,是两條成本不高的补充路径。它們不能保證收錄,但能让新 URL 更早進入抓取队列。
被動發現和主動提交是两回事
Sitemap 属于被動發現,蜘蛛按自己的节奏来取;内鏈也是被動發現,需要蜘蛛先爬到入口頁。主動推送則是你把 URL 直接交给搜尋引擎,让它知道「這個地址刚刚出現」。两者不冲突,可以同时用。
主動推送解决的是「通知」,不是「收錄」。通知到了,抓不抓、收不收,仍由搜尋引擎判断。
RSS/Atom 怎么輸出才有用
RSS 适合内容更新频繁的栏目,比如文章、商品、問答。它本质是一個按時間排序的 XML 列表,蜘蛛可以定期来拉,發現最近新增的 URL。
輸出完整内容還是摘要
如果只輸出摘要,蜘蛛仍需要訪問原頁才能拿到正文,這没問题;如果輸出全文,要小心重复内容問题。更稳妥的做法是輸出摘要加原文連結,让蜘蛛自己决定。
條目數量和更新频率
- 保留最近 20-50 條即可,不必把全站歷史都塞進去
- 更新频率尽量稳定,不要一天推 500 條、接着半個月不動
- 每個條目给唯一 guid 和 pubDate,避免蜘蛛重复處理
- RSS 文件本身要被 robots.txt 允许抓取,路径別设成 noindex
主動推送接口的使用要点
百度、必應等平台都提供主動推送接口,通常一次可以提交若干條 URL。它的價值在于缩短「新頁面被知道」的時間。
推送频率與去重
- 有新内容就推,不要為了凑數把舊 URL 反复提交
- 同一 URL 短期内重复推送,平台可能降權或忽略
- 推送前做一层去重,只提交最近新增或實质更新的地址
- 推送接口有配額,先保證重点栏目,再考虑全站
推送失敗怎么處理
接口返回失敗时,先看是參數問题、鉴權問题,還是配額用尽。偶發失敗可以重试;大面积失敗要先停下,检查站点是否被防火墙拦截,或者服務器時間是否偏差太大導致簽名無效。
如果站点有多個域名或測試环境,推送时務必用正式域名,別把測試地址推给搜尋引擎。
几個容易踩的坑
- RSS 地址没放在頁面顯眼位置,蜘蛛找不到入口
- RSS 里混入大量标簽頁、分頁、篩選參數 URL
- 主動推送只推首頁和栏目頁,詳情頁全靠蜘蛛自己爬
- 推送接口返回成功就以為萬事大吉,不回头看日誌里的抓取情况
- 站点改版後舊 RSS 地址 404,没有做 301
和日誌對照着看
推送之後,隔几天去看服務器日誌里有没有對應的蜘蛛請求。如果推送了但日誌里完全没有记錄,可能是接口没生效、URL 被 robots 挡住,或者服務器對蜘蛛返回了異常狀態碼。把推送记錄、RSS 抓取记錄和訪問日誌放一起對,才能判断這條路有没有走通。
最後提醒一句:RSS 和主動推送只是 URL 發現的补充,不能替代清晰的站点结构、稳定的内鏈和可訪問的頁面。頁面本身打不開或者内容质量不過關,通知得再快也没有意义。