WebFeed 倡议书

W

什么叫独立博客,独立博客到底该不该开放Feed。

先说说为什么会出现独立博客的概念。一个所谓的“独立”博客个人感觉需要包括三点:

  • 拥有一个可供自主解析的二级域
  • 大部分文章为博主原创!
  • 不依赖于类似 微博、知乎、微信公众号等自媒体平台

由于个人平台输出内容获取的收益无法与此类自媒体平台相比,而且还承担着各种各样的风险以及成本,很多的内容创作者便从个人建站的时代,进入了依赖于第三方平台的自媒体时代,去输出内容。此时独立博客的概念出现,并且由此,独立博客的数量开始走下坡路,但仍有部分博主因为各种各样的原因,依旧保留独立博客。(还有一种说法是不受制于各平台太过于严苛的内容审核机制,仁者见仁智者见智了

第二个问题,独立博客该不该开放Feed。很多独立博客或是因为防止文章被大批量的采集,或是维持网站流量,或是因为各种各样的原因选择关闭了Feed,但这样是对 Web 互联网以及独立博客的概念的影响是非常负面的。


以下内容作者:涛叔

原文地址:https://taoshu.in/webfeed/lets-web-feed.html

为了解决以上部分问题,也为了为了推动开放 Web 生态的发展,涛叔 设计并开发了 WebFeed 扩展。使用 WebFeed,用户可以在浏览器中方便地订阅独立博客,从而获取类似微信公众号的体验。但目前基于 WebFeed (RSS/Atom) 的订阅方案还有不少问题。今天向广大作者发出倡议,希望能一起解决这些问题。

如何方便读者快速订阅博客

我们虽然可以在博客上指明 Feed 链接,但不同博客的链接位置却不尽相同,多数在页面的右上角,少数在页面底部,还有一些在左边或者右边。有的网站虽然提供 Feed 链接,却只在首页等特殊页面展示。如果用户只是阅读某篇特定的文章,则不能第一时间发现 Feed 链接。

为了解决这个问题,我建议所有作者都为博客加入 rss-autodiscovery 支持。简单来说就是在每个页面<head>部分都添加特殊的<link>标签:

<link rel="alternate"
      type="application/atom+xml"
      title="RSS"
      href="https://taoshu.in/feed.xml">

这里的 type 属性指明 Feed 类型。如果是 RSS 需要写成 application/rss+xml,Atom 则需要写成 application/atom+xml

有了这样标准化的 <link> 标签,我们才有可能实现自动发现、一键订阅等功能。

怎样选择合适的 Feed 类型

我们知道 Feed 分 RSS 和 Atom。虽然 RSS 历史更久远,兼容性更好,我还是建议大家选用 Atom 格式。这是因为在 RSS 规范里面,每一个 <item> 只有一个 <description> 字段。有的站长用它输出摘要,有的站长用它输出全文。局面比较混乱。而 Atom 规范则分别定义了 <summary><content> ,在语义上更加清晰,客户端在解析的时候也更加简单。

Feed 文件体积过大

很多作者为了方便读者订阅,不但在 Feed 中输出了全文,而且还把所有的历史文章都加到了 Feed 中。这样会生成一个非常大的 XML 文件。Feed 文件体积过大,一方面会消耗不必要的服务器流量,导致下载时间过长,另一方面还会给客户端解析带来非常大的负担。更重要的是,我们不可能在短时间内写很多文章,所以用户订阅 Feed 的时候大多数情况下下载的 XML 文件内容都只有很少变化或者根本没有变化。

为此,我建议各位作者把 Feed 当成一种更新同步机制,而非内容同步机制。也就是说,大家只需要把最新发布的内容输出到 Feed 中就可以了。比如,我们可以只针对最新的十篇文章生成 Feed 文件。读者只需按照一定的周期来检查是否有新的 Feed 就不会错过新发布的文章。为了进一步减少 Feed 文件的体积,我进一步呼吁大家只在 Feed 中输出文章摘要。如果读者有兴趣,则可以作者的博客上继续阅读。

顺便提一个小细节。有的作者为了让读者回源站阅读全文,不但没有在 Feed 中输出全文,而且在输出的摘要的最后还附加了一个超链接,来引导读者跳转到自己的博客。其实这大可不必。因为 Feed 信息中已经包含了文章链接,阅读器一般也都会再显示一个阅读原文按钮。如果在文章摘要中再输出一个,那就会显示两个原文跳转链接,非常难看。

Feed 信息不完善

这个问题基本不影响用户订阅 Feed。但我还是建议作者能把网站标题、网站图标、主页链接、个人邮箱等信息加现 Feed 文件。

统一内容编码

建议大家统一使用 UTF-8 编码。

以上就是我所想到的 Feed 订阅问题。总结一个就是使用 Atom 格式,加入自动发现的 <link> 标签,只输出最新几篇文章的摘要,完善站点信息,比如一使用 UTF-8 编码。欢迎大家留言讨论。也欢迎大家关注WebFeed 项目



COMMENT