搜索抓取

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 的路径会更顺。