站点运营

站点运营:订阅源自查,别让 RSS 里的链接指向抓不到的地方

RSS 和 Atom 订阅源常被当成遗留功能,其实它是新内容被发现的一条辅助通道。本文给出一份可执行的自查清单:入口能否正常打开、返回的状态码与内容类型、feed 里的链接是否绝对可抓、更新时间与输出条数、与 robots、sitemap、canonical 的分工,以及发现异常时的排查顺序和取舍建议。

站点运营

站点运营:订阅源自查,别让 RSS 里的链接指向抓不到的地方

不少站点上线时顺手加了一个 RSS 地址,之后几年都没再打开过。对访客来说它可能是历史遗留,但对搜索蜘蛛和各类订阅工具来说,它仍然是一条“有新内容了”的通知路径。这条路径不复杂,只是太久没人走,容易在细节上出问题。

先确认入口还能正常打开

  • /feed/rss/atom.xml 等常见入口都试一遍,看返回的状态码和内容类型。正常应是 200,加上 application/rss+xmlapplication/atom+xml
  • 确认没有被 WAF、验证码或登录拦截。有些站点改过安全策略后,订阅源先被挡在了门外。
  • 跳转链别太长,一两次 301 可以接受,四五次就应该直接改地址。
  • 如果同时存在主 feed、分类 feed、标签 feed,把各自的地址记下来,避免内容重复输出。

feed 里的链接要能被真正抓到

订阅源最容易出问题的地方是链接。相对路径、带跟踪参数的地址、指向登录后页面或深层分页的地址,都可能让抓取工具白跑一趟。

  1. 使用绝对 URL,把协议和域名写全。
  2. 去掉 utm 之类与阅读无关的参数,feed 不是投放渠道。
  3. 链接指向的页面应返回 200,而不是 404,也不是跳到首页的 302。
  4. 同一篇文章在 feed 里只出现一次,避免多分类同时输出造成重复。
  5. 付费、登录可见或阶段性下架的内容,不要把链接放进 feed。

更新时间和输出条数要说得清

  • pubDateupdated 应与文章实际更新时间一致。批量改模板导致时间整体跳变的,最好回查一次。
  • 输出最近 20 到 50 条即可,不必全量。feed 的定位是滚动窗口,不是归档清单。
  • 输出摘要还是全文,取决于你的内容策略。如果站点依赖页面浏览和转化,摘要更合适。
  • 检查 feed 是否被 CDN 或页面缓存套住,导致新文章迟迟不出现。

和 robots、sitemap、canonical 的分工

这三者经常互相打架,值得对照一遍:

  • robots.txt 里不要把 feed 路径写进 Disallow,除非你确实不再维护它。
  • feed 页面本身的 canonical 指向自己,不要指向首页或栏目页。
  • sitemap 是全量清单,feed 是最近更新,两者职责不同,不要用 feed 充当站点地图。
  • 不要在 feed 里塞侧栏链接、推荐位和全站导航,那会让它变回一张普通页面。

发现异常时的排查顺序

  1. 先用 XML 校验工具跑一遍,确认结构本身没有报错。
  2. 再到服务器日志里搜 feed 地址,看有没有抓取记录,抓取频率是否正常。
  3. 把 feed 里的链接和栏目页的最新文章列表对一遍,看有没有漏掉或错位。
  4. 确认编码统一。中文字符乱码往往不是抓取问题,而是声明与实际编码不一致。
订阅源不是必需品。如果站点更新很少、也没人订阅,把它关掉并返回 410,比留着一个半年没更新的空壳更干净。留下就要维护,维护的成本其实很低。

整体上,订阅源自查不需要什么工具,一次手工检查半小时就能完成。重点只有一句话:feed 里的每个链接,都应该是抓取工具愿意走、也能走通的路。