Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Whenever I update an older blog post with new information then it is visible to all readers that visit the site itself. Readers of the RSS feed don't get the update and miss the new information.

I am looking for a way which issues back the post to the RSS-feed as if it was a new post (with an [Update] put after the post title, preferably). However it should not be a new RSS post whenever I just did a minor change (like correcting a spelling error). It would be ideal if it asks me whether this was a minor change whenever I edit a post. How can I achieve this?

share|improve this question
    
I consider the first paragraph as describing a wordpress bug. The second paragraph is asking for a feature. have you considered to make a bugreport in the worpdress project or asked in the support forum? –  hakre Aug 27 '10 at 21:26
    
@hakre: If you go directly to the site or view the feed after the update it is visible. The problem is that I often update the post a week after the post was published. To inform the RSS readers the post should also be shown again in the feed. –  neo Aug 28 '10 at 11:23

7 Answers 7

I think you may be looking at this the wrong way. The new information in your old post is visible to viewers of both the website and the RSS feed. That is, anyone accessing the RSS feed after the post has been updated will see the latest version.

It is true that anyone who accessed the RSS feed before the post was updated would not know when new information is available, but the same can be said for visitors to your website. The only way to notify your website visitors and RSS consumers that old posts have been updated is to create a new post saying in effect, "Hey! My post on such-and-such has been updated! Go take a look."

share|improve this answer
1  
While this may all be useful information, none of addresses his question which is how can he have the post including in his RSS feed again with an [Update] notification after he updated it but only for significant updates. –  MikeSchinkel Aug 25 '10 at 5:51

First this is clearly not a bug. Feeds generated by WordPress are ordered by post publication date, which is both intended and makes sense.

Second RSS clients uniquely identify items. In specific case of WP feeds unique identifier is guid field with non-pretty (?p=xxx) permalink. Even if post is changed and brought back into feed its identifier remains the same and it is treated as read by RSS client.

In practice some clients will detect is as changed, some won't. In any case situation will be ambiguous and unreliable.

From usability point of view previously read items re-appearing in feed can be annoying to readers (for me personally it's annoying like hell).

To sum it up what you want is not impossible but (in my opinion) goes against both WordPress and RSS mechanics.

Given your conditions (and I assume considerable amount of such edits) I would suggest periodic digest posts with lists of updated entries. Can be generated manually or by code.

share|improve this answer

What about creating a custom meta_field check box called update. If the box is checked it could append the phrase [updated] to the title.

For example:

<?php if ( get_post_meta( $post->ID, _updated_post, true ) ) {  echo '[Updated]'; the_title();  }else{ the_title(); } ?>

That would take care of visitors to the site

Use the_title_rss for the same thing in your RSS feed

You would probably want to use wp_cron to automatically reset the value ofter x amount of time unless you want to manually have to go back and untick the box

share|improve this answer

I see the following solution: The lineup of posts in feeds should be sorted by the post's last-updated date. I'm not sure if that is already the case for feeds. If not a plugin must hook into the feeds post querying and change the sort order.

The WP Minor Edit (Wordpress Plugin) offers part of the functionality you're already looking for. It makes use of post's last-updated date as well by not changing it.

If now another plugin does hook into the feed, make the sort of feed as I specified and then, on each title of the feed, checks if the posts data is some other then the post's last-updated date, it just adds [UPDATED] to the title.

Done.

share|improve this answer
    
Yes I'm searching a plugin which does exactly that (see question title) and I haven't found one. –  neo Aug 28 '10 at 11:24
    
I know of a plugin that adds to the title, please see: hakre.wordpress.com/2010/01/30/… --- This does not all you want but might be a start. Next to that adding a custom post field for update tagging and then can you tell me if you update a post that it wents on to top in the RSS feed if you change the posts date? –  hakre Aug 28 '10 at 12:16
    
Have you seen this plugin? wordpress.org/extend/plugins/wp-minor-edit From what it's describben there this leads me so some ideas, especially post's last-updated date. –  hakre Aug 28 '10 at 12:26

Some solutions for you that would or might work

Change the published date when you update a post - it will be added back into the RSS feed. If need be you can store the first post date in a custom field.

However content gets syndicated a lot - what is really needed is an image that is created based upon a last modified date which links to the permalink. If you are doing it that way, and this isn't something I have tested, you could have a feed based upon last modified date rather than publish date. It might need pinging. Google Blogsearch certainly keeps a copy of a whole feed content even if they are being told to not show it in the index using feedburner controls. There is a chance that index is based upon permalinks and not Atom feed items.

Want to be extra crafty and get more backlinks... it could be justified to add a date to the end of a permalink when you change the publish date using a parameter.

Another alternative is to store last modified, and whenever a post if published you also ad recently modified posts to the bottom within the RSS, and also have something similar in the sidebar. I actually like that option because it adds more links.

share|improve this answer

What you're basically trying to do is 'trick' the RSS reader into thinking it is a different post, and not just an updated version. Unlike the WP site itself, which calls most recent version of the content from the database when someone views it, the RSS is a more 'static' version and whenever the various feed readers pull the information into the reader application, it becomes static regardless of how many times you update it again. Also keep in mind any 3rd party aggregators (such as Feedburner) are going to pull the information and then serve it from their own cache.

So you have a few options:

  1. Change the post date and modify the permalink slug slightly on each edit to make it appear like a new item
  2. don't publish until it's ready

While this isn't a direct answer, I have to ask why you are wanting to do this to begin with. If you're constantly updating the same post / content, then you're defeating the use of why people subscribe to RSS to begin with. While I am sure there are reasons for doing this, I personally would unsubscribe to a site that basically blasted my reader with multiple versions of the same content.

share|improve this answer
    
Editing permalink every time doesn't seem like a good idea. It is probably better to filter it in feed templates and append some kind of timestamp that doesn't change link itself. –  Rarst Sep 15 '10 at 5:58

Is the RSS feed running through FeedBurner or coming right from WP?

I have heard that FeedBurner may get in the way of even your best laid plans to make this work.

Why not just re-post (as in c-p) the old one into a new one, and put an [UPDATED] tag on it if your subscribers really need to see it?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.