搜尋抓取

RSS 與 Atom 订阅源:蜘蛛發現新 URL 的另一條入口

RSS 和 Atom 常被当作讀者订阅工具,實际上它們也能成為蜘蛛發現新 URL 的入口。本文說明订阅源适合放什么内容、怎么設定更新時間和連結、如何與 Sitemap 和内鏈配合,以及如何在日誌里確認蜘蛛是否真的走了這條路径。

搜尋抓取

RSS 與 Atom 订阅源:蜘蛛發現新 URL 的另一條入口

很多站点把 Sitemap 当成唯一的地址清單,發布新内容後只等蜘蛛来爬。實际上,蜘蛛發現 URL 的入口不止一個,RSS 和 Atom 订阅源就是容易被忽略的一條。它們本来是為讀者订阅设計的,但只要格式正确、更新稳定,也能成為抓取路径的补充入口。

為什么订阅源會被蜘蛛讀取

RSS 和 Atom 都是结构化 XML,里面包含标题、連結、發布時間和摘要。對蜘蛛来说,這種文件比普通 HTML 列表頁更干净:連結集中、時間明确、没有導航和广告干扰。只要订阅源地址被放在首頁可發現的位置,或者曾经被蜘蛛抓取過,後續更新时就可能被再次讀取。

订阅源不是提交接口,它只是给蜘蛛多一個發現 URL 的入口。能不能被讀到、多久讀一次,仍然取决于站点權重、更新频率和服務器响應。

哪些内容适合放進订阅源

  • 最新發布的文章、产品頁或新闻頁,按發布時間倒序排列。
  • 更新频繁的栏目,比如博客、公告、帮助中心。
  • 有獨立 URL 且内容稳定的詳情頁。

不要把标簽聚合頁、搜尋结果頁、篩選參數頁大量塞進订阅源。這些頁面往往重复或空薄,蜘蛛顺着订阅源走過去,反而會浪費抓取资源。订阅源里放的應该是你希望被收錄、且确實有獨立價值的地址。

订阅源怎么寫更利于抓取

連結使用永久地址

每個條目的 link 要指向最终可訪問的 URL,不要用跳轉連結、短鏈或带會话參數的地址。蜘蛛每跟一次跳轉,就多消耗一次抓取動作。如果頁面有多個地址,订阅源里统一用 canonical 指向的那個版本。

更新時間要真實

pubDate、updated、lastBuildDate 這些字段要和實际内容更新保持一致。如果每次生成订阅源都刷成目前時間,但内容没有變化,蜘蛛多次来訪後可能降低對這條路径的信任。反過来,内容确實更新了,時間却不動,也會让蜘蛛誤判。

摘要還是全文

摘要和全文都可以。摘要更适合内容站,能把蜘蛛引到詳情頁;全文适合需要完整分發的场景,但要注意不要把詳情頁的全部正文重复放在订阅源里,否則可能造成内容重复。更稳妥的做法是摘要加一個明确的詳情頁連結。

分頁與數量

订阅源通常只保留最近 10 到 50 條。不要為了“让蜘蛛多發現”而無限加長,過大的 XML 會增加解析负担,也容易让舊連結反复出現。可以在站点地图里保留完整歷史地址,订阅源只负责最近更新。

和 Sitemap、内鏈怎么配合

RSS/Atom、Sitemap 和内鏈不是互相替代的關系。Sitemap 适合提交全量地址,内鏈决定蜘蛛在站内能走多深,订阅源适合告诉蜘蛛“最近有什么新東西”。新内容發布後,可以先出現在订阅源和栏目列表頁,同时更新 Sitemap 的 lastmod,並确保首頁或相關栏目有入口連結。這样蜘蛛無论從哪條路径進来,都能走到新頁面。

在日誌里驗證蜘蛛是否走了订阅源

想知道订阅源有没有被使用,可以看服務器日誌里有没有蜘蛛請求 /feed、/rss、/atom.xml 這類地址。再對照同一時間段的文章頁抓取记錄:如果订阅源被請求後不久,新文章也被抓取,說明這條路径至少在起作用。如果订阅源長期没有蜘蛛訪問,先检查它是否被 robots.txt 挡住、是否返回 200、内容是否是有效 XML。

另外要注意,订阅源被频繁請求不一定全是搜尋引擎。阅讀器、聚合服務和蜘蛛池都可能来抓。判断时要结合 User-Agent、IP 和請求频率,不要只看一個地址的訪問量。

常见問题

  • 订阅源能代替 Sitemap 吗?不能。它只覆盖最近更新,不适合全量地址提交。
  • 订阅源里放 noindex 頁面可以吗?不建议。連結和 noindex 信号冲突,蜘蛛容易困惑。
  • 订阅源需要提交给搜尋引擎吗?可以提交,也可以只放在站内让蜘蛛自然發現。提交後仍要观察日誌確認抓取情况。

把 RSS/Atom 当作抓取路径的补充入口,而不是救命稻草。它的價值在于更新及时、结构清晰、連結集中。维護好订阅源、Sitemap 和内鏈三者的關系,蜘蛛發現新 URL 的路径會更顺。