WordPress makes it super-easy to publish your own content, and even easier to import and display content from other great sites around the Web. Just as other people are displaying and reading your feed in their apps and devices, you can use external RSS feeds to supplement and strengthen your site’s primary content.
Whether you’re displaying feeds from similar sites or aggregating news from around the world, importing feeds means taking advantage of the best that the Web has to offer. In this post, you’ll see how easy it is to grab external RSS feeds and display them anywhere on your WordPress-powered site
Why do it?
No website is an island, and with a virtually infinite assortment of content and services around the Web, there’s no reason not to take advantage of content that will benefit your readers and help improve the overall quality and content of your site. Feeding external RSS content to WordPress:
- adds relevant, useful content for your readers to enjoy
- adds relevant, targeted keywords for search-engine robots
- keep visitors on your site by giving them the content they want.
Depending on your niche, using external content opens up many possibilities. Here are some concrete examples to help illustrate some common ways RSS feeds are used to create and supplement content:
- news sites importing weather feeds to display current conditions
- sports sites importing news feeds reporting the latest sports news
- investment sites displaying current market values and stock prices.
For blogs, the possibilities are only limited by your imagination. I’ve seen some great independent sites that make excellent use of external feeds. Here are some examples:
- blogs that display their social media feeds, such as Twitter and Facebook
- bloggers with more than one website displaying posts from their other sites
- news-portal sites that aggregate the best blogging and/or web design feeds.
And the best part? WordPress makes it so easy to integrate external RSS feeds that it’s almost funny. Depending on your goals and experience with WordPress, there are several ways to go about doing it: using widgets, plugins, or manual coding. Let’s examine these different techniques and explore everything you need to import and display RSS feeds with WordPress.
Displaying feeds with the default RSS widget
Right out of the box, WordPress includes a handy RSS widget that can be used in any widgetized area on any widgetized theme. Just drag the widget to your widget area and choose your options:
As seen in the screenshot above, the default RSS widget provides several basic options, including number of feed items and which elements to display. Yes, it’s super-easy, but your customization choices are limited. As a general rule, the more stuff (e.g. post title, post date, author name, and so on) you include with each feed item, the more cluttered it tends to look.
Seriously, a linked title and post excerpt is all you really need to display, and doing so keeps things looking clean. Unfortunately, even after limiting our display options to only “title and excerpt”, the output using the default WordPress theme looks sloppy:
…and the posts just continue all the way down the sidebar. If you’re handy with CSS, adding a few rules to your
style.php may be all that’s needed to slap things into shape, but clearly more control is desired for better customization.
Displaying feeds with WordPress plugins
For more control when you’re working with external feeds, there a number of excellent plugins available. Let’s have a look at the best plugins for importing and displaying external RSS feeds. Note: all plugins have been tested/reviewed with current versions at the time of this posting, and working with the latest version of WordPress, 3.0.2.
- FeedWordPress: import feed content as posts.
- WP-o-Matic: import feed content as posts.
- RSSImport: display feed content anywhere.
A good sign of a reputable WordPress plugin is how many times it has been downloaded. So with over 300,000 downloads, FeedWordPress by Charles Johnson is definitely worth checking out. It’s an incredibly powerful, flexible plugin that makes importing and customizing feed content extremely easy. Here’s a screenshot of the Settings page:
But FeedWordPress does way more than just display external feed content on your site—it actually creates a post for each imported feed item. So, for example, if I want to back up my latest Twitter tweets, I can either create an entire tweet archive, or I can let FeedWordPress do it for me. FeedWordPress installs easily, and imports any number of feeds using the following default settings:
- Auto-updates are turned off by default; cron may be configured, or just use manual fetching.
- Auto-import and create categories, tags, and even authors (as contributors) for each feed item.
- Titles for feed items are auto-linked to the source, so there are no single-page views or comments.
Of course, all of these options may be configured to your liking using the FeedWordPress Settings page. Other useful settings enable you to mark imported posts as drafts or private, update posts to match changed feed content, and much more. To get started, check out the FeedWordPress Quick-start Guide.
Another incredible plugin for importing feed content as posts, WP-o-Matic is very similar to FeedWordPress, but with some different features and slightly easier configuration. After installing the plugin, hit the Settings page for an easy, four-step configuration process:
- Run compatibility check.
- Configure time-zone settings.
- Configure cron settings (via WebCron, crontab, unix cron, or manual fetching).
- You’re done!
After configuration, you can begin importing feeds by creating a new Campaign and setting the following options:
- feed title, slug, URL, and category
- any regex pattern-matching on key terms (optional)
- configuration of optional Custom import/post template and polling frequency
- setting discussion preferences and whether to send pingbacks
- setting whether title links should point to single-view page or content source.
In addition to importing and customizing any number of feeds, WP-o-Matic also enables image caching and provides some great import/export tools. Also worth mentioning is that WP-o-Matic doesn’t import any categories, tags, or users by default. Here’s a screenshot of the Settings page:
For importing feeds as post content, WP-o-Matic and FeedWordPress are excellent plugins that make things easy while providing much control over the configuration and customization of the entire process.
If you want to display external feeds without creating posts, the RSSImport plugin is really all you need. RSSImport enables you to import and display feeds using a shortcode, widget, or PHP template tags. And it does this using WordPress’s built-in feed-parsing functionality, via MagpieRSS (for WP 2.8+) or SimplePie (for older WP).
RSSImport makes it seriously easy to display any feed anywhere in your theme—and with massive flexibility. Here are three ways to do it with RSSImport:
- Display feeds in any widgetized area.
- Display feeds in posts using a shortcode.
- Display feed content anywhere in your theme.
Display feed content using the RSSImport widget
To display external feeds in the sidebar (or any other widgetized area), just install the plugin and visit the Widgets page. There you will find options for everything under the sun, giving you full control over many configuration options. Here is a screenshot showing a few of the widget’s many settings:
Setting things up with the widget is really just a matter of going through the options and making sure everything is exactly how you want it. Bada-boom, bada-bing, as they say.
Display feed content using a shortcode
RSSImport also makes it easy to display feed content right in your posts and pages using a shortcode. Here is the simplest example, showing the five most-recent feed items from Digging into WordPress:
[RSSImport display="5" feedurl="http://feeds2.feedburner.com/DiggingIntoWordpress"]
That works perfectly, but there are many parameters available for customization. I’ve included a more involved example, using as many parameters as possible, in the downloadable code for this post.
So with the widget, RSSImport lets us display feed content in any widgetized area. And now with the shortcode, we can display feeds right in your posts and pages. But if we still desire even more control, we can get our hands dirty and modify our theme template files directly.
Display feed content anywhere in your theme
Direct modification of theme (or child theme) template files isn’t for everyone, but for complete control over configuration and customization, you may need to go there. I’s really no big deal, though—just pick a spot in your theme and add the following line of PHP code:
Just like with the widget and shortcode methods, you can use any of the RSSImport parameters to customize feed display any way you wish. Check out RSSImport at the Plugin Directory for complete details.
Displaying Feeds with WordPress’s built-in functionality
WordPress has a built-in way of displaying feeds using the
fetch_feed function. Using the
fetch_feed function means we have one less plugin to fiddle with and maintain, so if you feel comfortable working with basic PHP and WordPress template tags, then you’ll love how easy it is to import and display external feeds. To illustrate, paste this snippet anywhere in your theme (e.g.
sidebar.php). Note that this code is also included in the download:
…and we’re done. Just specify your feed URL in the first line, and you’re up and running.
Way back when, importing feeds was a more complicated process, but over the over the years WordPress has evolved to make it extremely easy.
Here is a more complete example that shows how to grab different parts of the feed and display them as a nice definition list (this code is also included in the download):
The easiest way to understand this code is to just plop it into your theme file and look at the results on your site. Some of the highlights include:
- an error-check in line 5
- use of
$rss->get_title();to display the feed title
- use of
$item->get_permalink();to display each item’s permalink
- use of
$item->get_date();to display the post date for each item
- use of
$item->get_title();to display the title for each item
- use of
$item->get_description();to display the content of each item.
When working directly with template code, you have full control over the markup used to display your feeds. Throw in a little CSS and you’re equipped to rule the world.
SEO and other considerations
In closing, here are some things to keep in mind when working with external feeds:
- Don’t steal, get permission—if in doubt, contact the publisher of the feed and ask.
- If using WP-o-Matic, you may want to link target keywords and phrases using the regex feature.
- Give proper link credit to the source of any feed(s) you use—otherwise it’s too shady.
- Linking titles back to the source is good practice, but feel free to strip links from excerpts.
- Don’t auto-fetch feeds more than once or twice per hour. If you need to update more frequently, get permission.
Bottom line: if in doubt, get permission. And always link back to the source. Everything else is up to you!
Jeff Starr is a web developer, graphic designer and content producer with over 10 years of experience and a passion for quality and detail. Jeff is co-author of the book Digging into WordPress and strives to help people be the best they can be on the Web. Read more from Jeff at Perishable Press or hire him at Monzilla Media.
A Note from Darren: I can only really echo the call to ‘get permission’ when importing other people’s feeds. I’d also warn against simply reposting other people’s feeds in full – particularly if that’s all you do primarily on your blog. To do means you’re not really creating unique content – this isn’t great for readers but also signals to search engines that you’re just creating duplicate content (meaning you’ll never really rank too high for that content).
Keep in mind that successful blogs are built on unique and useful content. Importing feeds might seem like a quick way to generate content – but it does little to build your authority, voice or a relationship with readers.
I just started using the RSS widget to feed one of my other sites into my main blog. I LOVE IT! It streamlines wonderfully and helps boost traffic to my other site.
It’s interesting to see how RSS feeds can actually be used to enhance a website rather than create one. There is a huge trend in auto blogging at the moment and it seems this is what these plugins are being used for.
The key to using them successfully is to add them into an already established site rather than try to create one just using feeds alone, don’t get me wrong Auto-Blogs do work but work so much better when the site has authority.
I am going to look into integrating a few feeds into my website as they are a valuable feature that your visitors will enjoy – after all my whole philosophy for my blog is to provide as much helpful info as possible.
It may ultimately take your visitor away from your site as they click to the new article, but will they remember where they found this info in the first place and consider it worth a revisit. I know of several sites that link out fanatically to a huge number of resources in every post but I value this and keep going back:)
Wow, perfect timing as I was just wanting to do this with a couple of my blogs.
Thanks, Jeff, for laying it all out for little ole me and making it easy!
Well, it seems more of use for auto-blogging! Why publish other’s posts if you have own good ones. Adding sidebar widgets is fine but when you are creating posts from RSS, with permission or not, it is content duplication!
I suppose it depends on the niche the blogger has chosen to focus on, RSS posts could work very well. However, if it is an authority blog, I would strongly advice against using RSS because like Ishan and Ray have pointed out, it is content duplication plus there could be some really bad stuff there.
I agree with Ishan, if you write good content and are not a black hat SEO guy, why would you do this? Without moderating the info, there could be some bad stuff in there right?
WP has a built in RSS publishing function??? Wow! That alone was worth my read of this article. I’ll start adding that to my sites now. I can’t tell you how many times I’ve searched for a good plugin to do it – and I’ve tried many, and not been satisfied. Maybe I can customize this enough to work for my purposes.
Cheers, and thanks! – Vern
Wow, epic post. I’ve been looking for these resources for piping in RSS posts. Totally killer, thanks!
Don’t forget about SimplePie and Yahoo Pipes! I use both of these to great advantage at my site.
Great article and very helpful. I have actually used an free wordpress theme called aggregator to pull in as many RSS feeds to the homepage and make a site dedicated to RSS feeds from different sites.
@Ray I wouldnt pull in RSS content to your blog from a source you think will post content that needs to be moderated. Pulling in feeds from other sites into your sidebar and post is meant to bring value to your blog and extra reading sources for your readers.
Sweet! I’m going to use the first one on a new project. My hope is to collect articles from directories with it by particularly good authors. I don’t want to break any ethical boundaries, so this will speed things up while using articles in an appropriate way!
I’ve been going crazy trying to figure out how to make these RSS feed plugins work to connect my blogs. Thank you so much for doing this roundup, you pointed out options that I hadn’t found at all!
Hi Jeff and Everyone,
Great and powerful tip. But I’m concerned about duplicating content. How can I use these tips and avoid duplicate content?
Thanks for your post and all the info in your blog, I like it a lot.
A plugin like this one can same a person time who is just looking to add content when they cant. This way you are able build content on your own site without having the hassle of brain storming.
“Black Seo Guy “Signing Off”
I definitely see how some people could benefit from this!
I love the great detail!
This is an awesome post! So much information. I’ve been trying to improve the RSS functionality of my site for a while so I’ll definitely refer back to this in the future. Thanks!
If you put this in your actual content of your blog, that’s pretty much scraping someone elses hard work.
I don’t agree with using this kind of plugin at all.
What aspect of the post/plugin do you no agree with if you doing mind me asking?
From what I have seen, is that there are quite a few blog sites that use this avenue pretty well as long as all parties are fine with it don’t see any harm to it. Great read.
Create your own content, even if it’s c**p. At least when you go to sleep at night you know all the content on your site/blog is yours. RSS is to subscribe to, so you can stay up to date with your favorite content, not fill your blog with someone else’s content.
Just my thoughts.
If you are operating a news aggregation site on a specific niche and you only publish excerpts via RSS with a link back to the source and a “Read more” link that also goes back to the original article I don’t see the problem. I have used this on one of my sites in this way and have actually had site owners emailing me asking if I can include their sites because they know it is just another way to get people to check out their content.
I do have a problem of publishing the full content or not having a link back and credit though. That is essentially scraping.
I’m a huge proponent of wordpress. Great article. No other blog facilitators compare.
Thanks. I have been struggling to get traffic on my new food blog. I am going to try inserting a feed on my primary blog.
I agree with many of the commentators that it’s not cool to use rss feeds to fill ur own blog with other people’s contents. Quoting nice articles in the context of ur own blog content, with a link back to the reference source is still the way for me.
Showing others blogs will really get you visitors????????????
We’ve moved over to a WordPress site in the last few months and are working hard on SEO. I will get our tech guys to look into these RSS feeds.
However, I agree with some other posters that original relevant content should be the primary focus.
This would be great to interlink some of your own, related blogs or those of a group of people who are working together to cross-promote.
Thanks for the detailed info.
I’ve been looking for these resources for my RSS posts. Great article, thanks! Bookmarked :)
THANK YOU THANK YOU THANK YOU…I needed this more than you know…I love WordPress and always looking to learn more and do more with it. Awesome..I am your new biggest fan!
Great! I have been wanting to learn more about including RSS feeds on my website. I use WordPress so I’m going to take a look at these, try them out, play with them, etc. Now I need to consider which feeds from others I want to include. Thanks for the post!
You always deliver good content and tips. That’s why I subscribed a month ago.
List your five favorite blogs. Go ahead, I’ll wait.
You got that list? Good! I guarantee none of them provides content from other sites.
If your going to blog, blog! Don’t copy.
This plugin makes it way to easy to copy other people’s content. It’s an ethically iffy practice and the “Don’t Steal” advice should have been front and center.
I think you / we should separate a few things.
1. Duplicate content
What is the problem with duplicate content? Papers are full with it. So if you rewrite an article just to make it different than from the original so you can use his idea as your own it’s ok?
I don’t mind using some articles from written by other people, I DO put the author and a link back to the author’s page on EzineArticles (in this case). This works best as 1) good articles and 2) recognition where its deserved.
Same goes for your blog, if you find a good post why re-write it? Just contact the other guy and say you want to use his post as a guest post. Same goes on uni, if you don’t reference you don’t pass. I’d be happy to use RSS or Auto blog sites if I can source the article / author.
On my personal site I do write my own stuff as its what I enjoy doing from time to time. On a different (niche) site I don’t. Matter of how you use their work. I’d be happy to be duplicated “featured” if I receive credit for it.
I find the concept of using somebody else’s content on my blog a very strange one. I can understand creating a page or sidebar with links to my favorite blogs, but pulling in their content? I don’t see the point, my readers are capable of following the links and subscribing RSS themselves. I also find it not fair to use somebody’s content other then a guest blog post. This article did not convince me why would I want to do this.
Thank you for the great article. I have just started researching how to take full advantage of WP and I appreciate all of the information you have shared. I find 2 things very interesting about this post. First, you have a lot of code in the post and I thought I wouldn’t have to know code to create a great WP site. Second, I love the debate in the comments about whether RSS is appropriate to pull in content. I definitely thought I wanted to once I moved to WP, but the debate is making me think.
Best article ever. Read 100 articles before this one that tried to explain it like you did but failed.
I have super original content with broadcast quality videos that I have created and your article has allowed me to slip in a little extra info that I normally would of had to deal with manually. Very nice of you, bookmarked and going on to read this entire blog.
Been trying to use this as you described but I am having technical problems (I am pretty green on tech stuff). First I tried the widget, nothing shows up, my widget page shows that it is in my sidebar but nothing shows on my blog. Could I have the feed address wrong? I went to the blog I wanted to import, clicked on RSS and copied that address which had ‘feed’ in it? Can’t think what I am doing wrong other than that. Looked at FeedWordPress and got intimidated by the ‘FTP access from host’ required, I don’t know what that means. And I tried installing WP-o-matic but again nothing happened, its active in my pluggins but I am offered no access to setting up feeds on it, I can’t open it at all.Any suggestions?
Does anyone know how to truncate the feed? I’d like fewer characters to display but am not having much luck figuring out how to fix it.