What it takes to create an RSS Feed
Let’s first look at the XML code that makes up a feed. For the purposes of keeping the article from being thirty pages long, I will use examples coded from RSS 2.0 for this tutorial. RSS has its own set of unique XML tags. You need 3 basic pieces of information to enter into an RSS feed: Title, Description, and Link. In case you’re wondering, your Titles and Descriptions don’t have to match the meta tags from your HTML files.
Let’s say you have a website that is all about hermit crabs, and you have written an article on the growth of hermit crabs. You could have something like this:
<title> The growth cycles of hermit crabs</title>
<description> Useful tips on how to tell when your hermit crab is ready to molt and grow, as well as how to choose new shells for them to grow into.</description>
Now, we place this information between <item> and </item> tags, and you have your basic RSS feed information.
We will also have to define the RSS feed’s channel. This basically summarizes what the RSS feed is about. There can of course be several channels in your RSS feed, but for the purpose of KISS (keeping it simple, stupid), I’m only going to demonstrate a single channel. A channel consist of the same information as an item might, so the channel information looks identical to the <item> information, except that we substitute the <item> and </item> tags with <channel> and </channel> tags. A channel must also contain at least one feed item.
Besides what I just mentioned, we should also let the RSS aggregators know what version our feed is in, so we need to have an opening tag and a closing tag, so that our feed now looks like this:
<title>All About Hermit Crabs</title>
<description>A reference guide about how to care for hermit crabs, what they eat, what their social habits are, and what symptoms of illness to look for.</description>
<title> The growth cycles of hermit crabs</title>
<description> Useful tips on how to tell when your hermit crab is ready to molt, as well as how to choose new shells for them to grow into.</description>
This is an example of a simple RSS feed. With RSS, there are all sorts of different tags you can add into your feed, like images, what language the feed is in, copyright information, and the author’s email address, but be aware that not all aggregators will support all features you might add to your feed.
You can also create your RSS feed items directly in your HTML files. Create an unordered list, with a span class equaling “rss:item”. Add the <span class=”rss:item”> and </span> tags for every headline that you want to include in the RSS feed. For example:
The growth cycles of hermit crabs</a>
Here are some useful tips on how to tell when your hermit crab is ready to molt, as well as how to choose new shells for them to grow into.</span>
For an XML sitemap, the format is a little different. First, we should look at the tags that Google uses for their sitemap syntax. Here is an example sitemap index.
<?xml version=”1.0″ encoding=”UTF-8″?>
This is a sitemap index that tells Googlebot where to look for the sitemap(s). This is not necessary if you only have one sitemap. However, notice there are two sitemaps listed here. One is for regular hermit crab information, and the other is for hermit crab products. This is a good idea if you have two types of URLs to have indexed, such as articles and news, and products. One could even go so far as to have another sitemap here, hypothetically titled “hermitcrabcategories.xml” to get the product categories indexed. The reason this is a good idea is that most individual products and categories are keyword rich, and you know SEO’s love keyword rich content.
“Note: A Sitemap index file can only specify Sitemaps that are found on the same site as the Sitemap index file.”*
What these tags mean:
- The first two lines is the protocol information Google uses for an XML sitemap. The first line tells it what version of XML is being used, and tells Google that it is UTF-8 encoded. Google sitemaps must be UTF-8 encoded.
- The second line indicates the schema, or structure, used. The <sitemapindex> and </sitemapindex> tags “ encapsulates the file and references the current protocol standard,”* indicating that it is a sitemap index, and not the sitemap itself. These tags are parent tags of the set.
- The <loc> and </loc> tags are similar to our <link> and </link> tags, but notice the URL is at the beginning of the set. This is because it is the most important part of the set. This is a child tag of the <sitemapindex> and </sitemapindex> tags.
Let’s look at the XML syntax and definitions of the sitemap itself. This is what an actual sitemap feed might look like:
<?xml version=”1.0″ encoding=”UTF-8″?>
The XML syntax and definitions:
- The first two lines are the same as in the sitemap index, with the exception of the <urlset> tag, as defined in the next statement.
- The <urlset> and </urlset> tags “ encapsulates the file and references the current protocol standard.”* These are the parent tags for the set.
- The <url> and </url> tags are similar to our <item> and </item> tags of our regular RSS feed. They group the information to identify one URL and its information, into a set. These are child tags, as are the rest of tags included within the parent <urlset> and </urlset> tags.
- The <loc> and </loc> tags are similar to our <link> and </link> tags, but notice the URL is at the beginning of the set. This is because it is the most important part of the set.
- The <lastmod> and </lastmod> tags indicate when the page was last modified. This tag is optional.
- The <changefreq> and </changefreq> tags tell Googlebot how often it should come back to those pages and crawl them for changes in order to update its index. This tag is optional.
- Last are the <priority> and </priority> tags. This is a rating scale, from 0.0 to 1.0 that indicates to the spider how important this page is in the relative scheme of things in regards to the entire website. This tag is optional.
For more information on what these tags mean, visit Google’s Sitemap Help Section.
Google is very specific on how a sitemap should be structured. Once your sitemap is done, be sure to validate it.
Now, you can create your RSS feeds or sitemaps by hand, like I did initially, but there are many tools available on the internet to make the job easier. The next section will look at some of these a little closer.
- Aggregators – Aggregator is the technical name for an RSS reader. There are many free aggregates available, like RSSReader, FeedDemon, Pluck, and FeedReader. A simple search for “free aggregator” or “free RSS reader” will point you in the right direction.
- Desktop RSS readers – FeedDemon is a desktop client that retrieves and organizes RSS feeds, including podcasts, newspaper displays, and integrated with popular RSS services like Flickr, Feedster, and NewsGator.
- FeedForAll – Easily create RSS feeds for your articles, news, newsletters, and so much more. Simply create your title, description, and your link, and the program does the rest for you, and can even upload your RSS feed to your server. FeedForAll has invaluable information on just about any RSS topic you’d like, including RSS resources, articles, tutorials, tools, directories, and even graphics. They have also created the next tool listed in this article.
- You can also extract RSS from your XHTML files. We mentioned earlier on how to use the <span class=”rss:item:> and </span> tags to plug RSS directly into your web page. You can use an HTML to RSS scraper tool; or the WC3 has created a way to convert your XHTML content into RSS.
- RSS promotion services – These simple sites allow you to input the link of your XML file, and it will submit it to many various syndicated sites for you. A good example of an RSS promotion site is YourFeeds.com.
Here are the rest of the utilities available:
- Podcast Creation Tools – In order to publish a podcast feed, you need to record an audio file, and then use a tool to convert it to RSS. There are a few podcast tools out there that do both of them for you in one step, while there are some that will simply convert MP3 files, too. You can find a list of these on PodcastingNews.com.
- Podcast Receivers – Invaluable tools for listening to podcasts. Some RSS readers are incorporating podcast reception directly into their programs. These can be anything from desktop applications to iPods, which have become very popular.
- Google Sitemap generators – Google lists out a few third party sitemap generators on their site, even telling you in what language they are in; if they are free, or you have to pay for them; and which you can download, and which are used online. You could start by checking into some of these. NucleusCMS Google Sitemap is a Linux-based tool to help you generate your Google sitemaps, without having to have full knowledge of CSS. This is a very limited program, however, and relies upon your site’s config.php file, which some may not have access to on their web host. SitemapsPal and XML Sitemaps are online tools that generate a sitemap once the URL of the site to be mapped is entered. There is also a Windows-based program called gSiteCrawler that will generate a sitemap for you as well. It is a free program, and it works very well. It allows you to choose which pages you would like indexed, ban URLs, and their priority rating, and the frequency the page is updated. It also can store many projects, and keep them all separate. Very useful!
- RSS Validation Services – It is very important that your RSS feed be presented in the correct syntax. One of the best places to validate your RSS feed is w3.org. The W3C sets the standards for XML and RSS, so it makes sense that any site that accepts syndicated content should abide by those standards. Another good one is FeedValidator.org.
- Forum Syndication – Many popular forums, like phpBB or vBulletin have modification scripts available to syndicate forum posts. You should look in your forum’s documentation, or on their support website for more information on how to do this, since every forum script works differently.
Now you have your feed ready to go. Now what? You should submit your RSS feeds to as many relevant RSS directories as possible. However, before you do, it is vital to validate your feed first. There is nothing worse than doing a lot of work syndicating your site, then submitting your syndication to hundreds of directories, only to find out that your accomplishment is not a valid RSS feed. The best place to validate is w3.org. Many syndication directories have their own validators, which are nice features, but you may be able to use a site that offers RSS promotion, like YourFeeds.com, without having to validate your feed each time, as long as you have validated your feed on w3.org’s site, as mentioned above. Since w3 sets the standards for XML and RSS, you will have a great chance of not needing any other validation tools. Another good place to validate your feed is XML.com
Probably the most popular is Syndic8. Synidic8 offers thousands of RSS feeds, and allows you to publish unlimited feeds.
When promoting your feeds, make sure that your channel link tags offer URLs to your site, or the specific part of the site you are promoting. This allows you to take advantage of the back-linking possibilities that RSS has to offer. I know this may seem like a no-brainer, but many times I’ve pointed out to a client a link they’ve put into the channel tags that link to another site instead of their own. My suggestion is that they use the channel tags for their own site promotion, and then place the link in question into an item.
- If you have several items in your feed, newer information should be at the top, as these will get crawled first, or read first by your subscribers.
- Allow subscribers to access archived content. It may be too much, if not impossible, to keep all of your syndicated content in one XML file. You may have to remove some items when you add new content to keep downloads small, and bandwidth to a minimum. Use a link to archived content in your current feed. Keeping those older items available will allow those people with links to your site for a particular news story or article to avoid dead links.
- Keep it as simple as possible. Most effective RSS feeds have no styling information, and while it’s fine to add some styling to the feed, you must take care in how you do it, as to not detract from the RSS feed’s search marketing value.
- Always validate your syntax before submitting your feed.
- Use the RSS and XML icons on your site. Most people with RSS readers recognize them, and would be able to subscribe to your content easily.
- Keep promoting your feeds regularly. This will keep your feeds active in RSS directories.
- Keep your feeds updated. If people have taken the time and made the effort to subscribe to your feed, then they expect to have new content delivered to their aggregators and other RSS receivers frequently.
Whether you’re writing in a blog, hot-wiring into Google, keeping your customers and clients up to date on products, services, and events, or simply looking for an alternative to email for your corporate communications, RSS is for everyone. In the world of search marketing, RSS is fast becoming an essential part of optimization, and it’s cheap, easy, and very effective. Don’t let this rapidly growing resource pass you by without offering it to your clients, or using it yourself. You’d be losing a valuable tool if you disregard the capacity RSS has for the internet, and every element of technological advancement today. It’s not too late to start implementing these things right now.
*Definitions in quotes are referenced directly from Google’s Sitemap Help pages.