2007年9月4日星期二

发布RSS Feeds的方法再思考

  写博客都会遇到RSS Feeds发布方法的问题,这个问题在上一次FeedBurner事件后,我也曾经讨论过一次,这次FeedBurner似乎永久性被墙,国内大批Blogger忙着迁移到FeedSky,因此我觉得有必要再次讨论一下发布RSS Feeds的各种方法。此文讨论的博客只针对独立域名的博客而言,BSP托管的博客可忽略此文。

  一、使用博客系统自身的RSS Feed地址发布

  例如对于WordPress来说,使用 www.domain.com/feed 的形式发布,对于Google Blogger,Movable Type或Z-Blog来说,使用 www.domain.com/rss.xml 的方式发布。这种发布方式的好处是设置简单(几乎不用设置),在同类系统间可切换。

  如果需要进行统计,可以使用301重定向的方法将feed或rss.xml重定向到FeedBurner或FeedSky的地址,对于WordPress来讲,只需要安装一个FeedSmith的插件就可以自动完成重定向,对于BlogSpot来讲稍微麻烦一些,首先要将RSS Feed先发布到另外一个文件中,例如feed.xml,然后在feedburner或feedsky中绑定这个新的feed地址,之后在IIS或Apache中设置,将rss.xml文件重定向到FeedBurner或FeedSky即可,这种案例可参见我自己的RSS地址 www.williamlong.info/rss.xml 。

  当然,这种方法虽然很灵活且可控性强,但是也有一些问题,就是某些RSS阅读器可能会不识别301重定向,因此可能会带来潜在的订户的损失。

  二、使用博客的子域名的方式发布RSS Feed地址

  第一种子域名可以使用 feed.domain.com/username 的方式发布,username为用户在feedburner和feedsky申请的用户名,必须相同,这样可以通过域名绑定的方式直接在FeedSky和FeedBurner中切换。

  第二种子域名可以使用 feed.domain.com 的方式发布,这种方式只能在feedsky中使用,feedburner不支持这种域名方式,不过将feed子域名设置到自己个人主机上,通过301重定向的功能依旧可以使用FeedBurner的服务。

  使用子域名的方式发布Feed的好处是节省本地资源,大部分时间可以将Feed托管出去,并且也可以将Feed指向自己的主机而使用第一种方式,可以说这种方式比前一种方式更灵活,但是如果feed使用自己的空间,需要的资源较多,需要单独一个空间发布feed,301重定向也同时可能不被某些RSS阅读器识别。如果使用CPanel和WordPress则操作就简单多了,可以直接在CPanel中设置feed子域名映射到feed目录。

  这两种RSS Feed发布方式各有所长,都是发布RSS Feed的好方法,而且都要比使用feeds.feedburner.com/username或者feed.feedsky.com/username发布要灵活方便且利于将来的切换,推荐新的博客使用那两种发布方式来发布RSS Feed。