Introduction to Feeds
A feed is a function of special software that allows feedreaders to access a site, automatically looking for new content and then posting the information about new content and updates to another site. This provides a way for users to keep up with the latest and hottest information posted on different blogging sites.
There are several different kinds of feeds, read by different feedreaders. Some feeds include RSS (alternately defined as “Rich Site Summary” or “Really Simple Syndication”), Atom or RDF files.
WordPress Built-in Feeds
By default, WordPress comes with various feeds. They are generated by template tag for bloginfo() for each type of feed and are typically listed in the sidebar and/or footer of most WordPress Themes. They look like this:
URL for RDF/RSS 1.0 feed
<?php bloginfo('rdf_url'); ?>
URL for RSS 0.92 feed
<?php bloginfo('rss_url'); ?>
URL for RSS 2.0 feed
<?php bloginfo('rss2_url'); ?>
URL for Atom feed
<?php bloginfo('atom_url'); ?>
URL for comments RSS 2.0 feed
<?php bloginfo('comments_rss2_url'); ?>
The first four feeds display recent updates and changes to your site’s content for the different feedreaders. Of these, the RSS feeds are the most well known. The last feed example is used by RSS 2.0 feedreaders and does not show your site’s content. It only shows the comments made on your site.
To track the comments on a specific post, the post_comments_feed_link() template tag is used on single post pages like this:
<?php post_comments_feed_link('RSS 2.0'); ?>
There are ways to modify these feeds, and these are covered in the article on Customizing Feeds.
Finding Your Feed URL
There are times when you want to tell someone your site’s feed address or URL, or you need it to submit it to search engines and directories, many of which now accept feed URL submissions. There are four possible URLs for each of your feeds. Any of these will work.
http://example.com/?feed=rss http://example.com/?feed=rss2 http://example.com/?feed=rdf http://example.com/?feed=atom
If you are using custom permalinks, you should be able to reach them through this usage:
http://example.com/feed/ http://example.com/feed/rss/ http://example.com/feed/rss2/ http://example.com/feed/rdf/ http://example.com/feed/atom/
Comments
Your site has feeds for all comments on the site, and each post has its own comment feed.
Site comment feed
Permalink format:
http://example.com/comments/feed/
Default format:
http://example.com/?feed=comments-rss2
Post-specific comment feed
Permalink format:
http://example.com/post-name/feed/
Default format:
http://example.com/?p=33&feed=rss2
Categories and Tags
You can also provide feeds to only specific categories or tags on your site by adding the following to the end of the link:
http://www.example.com/?cat=42&feed=rss2 http://www.example.com/?tag=tagname&feed=rss2 http://www.example.com/category/categoryname/feed http://www.example.com/tag/tagname/feed
You can include posts from one of multiple categories or tags in a feed by comma-separating their values. For example:
http://www.example.com/?cat=42,43&feed=rss2 http://www.example.com/?tag=tag1,tag2&feed=rss2 http://www.example.com/category/cat1,cat2/feed
You can include posts from all of multiple categories or tags in a feed by adding to the end of the link. For example:
http://www.example.com/category/cat1+cat2/feed http://www.example.com/tag/tag1+tag2/feed
You can exclude categories from the feed by using something like this:
http://www.example.com/?cat=-123&feed=rss2
Older versions of WordPress used a format such as but this has been deprecated in newer versions.
http://example.com/wp-rss2.php?cat=42
Authors
Every author has an RSS feed for their posts. Here is the format:
http://example.com/author/authorname/feed/
Search
Search results can also have their own feed. Here is the format:
http://example.com/?s=searchterm&feed=rss2
Adding Feeds
Not all WordPress Themes feature all of the RSS Feed types that are available through WordPress. To add a feed to your site, find the location of where the other feeds are, typically in your sidebar.php or footer.php template files of your Theme. Then add one of the tags listed above to the list, like this example:
<ul class="feeds"> <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><?php _e('<abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li> <li><a href="<?php bloginfo('atom_url'); ?>" title="<?php _e('Syndicate this site using Atom'); ?>"><?php _e('Atom'); ?></a></li> <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php _e('The latest comments to all posts in RSS'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li> </ul>
Adding Graphics to Feed Links
Many people like to have a graphic representing the feed instead of words. There are now standards for these graphics or “buttons”, but you can make your own to match the look and colors on your site.
To add a graphic to your feed link, simply wrap the link around the graphic such as:
<a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><img src="https://www.mozilla.org/images/feed-icon-14x14.png" alt="RSS Feed" title="RSS Feed" /></a>
Changing Addresses
If you are currently using other webblog software and are changing to WordPress, or are moving your weblog to a new location, you can “forward” RSS readers to your new RSS feeds using file rewrites and redirects in your .htaccess file.
Edit the .htaccess file in your root folder; if no file exists, create one.
Here is an example for a b2 feed:
RewriteRule ^b2rss2.php(.*)? /wordpress/?feed=rss2 [QSA]
Here is an example for MovableType Users:
RewriteRule ^index.xml(.*)? /wordpress/?feed=rss2 [QSA]
Feed Director provides rewrite rules for common feed filenames used by other blogging platforms, such as index.xml, index.rdf, rss.xml, rss2.xml, atom.xml, *.xml, via an easy-to-use “install it and forget it” plugin.
RSS feed time and date format
WordPress adheres to the RSS specifications. This means that the time and date format will NOT use your blog time/date format as set in your settings, instead it uses the time and date format from the RFC822 specification. This looks for example like this: Sun, 06 Sep 2009 16:10:34 +0000
Note: The time/date format of feed should NOT be localized since the the current RSS specifications are referring to RFC822 specification which specifies English as a default. This implies that every RSS consumer should take care of translating time/date according to its locale.
Feed Errors in Browsers
A feed is a stream of data meant to be interpreted by a feed reader, like NewsBlur or RSSOwl.
As of 2019, no major browsers have the ability to display feeds without third-party add-ons or extensions. Users of these browsers will notice a “This XML file does not appear to have any style information associated with it. The document tree is shown below.” error followed by the raw feed, or a more helpful notice that a feed reader add-on or extension must be installed.
More Information and Resources
- Customizing Feeds
- How to setup and create category RSS feeds
- Complete reference for determining your various WordPress feed URLs
- How to add an image to your RSS feed in WordPress 2.0 and above
- Work with RSS in WordPress site
- How to add images to RSS and Atom feeds
- Add RSS feed link icons to WordPress categories
- Using FeedBurner with WordPress
- Changing feed url with .htaccess
- Redirect WordPress Feeds to Feedburner without a plugin
- Feed Icons provides official RSS icons in many formats (AI, EPS, SVG, PSD, PDF, PNG, JPG, GIF).
- WP RSS Aggregator an RSS aggregator/import plugin for WordPress
- Wikipedia – RSS an overview on RSS