WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Difference between revisions of "WordPress Feeds"

(Added tag feed URL; added Author and Search feed URLs)
m (Finding Your Feed URL: updated to remove deprecated feed URLs)
Line 35: Line 35:
   
 
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.
 
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.
 
<pre>http://example.com/wp-rss.php
 
http://example.com/wp-rss2.php
 
http://example.com/wp-rdf.php
 
http://example.com/wp-atom.php</pre>
 
 
Or you can access them like this:
 
   
 
<pre>http://example.com/?feed=rss
 
<pre>http://example.com/?feed=rss

Revision as of 23:45, 3 June 2010

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 comments_rss_link() template tag is used on single post pages like this:

<?php comments_rss_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=commentsrss2

Post-specific comment feed

Permalink format:

http://example.com/post-name/feed/

Default format:

http://example.com/?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&amp;feed=rss2

or

http://www.example.com/?tag=tagname&amp;feed=rss2

or

http://example.com/category/categoryname/feed

or

http://example.com/tag/tagname/feed

Older versions of Wordpress used a format such as

http://example.com/wp-rss2.php?cat=42

but this has been deprecated in newer versions.

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:

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


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. rssfeed.gif

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.

More Information and Resources