Google’s FeedBurner service has long been one of the hottest tools for enhancing, publishing and monitoring your blog’s RSS feeds. Nevertheless, despite it’s usefulness, many bloggers require more control over their feeds, want different monetizing options, and aren’t exactly comfortable sharing their feed branding with Google. What most bloggers do not realize is that you can use plugins such as Echo RSS to build your own FeedBurner alternative that is much more powerful, is completely configurable, and gives you absolute control over your feeds. Best of all, it is surprisingly simple and you can do it all in WordPress, a platform so many bloggers are already familiar with.
At CodeRevolution.ro, like millions of other bloggers, we have used FeedBurner to power our RSS feeds. WordPress alone provides few RSS feed configuration options whereas FeedBurner gives you configurability, in-depth stats, as well as a reliable delivery infrastructure. The drawback is that you can never really get rid of the FeedBurner branding all over your feeds. And while on the surface it seems there are many things you can configure in FeedBurner, when you really start digging into it you find that there are also many limitations, such as not being able to merge different feeds, exclude certain categories, or create separate feeds for items such as podcasts to be included in the iTunes directory.
One day while trying to address some FeedBurner configuration issues, we realized that we could have all the benefits of FeedBurner–and so much more–using our own Echo RSS product. As we got playing around with things we were surprised how easy it was to get it all set up and running. Best of all, we are now the ones in control of all our RSS feeds and can manage them all in one central location, including our private feeds.
One of the reasons we used FeedBurner in the past was to offload the task of serving RSS feeds from our main web site so we decided to start by setting up a dedicated cloud server for our RSS feeds. This gives us high availability and ample power for publishing feeds and separates our feed stats from our main site stats.
After setting up a fresh WordPress install it was necessary for us to determine what would be different between a regular blog and a feed proxy blog:
- The site itself should be mostly transparent; all URLs should point to the original content.
- The site should be completely read-only with no user interaction on the site itself.
- Users should be able to view one particular feed or an aggregate of all feeds.
- Category and tag base names clutter the URL and should be removed.
- Every URL on the entire site should return a RSS feed.
- We only need to keep posts on the site for a limited time after which they should be purged.
The first step is to give the site a name and description on the General Settings admin page because WordPress will use these in all of the feed headers. The Site Title is the title that will be shown in feed readers and the Tagline is the description that will appear if the feed reader or aggregator supports this. While on the General Settings page in WordPress, also uncheck the Anyone can register option as the feeds site will not allow user interaction. It is also important to set the correct time zone because feed readers depend on this to determine the correct post times.
On the WordPress Discussion Settings admin page there are three important settings that must be unchecked: Attempt to notify any blogs linked to from the article, Allow link notifications from other blogs and Allow people to post comments on new articles. Unchecking these three options will eliminate all interaction with the feeds site. Since these three are disabled, none of the other options on the Discussion Settings are applicable and can be left as they are. Because we are not allowing any comments, we are also able to delete the Akismet plugin.
The only other change necessary with the basic settings is to adjust the default thumbnail size on the Media settings page to something better suited for RSS feeds. In our case we set the thumbnail size to 90×120 pixels.
Many of the plugins you would normally install on a WordPress blog are not necessary with a feed proxy blog. We don’t need sitemaps because those will be handled on the source sites. SEO plugins and plugins that modify meta headers are not necessary because the site will never produce any HTML content. However, a caching plugin such as WP Super Cache or W3 Total Cache is an important addition and is an excellent way to supercharge your feed performance. There are a few other plugins we chose to add to our site for specific features that we explain later in this tutorial.
The site layout makes a big difference in the usability and presentation of your feeds. One of the biggest drawbacks with FeedBurner is that you must create a separate feed for each feed you want published, including comments. It is not uncommon for a large site to have multiple FeedBurner feeds to handle various types of content. But with our WordPress FeedBurner clone we can set up complex hierarchies of categories, each with their own unique feed. Moreover, WordPress allows to view feeds by category, tag, author, date, or search results. Through careful planning of your categories, you can build a very intelligent structure to meet just about any requirement.
What makes this possible is that parent categories contain all the items of the child categories. A larger company with many different feeds could create parent categories such as support, marketing, news, products, podcasts, blogs, etc. and have subcategories for more specific feeds. Furthermore, since you can assign items to multiple categories, you can easily create unique views for your content. To take it one step further, you could use WordPress in multisite mode to create an even more complex hierarchy of separate distinct hierarchies or you could make use of custom taxonomies to allow even more advanced filtering.
Building the Theme
The next step is to transform this from a regular blog to an RSS feed blog. On our own site our first thought was to use a theme that mimicked FeedBurner’s BrowerFriendly view. We found the Gray Lines theme using the Blubrry Subscribe Sidebar plugin produced an excellent HTML view of our RSS feeds. But then we got thinking that we already have a HTML representation of our feeds on our main sites, why do we need another? There was a time when FeedBurner’s BrowserFriendly feature was a necessary and cool alternative to viewing the feed’s raw XML , but nowadays web browsers already give us an HTML view of RSS feeds that users are very familiar with. Creating our own HTML view could be confusing and doesn’t give the user the consistent browser view they are accustomed to. So we ditched the theme and decided to go with straight RSS feeds.
Building a theme for RSS feeds was surprisingly simple. All it takes is two files and a few lines of code. You need to create a new folder in the wp-content/themes directory and create two new files, one file named style.css that allows WordPress to recognize the theme, and a second file index.php that redirects everything to the RSS feed template.
The contents of these files are very basic:
<?php load_template( ABSPATH . WPINC . ‘/feed-rss2.php’ );
/* Theme Name: Echo RSS Theme Author: CodeRevolution */
Once you activate this theme, those two files turn every page of your blog into an RSS feed, including category archives, date archives, or even searches. For example, to get an RSS feed of all posts that contain keyword WordPress, you can use this URL:
Populating the Feeds
With our site set up, we need to get the content of our other feeds into the feed proxy blog. In our case we are obviously using our own Echo RSS product but this could be accomplished to some extent with just about any free or paid autoblogging plugin. Autoblogging plugins allow you to take RSS feeds and add each item as a post in your blog.
The first step is to create a new feed for each source you want to include and assigning them to the appropriate category. In the Echo RSS feed settings we selected the option to include the original author and add that author to our blog if it isn’t already there.
Because we want to include the entire post contents in each of our feeds, we changed the post template for each feed to simply %content% which will include the entire feed contents without any changes to formatting. The only other thing we needed to change is on the Echo RSS Settings page checking the option to allow feeds from our own domain, which Echo RSS will by default exclude.
Echo RSS will create a local post for each item in the feed and normally clicking on the feed title will take you to that post. However, in this case we want the permalink to point to the original article, wherever it may be.
Initially, after adding all the feeds you may want to process them once manually to populate the blog. After that you can process the feeds using the built-in pseudo cron feature or using an external cron scheduler.
Note that what we are doing is creating a second copy of all our content by creating new posts on our feeds proxy site. Since the only purpose of this site is to serve as a proxy, we only need to keep the posts around for a limited time. For that reason you may want to install a plugin to automatically delete old posts. Since we are providing the ability to perform searches on our feeds, we chose to keep posts around for a year before deleting them, but that length of time largely depends on the size of your feeds and your own particular needs.
Enhancing the Feeds
RSS feeds in WordPress are very basic and by default there is not much you can do to personalize or customize them. However, there are many plugins available that you can use to enhance the content of your feeds.
One thing that WordPress lacks is the ability to add images to the feed header. This image is an important branding opportunity and adds a more professional look to your feeds. Fortunately, there are many plugins available to add this image, one of which is Add Image Header. After installing and activating this plugin, you simply go to the settings page, add your image URL and you are all set.
Monitoring Feed Stats
Adding Some Flare
Another popular FeedBurner feature is the ability to add FeedFlares at the end of each post. With WordPress we can accomplish the same thing plus have total control over the configuration. Using the Echo RSS post templates you can insert anything you want before or after each feed item. There are also many plugins for customizing your feeds and adding content to each item.
Not only can you add flares, you can also insert your own advertisements using one of the many RSS advertising services such as AdSense, or your own custom ads. But you aren’t limited there. Anything you can accomplish with a FeedFlare you can do in WordPress with the help of a plugin or some basic HTML knowledge.
Now that your feed proxy site is up and running, you need to redirect all the original feed URLs to this site. There are many ways to redirect your feeds to other sites. In our case we chose to use Hetjens Feed Redirect, which allows you to separately set the main feeds and comment feeds URLs for FeedBurner. Of course we’re not redirecting to FeedBurner but it still works for our situation. Instead of redirecting our feeds directly to our feeds site we instead chose to redirect our feeds to a custom page, where our visitors can choose from different subscription options and even create their own custom keyword feed.
And Now It Gets Fun
As we explored the thousands of WordPress plugins available to us, we realized that the power and possibilities here are endless to customize, optimize, and monetize your feed. You can add push features to your feeds using Pubsubhubbub or rssCloud, integrate with AWeber or MailChimp, add a JSON feed, include post attachments using Media RSS, create private feeds, align RSS images, Add a feeds stylesheet. As you can see, with thousands of feed-related plugins, the possibilities are endless.
With the power of WordPress, the Echo RSS plugin, and an assortment of free plugins you can build a feed proxy site that blows away FeedBurner in features and flexibility, plus keeps you in complete control. No more touting the FeedBurner brand all over your feeds, they are all your own to brand, monetize, and promote.