{"id":51837,"date":"2016-11-01T16:41:05","date_gmt":"2016-11-01T16:41:05","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/delta-feeds\/"},"modified":"2019-01-08T16:56:58","modified_gmt":"2019-01-08T16:56:58","slug":"delta-feeds","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/delta-feeds\/","author":14765566,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"5.0.27","requires":"4.4.1","requires_php":"","requires_plugins":"","header_name":"Feed Delta Updates","header_author":"Geeky Software","header_description":"","assets_banners_color":"","last_updated":"2019-01-08 16:56:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.ctrl.blog\/entry\/wordpress-feed-delta-updates","header_author_uri":"https:\/\/www.ctrl.blog\/entry\/feed-delta-updates","rating":0,"author_block_rating":0,"active_installs":10,"downloads":1107,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1632191","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1632191","resolution":"256x256","location":"assets"}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.9","0.9.1","0.9.2","1.0.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2515,2927,144,1594,947],"plugin_category":[52],"plugin_contributors":[88782],"plugin_business_model":[],"class_list":["post-51837","plugin","type-plugin","status-closed","hentry","plugin_tags-atom","plugin_tags-bandwidth","plugin_tags-caching","plugin_tags-feeds","plugin_tags-http","plugin_category-performance","plugin_contributors-geekysoft","plugin_committers-geekysoft"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/delta-feeds.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Your feed subscribers have already read your old posts or they\u2019ve been cached in their feed readers already. Stop wasting bandwidth and only return the posts published since supporting feed reader last requested a feed update.<\/p>\n\n<p>As a nice bonus, this plugin will decrease the number of false cache misses for all your feeds.<\/p>\n\n<h3>Known problems<\/h3>\n\n<p>This section addresses some known problems and some known solutions to those problems as well.<\/p>\n\n<h4>All new posts added since the `If-Last-Modified` timestamp aren\u2019t included in my delta updates!<\/h4>\n\n<p>Indeed, they may not be. The \u201cSyndication feeds show the most recent\u201d setting in WordPress is respected to avoid delta updates being used to extract all the content out of a website by providing a timestamp from a decade ago. Feed reader clients will generally check feeds often enough to receive all the deltas as they appear in the feed anyway.<\/p>\n\n<p>Please consider increasing the max setting limit now that you\u2019re using feeds with delta updates.<\/p>\n\n<h4>Old posts are resurfacing in my feeds!<\/h4>\n\n<p>Indeed, that can happen \u2013 but lets look at why it happens.<\/p>\n\n<p>Posts that have been published within the last week may reappear in a delta update if the post has been modified since the feed was last updated. Feed reader clients are expected to handled updated posts, and the delta update is expected to include updated posts.<\/p>\n\n<p>You can avoid pushing out minor post modifications, such as spelling corrections, and improve on caching by installing the <a href=\"https:\/\/wordpress.org\/plugins\/minor-edits\/\"><em>Minor Edits<\/em> plugin<\/a>. This plugin will suppress changes to a post\u2019s modification time for minor updates.<\/p>\n\n<p>Posts older than one week aren\u2019t considered \u201cnews worthy\u201d any longer and wouldn\u2019t be included in a delta update even with significant modifications.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/delta-feeds<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the \u2018Plugins\u2019 screen in WordPress.<\/li>\n<\/ol>\n\n<p>No configuration is required or indeed possible.<\/p>\n\n<!--section=faq-->\n<p>Nobody asked about any of this, but I assume that at least some of you would be curious about this stuff.<\/p>\n<dl>\n<dt>What are \u201cdelta updates\u201d?<\/dt>\n<dd><p>Feed delta updates is a defacto standard based on <em>RFC 3229 Delta encoding in HTTP<\/em> with the <em>feed<\/em> extension. With delta updates to feeds, your syndication feeds will only return new or modified content to supported feed reader clients instead of giving them the entire feed including old entries they\u2019ve already retrieved. This reduces the bandwidth requirements as your feed will contain fewer posts when the feed reader client have already received the most recent version of an item in your feed.<\/p><\/dd>\n<dt>Can I control how often feed reader clients check for new content in my feeds?<\/dt>\n<dd><p>You can\u2019t really control this as it\u2019s up to the feed reader client and user preferences. You can, however, use the <code>Cache-Control: max-age=&lt;seconds&gt;<\/code> header to provide a hint to clients as to how often they should be checking for new content. Use the <a href=\"https:\/\/www.slightfuture.com\/devel\/wordpress-cache-control-plugin\">Cache-Control plugin<\/a> to configure this header.<\/p><\/dd>\n<dt>Which feed formats are supported?<\/dt>\n<dd><p>Atom, RSS, RDF, and anything else WordPress core classifies as a \u201cfeed format\u201d.<\/p><\/dd>\n<dt>Which feed readers support feed delta updates?<\/dt>\n<dd><p>Quite a few including <a href=\"https:\/\/feedhq.org\/\">FeedHQ<\/a>, <a href=\"https:\/\/www.feednotifier.com\/\">Feed Notifier<\/a>, Internet Explorer, <a href=\"https:\/\/jarr.info\/\">Jarr<\/a>, <a href=\"https:\/\/lzone.de\/liferea\/\">Liferea<\/a>, Microsoft Outlook, <a href=\"https:\/\/miniflux.net\/\">Miniflux<\/a>, <a href=\"https:\/\/newsblur.com\/\">Newsblur<\/a>, <a href=\"http:\/\/newsbeuter.org\">Newsbeuter<\/a>, <a href=\"http:\/\/www.vienna-rss.org\/\">Vienna<\/a>, and others. Please make sure you\u2019re running an updated version of your feed reader.<\/p><\/dd>\n<dt>How do I test my new HTTP headers? What about caching?<\/dt>\n<dd><p>You can use your web browser\u2019s developer tools, or a web utility for inspecting headers like <a href=\"https:\/\/redbot.org\/\">Redbot<\/a> to request your public feed address. Be sure to include a <code>A-IM: feed<\/code> header as well as a <code>If-Modified-Since: &lt;rfc-1123-date&gt;<\/code> header.<\/p>\n\n<p>The plugin will work with any web browser, server-side caching systems, content distribution system, web performance boosters, and other caching infrastructure that <em>correctly<\/em> implements HTTP caching in a standards compliant way. If your infrastructure supports the <code>Cache-Control:<\/code> and <code>Vary:<\/code> headers along with at least one of <code>Last-Modified:<\/code> or <code>ETag:<\/code> you shouldn\u2019t have any trouble.<\/p><\/dd>\n<dt>Are comment feeds supported?<\/dt>\n<dd><p>Not as of version 0.9, but this may be supported in the future. Only post feeds (main feed, and feeds for sections, tags, and author pages) is supported.<\/p><\/dd>\n<dt>Will feed readers that don\u2019t support delta updates to feeds be adversely affected?<\/dt>\n<dd><p>Not at all. Quite the opposite! This plugin improves on WordPress\u2019 cache handling for feed delta updates and regular feeds alike. The biggest gains are with feed reader clients that support delta updates of feeds, but other feed reader clients will get fewer \u201cfalse positives\u201d (meaning they download the entire feed even when there is no new posts) when using this plugin.<\/p><\/dd>\n<dt>Will this plugin badly affect my WordPress performance?<\/dt>\n<dd><p>Quite the contrary! It\u2019s know to have positive effects on PHP processing time compared to the WordPress core feed delivery and feed caching system. As the plugin delivers smaller feeds at a faster rate, it can even free up server resources for other \u2014 less efficiently delivered \u2014 types of content.<\/p><\/dd>\n<dt>Will this plugin work with my other WordPress plugins?<\/dt>\n<dd><p>It should, but I can\u2019t test all the tens of thousands of plugins in the WordPress Plugin Directory.<\/p><\/dd>\n<dt>I\u2019ve got more questions!<\/dt>\n<dd><p>Wow. Thank you for your interest in this plugin! Be sure to check the list of known issues, and the support forum as well. The plugin developer is happy to answer your questions in the forum.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Corrected another problem with the Vary header.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Renamed the plugin.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Corrected a problem with the Vary header.<\/li>\n<\/ul>\n\n<h4>0.9<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>\n\n<h4>0.8<\/h4>\n\n<ul>\n<li>Here be dragons.<\/li>\n<\/ul>","raw_excerpt":"Adds support for syndication feed delta updates for Atom\/RSS to and reduce the amount of bandwidth used by feeds.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/51837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=51837"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/geekysoft"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=51837"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=51837"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=51837"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=51837"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=51837"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=51837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}