2.6. Syndication Feeds
As you may know, syndication is a simple XML-based mechanism for publishing content. Syndication feeds come in two predominant flavors: RSS and Atom. From the viewpoint of publicizing your web site, you don't need to worry about the differences between them.
Content is syndicated by encoding it within an RSS or Atom feed. This feed canand usually doesinclude links to the site originating the content.
Subscribers can view syndication feeds in all different kinds of software, including web browsers, email clients, standalone programs, and on HTML web pages. There's no mechanism built into syndication to pay for subscriptions, but once you are subscribed your feed display is automatically updated when a new item is added to the feed. It's up to the syndication-viewing software to decide how to render feeds, but software that can display web pages often shows the underlying pages to which the feed links.
There's some controversy about how publishers can best use syndication feeds, since it's not obvious how to make money from them. (Google has introduced a program allowing publishers to insert contextual ads within syndication feeds, but this is a controversial step.)
However, syndication feeds work well as a device for driving traffic to a site because:
In other words, many savvy web publishers use syndication feeds as a kind of teaser for their real web content.
2.6.1. Creating Feeds
If you maintain a blog, it's likely that you are already publishing a syndication feed (whether or not you are aware of it). Check your blog templates to see if there is a template for an index.xml, index.rdf, or atom.xml file. If so, have a look at the root directory for your blog. Voila! You'll probably find a syndication feed. You may want to tweak the template tags to make sure that you are syndicating the content you want, and only the content you want.
If you don't have a blog feed, or want to publish content other than the entries of your blog, it's easy to construct an XML syndication feed by hand using a text editor. For example, here's a portion of an RSS syndication feed I created by hand:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Featured Feed</title> <link>http://www.feedly.com/</link> <description>Featured feeds - Editor choice best of the best syndication feeds that are fun, interesting, and useful from Syndication Viewer, www.googleplexblog.com/rss_view.php, rotated regularly along with a Web viewer for HTML display.</description> <language>en-us</language> <copyright>Feedly.com. All rights reserved.</copyright> <managingEditor>email@example.com</managingEditor> <generator>FeedEdit</generator> <ttl>60</ttl> <item> <title>Movers and Shakers</title> <link>http://www.feedly.com/index.php?feed=http://rss.alexa.com/ movers_shakers.xml</link> <description>Top sites moving radically up or down in popularity from Alexa.</description> <pubDate>Sun, 01 May 2005 20:48:15 GMT</pubDate> </item> <item> ... <item> <title>I-am-bored</title> <link>http://www.feedly.com/index.php?feed=http://www.i-am-bored.com /rss_latest.xml</link> <description>Fun and games from I-am-bored.com. </description> <pubDate>Thu, 18 Mar 2005 12:00:00 CST</pubDate> </item> </channel> </rss>
The key thing to notice about this feed is that it consists of items. You can tell because each one is wrapped in <item></item> tags. Within the item, you'll find some kind of description and/or content and a link to the full content provided by the item, as indicated by tags such as <description> and <link>.
You can see that it isn't very hard to create syndication feeds manually just by mimicking the form of the thing and adding your own data as items with links. But this will quickly get cumbersome if you are creating feeds that get updated frequently.
Fortunately, there are also a great many tools available to help you construct your own feeds. Some tools use a Wizard interface, so you don't need to know anything about coding in XML to create a syndication feed.
You'll find links to these tools and to syndication resources in general on the RSS Compendium , online at http://allrss.com/, and on O'Reilly's Xml.com site , http://www.xml.com/pub/rg/RSS_Software.
2.6.2. Telling the World About Your Feed
Once you have your syndication feed, the key to getting some bang out of it is to get it distributed. As with a web site, in the long run this requires constant addition of fresh content. You probably should not try to distribute a syndication feed until you have a minimum of a dozen entry items and can reasonably expect to add at least an item a week.
You can (and should) mark your web site with a graphic that is linked to your syndication feed. To create the graphic, you can create a button using FeedForAll 's free RSS Graphics Tool , http://www.feedforall.com/public/rss-graphic-tool.htm, or you can grab a premade button from RSS Specifications , http://www.rss-specifications.com/rss-graphics.htm.
You also need to add code into the head section of your HTML pages to let syndication viewers and aggregators automatically know about your feed. For example, if you include this code in a page, when someone visits your site using a web browser that is capable of displaying syndication, such as Firefox, it will automatically offer to subscribe to the feed.
The general form of the code to be added is:
<link rel="alternate" type="application/rss+xml" title="RSS" href="http:// www.yourdomain.com/rss.xml>
Obviously, you need to specify the actual location of your own feed when you add this code to the head section of your HTML page. For example, I maintain a syndication feed for the Googleplex Blog at http://www.braintique.com/research/mt/index.xml. The link code added to my page looks like this:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ... <title>The Googleplex Blog</title> ... <link rel="alternate" type="application/rss+xml" title="RSS" href="http:// www.braintique.com/research/mt/index.xml" /> ... </head> ...
2.6.3. Submitting Feeds
The next step is to submit your syndication feed to syndication aggregators and search engines. The RSS Compendium provides a great list of sites for submitting syndication feeds for inclusion at http://allrss.com/rsssubmission.html. The RSS Specifications site also has an extensive list of sites that maintain syndication feed databases at http://www.rss-specifications.com/rss-submission.htm.
It's a good idea to continue to submit your feeds as you add content items. Particularly if you are publishing multiple feeds, this can become an unpleasant chore. RSS Submit is a tool that automates this process. Shown in Figure 2-12, RSS Submit is available for download at http://www.dummysoftware.com/rsssubmit.html in an evaluation version or (with free updates) for $35.
Figure 2-12. RSS Submit automates the process of syndication feed submission