Wednesday, July 18, 2007

 

RSS Feeds应如何发布?

by Blogdiy

将博客的RSS Feeds交由FeedBurner托管,可能会在一定程度上带来某种潜在的问题,这点我们在RSS Feeds与FeedBurner的困惑中已经进行了探讨。当然,这并不是说使用FeedBurner的Feed托管服务便一定会给博客带来负面影响。

从理想的角度,将RSS Feeds的管理权掌控在自己手中总是利大于弊的。下面是到目前为止本人所知的将RSS保留在自己域名范围内的几种策略:

不使用RSS托管服务

这当然是最简单也最有效的办法,不过,代价是不能享受如FeedBurner之类的托管带来的附加价值,比如说详细的订阅统计以及RSS访问带宽及消耗资源不能由托管商分担等。

此外,如果博客已经使用了RSS托管服务,中途取消而改用自身的原始RSS则需已订阅用户更改feed地址,这无疑要损失一定数量的订阅量。

使用FeedSky的RSS托管

与FeedBurner收费的“MyBrand”服务相比,FeedSky的“域名绑定”服务则是免费的,可以实现与FeedBurner “MyBrand”相当的效果,即将Feed url置于自己的子域名之下,当然,同样需要设置DNS。

这也同样要求在博客建设伊始便进行这样的设置,不然,中途改变RSS地址会带来损失。

应该说,FeedSky提供的这个免费服务具有相当的吸引力,不过,从个人角度,我对“民族企业”没有足够的信心——当然,这可能是偏见——虽然 FeedSky不存在被封的风险,但民族企业善于随时调整游戏规则,相信许多人对几年前免费E-mail一窝蜂地收费还记忆犹新,而与扔掉众多E- mail信箱中的一个或某几个并不会带来致命的影响相比,当feeds成为了“人质”,后果可能就比较严重了,也许到时候便不得不任由“绑匪”予求。

使用header重定向

可参考月光博客的这篇文章,简单地说,就是新建一个存放feed的子域,如月光博客的“http://feed.williamlong.info/”,将此子域自动重定向至托管后的RSS地址即“http://feeds.feedburner.com/williamlong”,可在服务器端通过简单的语句实现:


<?php
header("Location: http://feeds.feedburner.com/williamlong"); /* 重定向浏览器 */
/* 确保重定向后,后续代码不会被执行 */
exit;
?>

这样,用户订阅时不会发觉有什么变化,不影响原来通过Feedburner地址订阅的用户,而一旦FeedBurner出现某种问题,也可简单地修改重定向语句,跳转到其他可用的地址上。

Update:印象中昨天检查时,月光博客的RSS还是使用这种重定向方式,不过,刚才又看了一下,月光博客已经改用FeedSky的“域名绑定”了。——还是我记错了? :oops:

使用301重定向

思路与上述类似,只不过通过mod_rewite将header重定向改为301重定向。

粗粗想来,这样似乎更理想,不过,查看了许多博客,似乎并没有发现采用这种策略的,不知道为什么,还是这样存在某种我目前还未想到的问题?——按说不会吧?

博客学堂暂时的解决办法

相信很多基于WordPress的博客都使用这个Feedburner Plugin,其可以将博客内的feed流量全部转向 FeedBurner,比如说对博客学堂而言,可以将对“http://blogsdiy.org/feed/”的访问转向“http://http: //feeds.feedburner.com/blogsdiy”,这样,可以更全面地对RSS订阅量进行统计、分析,当然,也有利于提高 FeedBurner的统计数字 :P 。

既然这样,为什么不让用户在订阅时使用原始的RSS url即“http://blogsdiy.org/feed/”,规避FeedBurner可能被封而存在的风险?同时,在网页中使用RSS的原始地址也可以让链接保留在本地网站内而不是Feedburner?

不过,似乎使用设置的博客似乎不多,也许是因为这个插件使用的是307重定向,会在SEO方面存在一定的风险?那么,将其通过Mod_Rewite改成301呢?

Anyway,暂且试一段时间吧,反正如果情况不好,转回FeedBurner也不会有什么损失。

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?