2

I'm currently working on an Atom feed (was previously RSS) that outputs 10 recent entries from the blog. That is working fine and looks great in most readers. However on both feedly and theoldreader.com both pull up any changes that have been made to the entries, resulting in "repeats". This doesn't happen in the XML itself, nor in browsers (FF and Chrome).

I've attached the feed code in hopes that someone can point me in the right direction with this one. Is it possible that the feed is cached on theoldreader?

Running EE v2.5.5 and upgrading is not an option at the moment.

{exp:debug_suppressor}
{preload_replace:master_channel_name="blog"}
{preload_replace:atom_feed_location="rss/index"}

{exp:rss:feed channel="blog"}
<?xml version="1.0" encoding="{encoding}"?>
  <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="{channel_language}">

    <title type="text">Company Blog</title>
    <subtitle type="text">subtitle</subtitle>
    <link rel="alternate" type="text/html" href="{channel_url}" />
    <link rel="self" type="application/atom+xml" href="{path='{atom_feed_location}'}" />
    <updated>{gmt_edit_date format='%Y-%m-%dT%H:%i:%sZ'}</updated>
    <logo>http://www..org/files/images/general/-logo.png</logo>
    <icon>http://www..org/css/images/img-footer-logo.png</icon>
    <rights>Copyright (c) {gmt_date format="%Y"} Company</rights>
    <generator uri="http://expressionengine.com/" version="{version}">ExpressionEngine</generator>
    <id>http://company.org/</id>

    {exp:channel:entries channel="blog" limit="10" dynamic_start="on" disable="member_data|pagination"}
    <entry>
      <title>{exp:xml_encode}{title}{/exp:xml_encode}</title>
      <link rel="alternate" type="text/html" href="{url_title_path=blog/entry}?utm_source=rss&amp;utm_medium=rss-feed" />
        <id>{site_url}blog/entry/{entry_id}</id>
        <published>{gmt_entry_date format="{DATE_ATOM}"}</published>
        <updated>{gmt_edit_date format="{DATE_ATOM}"}</updated>
        <author>
              <name>author</name>
              <email>blog@company.org</email>
        </author>
        {categories}
          <category term="{exp:xml_encode}{category_name}{/exp:xml_encode}"/>
        {/categories}

        <content type="html">
            <![CDATA[
            {if blog_image}
              <img src="{blog_image}"/><br />
            {/if}
            {exp:xml_encode protect_entities="yes"}
            {blog_summary}
            {/exp:xml_encode}
            ]]>
        </content>

    </entry>
    {/exp:channel:entries}
  </feed>
{/exp:rss:feed}
1

I think it's to do with the {DATE_ATOM} variable including the seconds which I think gets updated when editing an entry thereby triggering it to be displayed again. If you use {gmt_date format="%Y-%m-%dT%H:%i%Q"} (which I use in my RSS templates) or possibly {entry_date format="%Y-%m-%dT%H:%i%Q"} if gmt_date isn't available for ATOM instead I think you should be OK.

| improve this answer | |
  • Still seems to have the same issue. I pushed the code and nothing changed. I'm wondering if those sites just employ some crazy caching or something? What's weird too is that the dates are identical in the reader itself. – danhere Jan 14 '14 at 23:11
  • Can you tell if the entry date (in the published element) is changing when you edit an entry? Is the date changing in the updated element when you edit an entry? If the publish date is fixed, and the updated date is changing as expected, then it seems like it's an issue / setting in the feed reader. – Jay F Jan 15 '14 at 4:41
  • @JayF It is changing I did a diff and both updated dates for the entry and the blog changed. But that's it. – danhere Jan 15 '14 at 15:11
  • I'd guess caching is why you can't see your change. You can test this by adding a random character right before your article title in the template and reloading the feed. If it's not there, then cache is the issue for sure. Check out this article (23rdworld.com/2009/12/23/…)... specifically look for the part with the "Date" heading. It talks about this issue. – Anna_MediaGirl Jan 15 '14 at 18:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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