WordPress Feeds

Introduction to Feeds

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 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>

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="http://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

First published

Last updated