关于WordPress文章修订与RSS同步更新


非典型的Wordpress blog会遇到RSS更新的问题。比如,我经常更新旧文章,但默认情况下,RSS订阅者是无法感知这些更新的。为了兼顾RSS读者,需要一些特殊处理。

一、xbeta的应对办法

1. 不重要的更新

只更新文章,不做任何特殊处理。

效果:
* 已经读过该文章的读者,无论是通过RSS订阅,还是首页浏览,都无法感知到更新——因为是微小更新,不需要告知他们。
* 而通过搜索引擎到达该文章的读者,看到了最新内容,以防误导。

2. 稍重要的更新

更新文章,并把发表日期提前。

效果:
* 博客首页会显示此文,直接访问网站的读者会注意到这篇文章。
* 提前到前N篇后,就进入了RSS输出范围(wordpress默认为10)后,RSS订阅程序会更新此文。这并不意味着RSS中出出现一篇新的未读文章(原因见下),但在RSS中搜索或阅读时,内容是新的。

3. 非常重要,需要向读者推送的更新

首先,更新文章。比如原文网址为 mini-tc.htm 。(此时无RSS更新)
其次,发表一篇新文章,内容完全同上(或只包括重要的更新内容),比如发布为 update.htm 。(输出了RSS)
最后,在WP目录下的 .htaccess 文件中增加一条重定向记录:Redirect /update.htm /mini-tc.htm
这样,读者既能通过RSS看到新文章提醒;但在访问 update.htm 时,又会无痕跳转到 mini-tc.htm 原文章,不会产生如下的问题。

进阶补充:
* 这个update.htm可以日后继续用于其他文章更新。
* 如果是连载更新,也可跳转到合集的指定位置,如 Redirect /update.htm /mini-tc.htm#part-3

注:本做法是 2011-04-21 明确改进的。以前的做法是:
采用“删除重发,保持原有的URL”的方法,但有副作用:原文的评论都将被删除。手工对策也不完美:①少量或不重要的评论,任由删除。②重要的评论或专文汇总(),或手工合并为一条,贴在新文章的后面(例该文章第一条评论 xbeta: 2010-03-24 0:23, #4 原有评论汇总:78 条)

附:Google Reader等RSS程序判断更新的原理推测

当wordpress的rss源(比如,http://xbeta.info/wp-rss2.php)更新后,Google Reader这样的RSS程序,会把此时刻的rss内容,与已积累的内容进行比较,然后进行处理。需要说明的是,判断是否为“同一篇文章”的标准,并不是手工设定的url,而是wordpress后台的post ID。如果被认定为同一篇文章,则只做内容更新,并不提示用户有新的未读文章。只有发现新的ID,才告知用户,这里出现了一篇“新文章”。
>


《“关于WordPress文章修订与RSS同步更新”》 有 5 条评论

  1. 这篇文章本身就是一个手工影响RSS的例子。
    本文是yibie网友问到相关问题而做出的解答,实际发表于2010-10-11。因为不希望本文干扰其他读者,就把发表日期设在了1年之前,这样,wordpress RSS 根本不推送本文。
    如果未来某一天,我修改其发表时间,让它进入前10篇最新文章之内。那时,wordpress rss就会推送,而Google Reader就会发现是“新”文章,就会提醒RSS用户有“新”的未读文章了。

  2. 之前一直纳闷, 现在终于明白了.

    最近我的Google Reader中, 许多出现在首页的文章在里面没有提示, 常常还是显示几天前的, 过来才看到更新, 而有些文章则可以在里面看到更新, 似乎上个月开始的, 之前如同上面描述的那样正常, 感到有些困惑了?

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据