如何平滑地更换博客RSS Feed地址?

大多数独立博客都会用FeedburnerFeedsky烧录RSS Feed,烧制RSS Feed的好处是,你可以在Feed里添加广告,例如Adsense for Feed、Feedsky RSS 展示广告等,同时还可以粗略地知道博客的订阅数。

Feedburner虽然很稳定,抓取频率也高,但容易被和谐。Feedsky虽然不易被和谐,但最近它的服务器故障频发,让一些blogger对其失去了信心。

那么,如何平滑地在这2个(或多个)RSS烧制服务商之间转换呢?或者如何在不需订阅者操作的情况下修改Feed地址?

为什么要修改Feed地址?

本文以可能吧的Feed烧录地址为例:

这个URL看似是Feedburner的绑定域名feed,实际上是Feedsky的。

对于独立博客而言,绑定域名烧制feed是有必要的,原因不在这里讨论。这里说说feedburner和feedsky两家绑定域名的区别。

在FB绑定域名后,只能使用二级子目录作为feed地址,样式和可能吧的Feed地址一样;

而在feedsky绑定后,除了可以直接使用二级域名订阅外,还支持二级子目录作为feed地址,也就是说,你可以用http://feeds.kenengba.com/kenengbarss订阅可能吧,也可以用http://feeds.kenengba.com/来订阅。

于是,问题就出现了,一旦Feedsky倒闭(假设,纯粹是假设),你将二级域名cname到Feedburner,http://feeds.kenengba.com/kenengbarss这个地址能平滑地转换,但你会丢失了使用http://feeds.kenengba.com/进行订阅的订户。

怎么办?

何为平滑地转换RSS Feed地址?

所谓平滑地转换RSS Feed地址,就是不需要订户做任何操作,或者说订户根本不感觉到任何变化,但依然能正常接收到RSS 更新。

也就是说,虽然实际上你的RSS Feed地址发生了改变,但使用旧的地址依然可以订阅。

修改RSS Feed地址

1、如果你之前使用的是FB,要切换到Feedsky,只需在Feedsky注册相同的Feed名称,修改二级域名cname到Feedsky的域名服务器即可。相反,也是如此操作。

2、对于国内的两大RSS订阅服务商:抓虾鲜果,我们可以直接发email给他们的客服要求修改Feed地址。

3、在FB或FS后台将烧录的feed删除。30天后,Feedburner和Feedsky都会将这个Feed删除,并给各个阅读器发出Feed地址更换提示。大部分阅读器都能理解这一语句,遗憾的是,还有一些阅读器对这个语句视而不见,其中一个就是最大的RSS阅读器: Google Reader。

4、这时,我们可以使用下面的方法:

还是以可能吧的Feed地址为例:http://feeds.kenengba.com/kenengbarss,假设新的feed地址是http://blog.kenengba.com/feed

在主机的后台新建一个名为feeds的子域名,在这个子域名下建立一个kenengbarss目录。

然后在这一目录里新建一个index.html,里面写入以下内容:

<html>
<head>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<title>rss</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="alternate" type="application/rss+xml" href="http://blog.kenengba.com/feed/" />
</head>
<body>
</body>
</html>

其实大多数语句都是可以省略的,但最重要的一句不能省略,那就是:

<link rel="alternate" type="application/rss+xml" href="http://blog.kenengba.com/feed/" />

你可以将href后的URL改成新的feed地址。

同理,将这个index.html复制到http://feeds.kenengba.com主目录下,二级域名同时也实现了Feed重置。

5、你可能会问,没有绑定域名的博客不就不能使用第3种方法了吗?

答案是肯定的。所以,如果你是独立域名博客, 尽早绑定域名,越早越好。同时,最好将Feed点击统计功能关闭。

36 条评论

  1. 2008 年 11 月 16 日 下午 11:31

    其实我还是觉得博客自带的rss最好,更新速度快,而且DIY起来也并不是很难

    • 2008 年 11 月 17 日 上午 8:42

      使用第三方托管主要的原因是:
      1、节省一点带宽开销
      2、可以嵌入feed托管商的第三方的广告
      3、便于统计订阅数
      至于更新速度快慢,你可以在博客里添加一个ping服务,在博客更新的同时ping Feed托管商。

  2. 2008 年 11 月 17 日 上午 12:14

    4、这时,我们可以使用下面的方法:

    其实这个利用的是 RSS 自动发现,现在的主流阅读器都能主动发现 RSS 地址。 🙂

    • 2008 年 11 月 17 日 上午 8:43

      301转向也是个很好的方法,但是似乎每次都要判断一次。
      而使用feed自动发现则是一次性判断。

  3. 2008 年 11 月 17 日 上午 7:21

    直接托管到服务器不就行了吗

    • 2008 年 11 月 17 日 上午 8:44

      feed托管有它的好处,比如在广告、节省带宽、统计方面都有优势。

  4. 2008 年 11 月 17 日 上午 9:51

    晚上再研究研究,呵呵

  5. 2008 年 11 月 17 日 上午 11:34

    吕胖子会生气的!!!

    PS:你的blog啥时候支持gravatar啊~~

    • Jason Ng
      2008 年 11 月 17 日 下午 2:18

      我知道吕胖子很大量的,哈哈。何况我还是继续在用feedsky。
      P.S.因为你这一句话,我修改了半小时的CSS来显示gravatar头像。

    • atomicink
      2008 年 11 月 25 日 上午 8:53

      为什么到处都能看到aw

  6. 2008 年 11 月 17 日 上午 11:54

    太好了,我正好在找这些东西呢,谢谢你啊。

  7. 2008 年 11 月 17 日 下午 12:25

    我真的也想修改了。

  8. Eric
    2008 年 11 月 17 日 下午 3:53

    纯粹来测试gravatar

  9. 2008 年 11 月 17 日 下午 4:08

    老时带领三宫六院前来膜拜博主了。

  10. 2008 年 11 月 17 日 下午 5:01

    用着Blogger本身自带的feed说

  11. 2008 年 11 月 17 日 下午 6:23

    该方法能保留老订阅用户?

  12. overwhelming
    2008 年 11 月 17 日 下午 6:49

    1.测试
    2.顶一下“有问题不妨先搜索,或许答案已在互联网上”

  13. 2008 年 11 月 17 日 下午 10:17

    好方法!

  14. 2008 年 11 月 18 日 上午 9:57

    昨晚看了半天没弄明白。。。

  15. 2008 年 11 月 19 日 上午 10:47

    最后一句没有明白..

    最好将Feed点击统计功能关闭… Why?

    同时还有一个问题..feedsky的统计数是怎么算的哦, 昨天订阅是2, 今天是3, 那不是应该显示5吗? 为什么显示的是3..

    • 2008 年 11 月 19 日 下午 1:34

      关闭点击统计是为了避免死链。
      订阅统计数是总数,不是增加数。

      • 2008 年 11 月 19 日 下午 1:38

        To: Jason, 为什么会有死链产生呢?

        订阅统计既然是总数, 那+起来应该显示5才对啥, 可是我的为什么只显示当然的订阅数…

  16. Jor
    2008 年 11 月 19 日 下午 2:52

    恩,还是独立博客方便,想咋弄咋弄。

发表评论

电子邮件地址不会被公开。 必填项已用*标注