This article covers removing Feedburner from your WordPress Websites and setting up your own RSS Feeds with Statistics, Advertisements and Scraper Protection.
Two Methods To Removing Feedburner.
- Create a temporary Feed that will be used in Feedburner, forcing your readers to update now!
- Using a notice within your current Feeds, allowing your readers to naturally move over to your new Feed.
Sites like techNerdia, with a relatively low reader count can force readers to update the Feed URL’s now… It is not hurting me much, if any because of my size. However, for active sites with a large number of readers, an aggressive change like this will make people unhappy, so giving them a notice is a much better option.
Before We Start: Steps 1 ½ (removing plugins), step #3 and step #6 can be skipped by those not wanting to aggressively force readers to update Feed URLs OR if you use the Email Subscriptions feature within Feedburner.
Why am I removing Feedburner?
First, it’s not winning any speed points loading the external Feedburner graphic on my Website. I know it’s really nothing and I could simply not use it. But in the future I would like to show off my new feed count, and hosting it myself is a speed gain.
Secondly, I already give Google enough of my freak’in data….. And Finally, this being the real reason – I added up the time I spent on external services, checking stats or data type information, and it’s disturbingly a high number of HOURS – so my goal overall is to reduce the time spent on external services of all types.
Excuses aside; I’ve found a way to replace Feedburner, help move subscribers over to my new Feed, with statistics, including advertising, while keeping scrapers at bay, all within WordPress. And I’m saving some time by not having to visit another external service.
If you’ve setup your own WordPress Websites and can manage them yourself, then you can do this…
Starting things off is three WordPress Plugins that need to be installed. After this, you may need to shut a few off if you’re taking the aggressive route.
These plugins take care of the dirty work that Feedburner did for you. The other features, such as pinging can be taken care within WordPress and Twitter Posts can easily be done with several plugins or many services that can read your feed.
- RSS Footer: This plugin has two purposes. The first is to help stop scrapers from taking your Feeds and posting them without credit, and it’s a way to include advertisements.
- Feed Statistics: As the name suggests, it’s feed statistics. While it’s not as good as FeedBurner’s pretty stats, it does do the job.
- Redirection: Optional: This Plugin is recommended for Multisite Networks but any WP Install can use it. If your sites are setup on the WordPress Multisite Network then you’ll need the Redirection Plugin to handle 301 redirects for each unique site. Otherwise, you can use the .htaccess file in the root of your WordPress site to set up redirects. (Explained Below)
Shutting Off Plugins & Social Networks.
Not everyone needs to do these steps…. If you’re going to naturally move your readers over or if you use Feedburner’s Email Subscriptions feature then skip these steps.
- Log into Feedburner, click the Publicize Tab and shut off Ping Shot and Socialize if they’re setup.
- Shut Off Plugins that help socialize posts through your Feedburner URL.
- Shut Off Social Networks that use your Feedburner URL for posting updates
Setting Up RSS Footer
The RSS Footer Plugin is a key feature to keeping your feeds safe from scrapers or at least making sure you get credit when it happens, and offering some advertising to your readers if you like.
In the example below, the big red box can be text or an advertisement/promo, put in whatever you like. The bold text below the red box is actually more important. The purpose of not linking the Domain Name is to help stop scrapers from ripping out everything within HTML tags, thus leaving the original source to where the article can be found.
Example #1 – HTML that asks readers to Update the Feed URL. This should be used if you’re not forcing your readers to update (ie: a slow change over), perfect for sites with a large active reader base.
Thanks For Reading %%POSTLINK%% from techNerdia.com
What Example #1 Looks Like:
Thanks For Reading %%POSTLINK%% from techNerdia.com
Example #2 – Current HTML I put into my RSS Footer.
~ Visit the New techNerdia.com today ~
What Example #2 Looks Like:
~ Visit the New techNerdia.com today ~
Creating a Temporary RSS Feed
This feed is used to replace your Feed URL in Feedburner, giving the viewer a custom message to update the Feed URL, every single day, until they update. It is aggressive, but it works!
Grab the example below, name it: rss-mySite.xml “One You Modify It” FTP to your WordPress install, create a folder called xml (or whatever), then upload the file. Note: The file extension should be .xml
The example below is really 3 sections. Inside of each section is a title, description, link, and guid link that needs to be modified. The first title section is the name of the feed, the next two title sections would be the updates that are displayed. This script will re-post the same message every day.
* In the example below replace the titles, desc’s and links to match your own information. It’s not a perfect feed, but it does the job and that’s all it needs to do.
<?php echo("<?xml version="1.0" encoding="UTF-8"?\n");?> <rss version="2.0"> <channel> <title>techNerdia [UPDATE]</title> <description>Please Update Your Feed URL</description> <link>http://technerdia.com/feed</link> <lastBuildDate><?php echo date('l, j M Y');?> 00:00:01 -1600</lastBuildDate> <pubDate><?php echo date('l, j M Y');?> 00:00:01 -1600</pubDate> <item> <title>TechNerdia [UPDATE] Please Change Your Feed URL</title> <description>Please Update Your Feed URL to technerdia.com/feed <a href="http://technerdia.com/feed">http://technerdia.com/feed</a> ....then Delete The Feedburner Feed URL that is currently being used. ~ Thanks!</description> <link>http://technerdia.com/feed</link> <guid isPermaLink="false">http://technerdia.com/feed</guid> <pubDate><?php echo date('l, j M Y');?> 00:00:01 -1600</pubDate> </item> <item> <title>Questions or Problems?</title> <description>If you're having problems or have a question about the feed change or something else, simply <a href="http://technerdia.com/help">drop me an email</a>.</description> <link>http://technerdia.com/help</link> <guid isPermaLink="false">http://technerdia.com/help</guid> <pubDate><?php echo date('l, j M Y');?> 00:00:02 -1600</pubDate> </item> </channel> </rss>
Grab the directive below, and upload a .htaccess file to your /xml/ folder. This will allow the php to parse the xml, making the feed work.
AddType application/x-httpd-php .php .xml
- Now log into your Feedburner Account, select the Feed you’re going to modify, click Edit Feed at the top (next to the rss icon) – and modify the Feed URL.
- You may need to Subscribe to your feed in a Reader to view how your readers will see it.
- The message you put into your rss-mySite.xml should now display OR if you’re doing a natural update your new message should appear.
Setting Up Feed Statistics
Setting and using the Feed Statistics Plugin is rather straight forward. However, it appears I may have found a bug, which could very well relate to WordPress Multisite, either way – it’s easy to correct.
Access the Feed Menu > Feed Link – which is the default page when first opened. The end of the first line will tell you how many feed subscribers you currently have.
The issue I was having was updating the number of days and checking the first box. Every time I changed it to 30 and checked, it reset itself – even when I made the change in the DB, accessing the script reset the options.
To beat this, I made some very simple adjustments in the Plugin itself.
- FTP to your /wp-content/plugins folder and go into /wordpress-feed-statistics/ – Download the feed-statistics.php file.
- Search for two things, both are with functions called ‘update_option’
update_option("feed_statistics_track_clickthroughs", "0"); update_option("feed_statistics_expiration_days","3");
- Replace the track_clickthroughs lines in two locations.
- Replace the expiration_days change line in one location.
- Save the file and re-upload.
update_option("feed_statistics_track_clickthroughs", "1"); update_option("feed_statistics_expiration_days","30");
Changing / Setting Up Feed URL Redirects
If you currently 301 Redirect your Feeds to Feedburner you’ll need to disable the directs and point them to the root Feed URL on your site, that you put into Feedburner originally. Something like: http://technerdia.com/feed
Redirects: You have two choices basically.
- For standalone WordPress sites I recommend setting up the redirects in your root .htaccess file, this is the fastest and most reliable way to do the redirects. The examples below are the long methods to doing redirects, read this article for RewriteRules for Feedburner that can easily be changed to your own feed URL.
- For WordPress Multisites you can’t do this without sites conflicting, so I recommend using the Redirection Plugin, which works perfectly on Multisite installs.
Example 1 .htaccess files redirects – Keeping comment, category, and other post feeds while redirecting main Feed URLs into one location.
redirect 301 /wp-commentrss2.php http://your-domain.com/feed redirect 301 /wp-atom.php http://your-domain.com/feed redirect 301 /wp-rss2.php http://your-domain.com/feed redirect 301 /wp-rss.php http://your-domain.com/feed redirect 301 /feed/atom http://your-domain.com/feed redirect 301 /feed/rss2 http://your-domain.com/feed redirect 301 /feed/rss http://your-domain.com/feed redirect 301 /feed/rdf http://your-domain.com/feed redirect 301 /rss.php http://your-domain.com/feed redirect 301 /feeds http://your-domain.com/feed redirect 301 /rss http://your-domain.com/feed
Example 2 .htaccess files redirects – This redirects all Feed URLs, comment, category, archive, and post feeds into one central location. This is what I use on technerdia.com – If you add /feed to the end of this post, it will redirect you to my root feed: technerdia.com/feed
redirect 301 /wp-commentrss2.php http://your-domain.com/feed redirect 301 ^/(.*)/feed$ http://your-domain.com/feed redirect 301 /wp-atom.php http://your-domain.com/feed redirect 301 /wp-rss2.php http://your-domain.com/feed redirect 301 /wp-rss.php http://your-domain.com/feed redirect 301 /feed/atom http://your-domain.com/feed redirect 301 /feed/rss2 http://your-domain.com/feed redirect 301 /feed/rss http://your-domain.com/feed redirect 301 /feed/rdf http://your-domain.com/feed redirect 301 /htmlfeed http://your-domain.com/feed redirect 301 /comments http://your-domain.com/feed redirect 301 /rss.php http://your-domain.com/feed redirect 301 /feeds http://your-domain.com/feed redirect 301 /rss http://your-domain.com/feed
Example3: Using the above redirects in the Redirection Plugin.
/wp-commentrss2.php /feed ^/(.*)/feed$ /feed /wp-atom.php /feed /wp-rss2.php /feed /wp-rss.php /feed /feed/atom /feed /feed/rss2 /feed /feed/rss /feed /feed/rdf /feed /htmlfeed /feed /comments /feed /rss.php /feed /feeds /feed /rss /feed
Swapping Out Feed URL’s In Feedburner & Turning Off Services
Not everyone will need to do this…. If you’re just putting an update notice into your current feed and waiting for the change to happen naturally, ignore the step.
- For everyone else, you need to change the Feed URL in your Feedburner account AND shut off the extra features, like pinging.
- Log into your Feedburner account and click on the Feed in question.
- Then, click on the Publicize Tab and shut off Ping Shot and Socialize options.
- Then click the “Edit Feed Details” link at the top and change the URL, to the Temporary RSS Feed that we created in Step 3.
- Mine is set to: http://technerdia.com/search/xml/rss-tn.xml
Check Your Work!
It’s time to ensure everything is working before we proceed. Visually check your Feedburner URL in the browser to see if it has updated, then check it in a Reader by adding a new record to make sure it displays correctly. The new temporary RSS Feed Notice should appear or your RSS Footer notice to update the Feed URL.
- Repeat the same steps with your new Feed URL. Make sure the Websites updates appear and that the RSS Footer notice is showing up.
- Check Feed Statistics by clicking on the Feed Menu link > Top Feeds link option to see if Subscribers are showing up. It will take a few days for it to settle down.
Update Your Websites
Oh the tasks of tasks! It’s not just Templates it’s also Widgets.
FTP to your theme, download the entire theme, open every PHP file in a Text Editor like Notepad 2. Find & Replace (Edit > Replace or CTRL+H) your Feedburner URL with your Sites default/new Feed URL.
Do this for every template, once done upload the templates back.
- Enter your WordPress Admin > Appearance Menu > Widgets. Open your Widgets Areas and view the Widgets. Scan through each (Normally Text & PHP Widgets) and find/replace the Feedburner URL with your new Feed URL.
- Refresh Your Cache.
Update the Social Networks & Online Services
Many of us have socialized our Feedburner URLs, pinged them, posted them, done all types of stuff with the URL. So first, update your Social Networks from Step #1 1/2 then hunt down every other Social Network or Service that you may have used your Feedburner URL on and replace it with your new pimpin Feed URL.
This task may extend far past today’s duties depending on what you’ve done with your Feedburner URL.
Down The Road
I can’t think of a reason to ever delete your Feedburner feed, unless it’s fully dead. As the months roll by you should change out the notice to update the Feed URL, maybe add a Video notice in. The final update that I do, will include a self promo landing page within the Feed. If anyone happens to find it, at least I know they’ll get what I feel is important, some marketing, and information on how to update Feed URLs.
I tried to be as detailed as possible with the steps I took… This may seem like a lot of work, but really it isn’t bad. I was able to set up and swap out 10 sites Feeds in less than an hour, once you do it once, it’s a snap after that.
Have a comment? Find an error? Would you like to improve on this article?
Then shoot me some feedback! ~tribalNerd