8 Ways (Feed internet news RSS web) to Save Bandwidth on your RSS Feed
One of the things you will notice after you have published an rss feed is that it will consume a lot of the bandwidth. For example on Spendfish.com 18% of the requests are for RSS feeds. This is no wonder since feed readers may download your feed several times a day even if nothing has changed.
I’ve put together a list of ways you can save bandwidth and reduce the number of requests to your RSS feed (which also saves server processing).
1 - Use the ttl Tag
The ttl tag goes directly inside the channel tag in your RSS feed. It stands for time to live, and should hold the number of minutes a RSS reader should wait before requesting your feed again. Most blog software defaults this setting to 60, which means that your feed will be downloaded every hour by clients that obey this setting. We can increase this to 3 hours by adding the following:
180
Read more about ttl here
2 - Add a skipDays tag
The skipDays tag also goes inside the channel tag and should contain several child day tags. As you might guess this tells RSS readers to skip downloading your feed on the specified days. For example if you don’t publish content on the weekends:
Saturday Sunday
3 - Add a skipHours tag
Same idea as the skipDays tag, but allows you to specify which hours during the day your feed should not be downloaded. The hours are specified in 0-23 using GMT. For example since I’m in NY, and I typically don’t post things to my blog very early in the morning I could add:
7 8
More info about skipHours and skipDays here.
4 - Support If-Modified-Since header
Many RSS readers and clients send an If-Modified-Since header in their request to your RSS feed. This is one of the ways clients make what’s called a conditional HTTP GET, you can return a 304 Not Modified HTTP response code (and omit the request body) if the RSS feed has not changed since the date specified in the If-Modified-Since header. If the content has changed you simply return the normal 200 status code.
The header sent by the client might look something like this:
If-Modified-Since: Tue, 10 Jul 2007 21:19:55 GMT
Most clients will pass in the value you specify in the Last-Modified header, so you should make sure that header is being populated. More info here. ColdFusion If-Modified-Since example here.
5 - Support ETag and If-None-Match HTTP headers
The ETag header is a HTTP response header that you can send back in your RSS feed response. It stands for entity tag and should be a unique value representing the content, you could do a MD5 hash of your RSS feed content, or simply use a date time of the last change. Clients will send this back in a If-None-Match header, if this header contains your current ETag then you can return a 304 status code. More info about If-None-Match here.
6 - Don’t send the request body on HTTP HEAD requests
Here’s what HTTP 1.1 has to say about the HEAD method:
The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
The HEAD method should only return HTTP headers, and no request body (so you don’t need to return your entire RSS for these types of requests). You will find that several aggregators and readers will make HEAD requests for your feed (including MXNA), it’s a simple way to save some bandwidth.
7 - Limit the number of items you publish
This one is kind of obvious, but it is a very easy way to save bandwidth in your rss feed. If you are publishing 15 items or articles in your feed, if you lower that to 10 you can save a good amount of bandwidth.
8 - Publish Partial Content feeds
Another obvious way to save bandwidth - don’t publish full articles in your feed. By publishing just the first few sentances of content you can also save a good amount of bandwidth. Your readers may not be too happy about this one however.
Do you have any other techniques that work? I considered adding Cache-Control, but I wonder if that would actually take away the savings you would get from a Conditional Get?
I have to thank Charlie Arehart for giving me the idea for this blog entry. After my Working with RSS in ColdFusion presentation at cfunited he suggested that I write a blog entry on ways to reduce the bandwidth consumption of your RSS feed. After doing the research for this entry I realize that this topic could the subject of an entire presentation!
Google Wants to Control RSS?
On Scoble’s blog, Dave left the following comment which I have to highlight because it’s just so wrong.
The rest of your post is right. The big companies, including Google, are trying to take control of RSS, and it s in contradiction to the roadmap, and just plain wrong. I ve asked them to stop, and so far they ve ignored the request. Thanks for raising the issue publicly.
http://scobleizer.com/2007/07/22/feedburner-bad-for-us/#comment-808412
Google is trying to take control of RSS? Let’s get this straight. Google’s member on the RSS Advisory Board is Eric Lunt. He worked for FeedBurner. If Google didn’t buy FeedBurner, then they wouldn’t even have one member on the board. And I securely doubt membership on the RSS Advisory Board had anything to do with Google’s purchase of FeedBurner. Previously, Jason Shellen, a member of the board, was employed by Google, but that’s no longer true. Neither Eric Lunt nor Jason Shellen have been overly active on the RSS Advisory Board. Almost all the activities of the board are public and available on the website and message boards. The only private activities is nominating and voting for new members. Everybody has the ability to scour those boards and what you’ll find is that Eric and Jason have been completely passive members of the board. So, how are they trying to control RSS? They aren’t. It’s just more propaganda from Dave Winer.
Further, we have tried multiple times to include Dave Winer in the process at his own request. He’s even proposed that he be a member of the board. In every case where we’ve tried to compromise, Dave simply broke off contact when a compromise was close. Dave has never responded to any of my private emails to move the compromise forward, nor have any of the board members indicated to me that he’s sent them a private email. I’ve indicated to him that all the members have public profiles and can be contacted directly. Dave requested permission to post on the board mailing list in order to address the members. I offered to post whatever he wanted on the board mailing list and he never replied. Dave is all about propaganda and deception. He lies and somehow his posse continues to fall for his ploy. I’m losing respect for that posse.
Scoble on The RSS Advisory Board
Robert Scoble had some interesting misunderstandings to say this weekend about The RSS Advisory Board. His blog entry has already been mostly butchered with corrections as people point out his numerous misunderstandings, but there remains a few more which I’d like to address.
- First, Scoble says “the RSS Advisory board, which includes members from Cisco, Yahoo, Netscape, FeedBurner (er, Google), Microsoft, and Bloglines”. That’s entirely true. What he fails to point out is the those BigCos make up only 6 of the 14 members of the RSS Advisory Board. Less than half. That’s very deceptive and I’m disappointed that he’d try to pull that on his readers. Most of the members of the board are from small companies Rogers Cadenhead is an author of technical books and professional blogger. James Holderness works on an RSS reader called Snarfer. Meg Hourihan is a professional blogger. Loic Le Meur works for Six Apart (not a BigCo). Greg Smith works on an RSS reader called FeederReader. The board is controlled by SmallCos, not BigCos. Don’t be fooled by Scoble.
- Second, Scoble says ”this new unofficial board”. New? It’s been around since 2003. Second, it’s the official board. It was created by Dave Winer himself. Who later resigned. In fact, it was Dave that put Rogers Cadenhead, the current chair, on the board. I’ll recount the history of the board in a later post.
- Last, he says “The big companies are in charge and we ve gotta deal with any mess they get together and create for all of us.” Well, they aren’t in charge. Rogers Cadenhead is the chair of the RSS Advisory Board and he doesn’t work for a BigCo. And, as I’ve already mentioned, less than half the board is manned by employees of BigCos. In fact, the three most active members of the board, Rogers, James and myself are not employees of any BigCo.
http://scobleizer.com/2007/07/22/feedburner-bad-for-us/
All in all, this is very disappointing of Robert. I suspect that he was fed the propaganda from Dave Winer and he was likely completely misinformed of the truth.
Disclaimer: I am a member of The RSS Advisory Board. I also created a website r-mail.org, which was purchased by NBC (a BigCo). I am on temporary contract to transition the website to NBC, but I am not an employee of any company. I’m a professional RV Blogger.
RSS Profile Includes New TTL Recommendation
The draft of the RSS Profile has been updated with a new recommendation for how aggregators should implement the TTL element.
Winer/Scoble Attack!
Big controversy in RSS-land. First, Dave Winer and Robert Scoble tag team FeedBurner, then they tag team the RSS Advisory Board. This is nothing new from Winer, but I expected better of Scoble. As you can see from Scoble’s blog entry, he’s had to retract much of it as he didn’t know what he was talking about. I’ll write a few blog entries today to try and address each issues; FeedBurner and the RSS Advisory Board.
Related information and links about seo help you can find here: seo help
