Here's a guide to some fundamental feeds info for bloggers who use
Blogger / Blogspot.com blogs or just people who read Blogger/Blogspot blogs, with some explanation for beginners in the middle, a few tips and tricks on using query parameters, and a
quick reference guide at the end.
You can use this info not only in relation to your own blog, if you're a Blogger user, but also
in order to view the feeds of other Blogger blogs that you read, in a way that better suits you - e.g., knowing the tricks I'll show you, you can -
- read the last 100 posts on the Googleblog on one page, even though they're no longer in their default feed and the default feed only shows 25 posts
- check the 10 most recently updated posts on a particular Blogger blog (as opposed to the 10 most recently published posts)
- view, in summary or excerpts format only, all posts with a particular label from a particular Blogger blog
- (UPDATE:) submit sitemaps of your entire Blogger blog, including all your old posts, to the search engines to make sure they index your blog comprehensively
- ensure Feedburner always shows to your feed subscribers just your most recently published posts, not old posts you've recently updated.
Note: to view the examples quickly, just click the link in
Firefox. IE isn't so reliable for viewing feeds.
I start with some exposition for beginners.
What are feeds, news feeds or newsfeeds, web feeds, RSS feeds etc?
Same difference, mostly. See my introductory tutorial guides on
What are feeds (including Atom vs RSS); How to publish and publicise a feed, for bloggers;
How to use Feedburner; Quick start guide to using feeds with Feedburner for the impatient; and
Podcasting.
Blogger feed basics
Blogspot, custom domain, ftp. You can publish via Blogger in 2 different ways. What can be done with your Blogger feed will, for some things, depend on which method you use:
Your public feed. Your feed is only publicly accessible if (1) you've
enabled the feed in your blogs settings,
and (2) your blog is
not a
private blog (private blogs don't have public feeds). All
public Blogger blogs (whether blogspot,
custom domain or published via FTP) with enabled feeds will always have publicly accessible feeds stored at
blogger.com.
Feed content. Blogger users can have separate feeds for
posts,
comments, and
per post comments (i.e. a feed containing all comments made on one particular post only). You can even have feeds for
labels.
Feed length/type. You can
set your feeds to either Full, Short (summary), or None. (More on
full vs. short i.e. partial/excerpts/summary feeds.) This can be done separately with the
posts feed, the
comments feed and also the
per-post comment feeds.
The basic Blogger feed address URL formats are summarised in the
Blogger Help.
Posts feed address
Whichever way you publish (blogspot, custom domain or ftp), your feed will
always be accessible at:
- Atom feed
http://www.blogger.com/feeds/BLOGID/posts/default
- RSS feed
http://www.blogger.com/feeds/BLOGID/posts/default?alt=rss
- first changing
BLOGID to your blog's unique ID on Blogger, of course (
how to find out a Blogger blog's blog ID?).
This URL works even if the blog's feed has been
burned through
Feedburner.
Example -
Kirk's blog feed is at
http://www.blogger.com/feeds/20460175/posts/default; and this blog's feed can be found at
Note and tip. If you publish via ftp, the above URLs are for a separate
copy of your feed which is stored on
Blogger's servers, not the URL for feed files stored on your own server, of course. So an FTP-published blog has an accessible feed on blogger.com (as long as it's not a
private blog) as well as its own posts feed on its own domain/servers (uploaded by Blogger when publishing, as full or summary depending on the blog owner's settings).
Feed length or type. The "
default" in the URL is essential (if you try just
http://www.blogger.com/feeds/20460175/posts/ for instance, you'll get an error message). What's it for? The "
default" simply means, show this feed in whatever version has been set as the default on that Blogger blog's
feed settings - if the blog owner has set it to output a full feed, the
http://www.blogger.com/feeds/20460175/posts/default URL will show the full feed; but if the owner has set it for a short feed only, "default" shows a feed with only excerpts.
So here's the first trick. If the blog owner has set their default feed as "full", but you only want to see an excerpts feed or partial feed, you can get it by tweaking the URL.
Examples
This blog is set to output a full feed by default so
http://www.consumingexperience.com/feeds/posts/default gets you a full feed. To get a short feed instead, use http://www.consumingexperience.com/feeds/posts/summary.
To get my summary feed in RSS format, you'd use
http://www.blogger.com/feeds/8849059/posts/summary?alt=rss (note that
http://www.consumingexperience.com/feeds/posts/summary?alt=RSS doesn't work. Note that if trying these tricks using the
custom domain of a Blogger blog doesn't get you anywhere, the Blogger.com version using the blog ID in the URL will always work, as should the blogspot.com version of the custom domain blog, if any.)
This tip lets you get a summary feed from a full feed, but not vice versa. If you try to get a full feed from a blog which has been set to output only a short feed, you'll only see an error message like "The feed specified by [url] is not enabled". You can cut down, but not expand beyond, what the blog owner has chosen to allow.
Posts feed address - Blogspot or custom domain alternative feed address
If your blog files are hosted on Blogspot, i.e. it's a blogspot.com or custom domain blog, your feed's web address will
also always be at:
- Atom feed
http://BLOGNAME.blogspot.com/feeds/posts/default
or
http://CUSTOMDOMAIN.com/feeds/posts/default
- RSS feed
http://BLOGNAME.blogspot.com/feeds/posts/default?alt=rss
or
http://CUSTOMDOMAIN.com/feeds/posts/default?alt=rss
- again first changing
BLOGNAME to your usual blog name or
CUSTOMDOMAIN to your custom domain, of course
(Alternatively you can think of it as adding "/feeds/posts/default" etc after the end of your usual blog URL).
Note. Even if you use a
custom domain, you're
still hosting your blog files on Blogger/Blogspot behind the scenes, so
the blogspot.com feed addresses will also work. If you changed to a custom domain and kept your old blogspot.com address, you can use that. (Can't remember your old blogspot.com address? In the Blogger dashboard, Settings, Publishing, click Switch to: blogspot.com to see your Blog*spot address; but do
not Save Settings, just close or back out of that page!)
Note. For backward compatibility with Old Blogger, for non-FTP blogs you can also get a feed at
http://
BLOGNAME.blogspot.com/atom.xml
or
http://CUSTOMDOMAIN.com/atom.xml
(or the RSS equivalent if you change "atom.xml" to "rss.xml"). However you should move to using the above URLs, going forward.
ExamplesACE's RSS feed can be found at several URLs:
http://www.consumingexperience.com/feeds/posts/default?alt=rss
http://consumingexperience.blogspot.com/feeds/posts/default?alt=rss and
http://www.blogger.com/feeds/8849059/posts/default?alt=rssWhile for
Kirk's default Atom feed, you can use any of these URLs:
http://www.blogger.com/feeds/20460175/posts/defaulthttp://phydeaux3.blogspot.com/feeds/posts/defaulthttp://phydeaux3.blogspot.com/feeds/posts/summary(Since his feed is set to "short" in his Blogger settings, the "default" URL will go to his summary feeds, and no full feed will be available.)
Or
http://phydeaux3.blogspot.com/atom.xmlhttp://phydeaux3.blogspot.com/rss.xml(available, but you should transition to the new feed URL formats.)
Comments feed address
As with posts, the blog comment feed (a feed for all comments made on all posts) for a particular Blogger blog can be set to Full, Short or None, and you can only access the comment feed of a blog if it isn't a private blog.
To work out the URL for the comments feed of a Blogger blog, it's exactly the same as for posts feeds, including the ability to get full or summary comments feed - except you just change "posts" to "comments" i.e.
http://www.blogger.com/feeds/BLOGID/comments/TYPEand, for
non-FTP blogs only, alternative additional URLs at
http://YOURBLOG.blogspot.com/feeds/comments/TYPE or
http://
CUSTOMDOMAIN.com/feeds/
comments/TYPE- where of course you should first change
BLOGID, YOURBLOG or
CUSTOMDOMAIN to the one for the blog you want, and change
TYPE to the length of feed you want to get i.e.
default, summary or
full.
Note: for FTP blogs, the
only way to access the comments feed is through the blogger.com address - currently, no comments feed is uploaded to an FTP blog's own servers, only the posts feed is uploaded.
ExamplesThe
summary Atom feed for all comments made on my blog can be reached via:
http://www.consumingexperience.com/feeds/comments/summaryhttp://consumingexperience.blogspot.com/feeds/comments/summary or
http://www.blogger.com/feeds/8849059/comments/summaryThe full feed for all comments on this blog:
http://www.consumingexperience.com/feeds/comments/fullhttp://consumingexperience.blogspot.com/feeds/comments/full or
http://www.blogger.com/feeds/8849059/comments/full(or changing "full" to "default" would also work as this blog outputs a full feed as default.)
And one way to get the RSS feed for all comments in summary form only:
http://www.consumingexperience.com/feeds/comments/summary?alt=rssPer post comment feeds
Per-post comment feeds, i.e. a feed of all comments made on one particular post only, are again available only if the blog owner has turned on per-post comment feeds (I turned mine off, for instance), and it's not a private blog.
To get the URL of a per-post comment feed, use the URL as for the main comment feed, but add the ID of that post after "/feeds/" e.g.:
http://YOURBLOG.blogspot.com/feeds/POSTID/comments/TYPETwo ways to find out the post ID:
- as mentioned in the Blogger Help, if the blog owner is logged in to the Blogger Dashboard, in the Edit Posts view (making sure Published or All is selected if necessary), just mouseover the 'Edit' link next to a particular post, and its postId will be displayed in the browser's status bar as the number just after the "postID=" bit - or
- if you're not the owner of a Blogger blog but want to find out a post ID, and they've enabled "Email this post to a friend" or similar (the envelope icon , usually at the end of the post - Dashboard>Settings>Basic>Show Email Post links set to Yes), just hover over that link. Again the postId will be the number after "postID=". (If there's no such link because it's not been enabled, I'm not sure how you'd find out the post ID.)
ExampleTo get the feed for all comments on Frivolous Fragments'
post on heroic materialism (whose post ID is 3253976247961230387), I'd use one of these URLs:
http://frivolousfragments.blogspot.com/feeds/3253976247961230387/comments/default or
http://www.blogger.com/feeds/5281402533658280011/3253976247961230387/comments/default (as I can tell the blog ID from viewing source on that blog).
Label feeds
Feeds for labels are available as well (if the posts feed has been enabled on the blog and it's not a private blog).
Unlike comments and per-post comments feeds, you can't set feeds for labels separately. Labels are a subset of posts, and as such take on the same settings enabled for posts (full or short).
You access a label feed by taking the post feed URL, adding "/-" and then "/labelname". Again, with ftp blogs you can only access the label feed at the blogger.com URL.
ExampleHere's 2 ways to access the feed for the label "Blogger" on
Kirk's blog:
http://www.blogger.com/feeds/20460175/posts/default/-/Bloggerhttp://phydeaux3.blogspot.com/feeds/posts/default/-/BloggerOr to get all posts labelled "consumer" on this blog, in summary format only (not the full post):
http://www.consumingexperience.com/feeds/posts/summary/-/consumerNote. Label names are
case sensitive (so to find all posts labelled "food" don't use "Food"), and label names should also be
URL encoded for any special characters. In other words to get a feed for a label whose name includes a special character like "bits&bobs", you need to make it "bits%26bobs". So look up the % substitute or use a converter for any special characters which appear in the label name, namely: ! * ' ( ) ; : @ & = + $ , / ? % # [ ]
Multiple labels ("and" label search). You can even query for multiple labels by adding the additional label name with a slash ("AND" operation ), e.g.
http://phydeaux3.blogspot.com/feeds/posts/default/-/Blogger/Googlewill return posts labeled
both Blogger
and Google but not posts that have only been labelled "Blogger", or only labelled "Google".
Labels do not currently support an OR operation - although the base Google Data APIs do, so it may become available on Blogger one day. (If it does it most likely will be done with a | character (URL encoded to %7C) between the label names.)
Query parameters - tips & tricks, the fun stuff!
Blogger feeds on blogspot and at blogger.com both now support a wide range of useful
query parameters. Most won't be that useful to the basic blogger, but some are. And many will be useful if you like to play with your feeds.
"Query parameters" may sound like gobbledygook if you're a non-geek but bear with me until the examples at the end (just ignore the developer-y bits) and you'll see that it's quite straightforward and potentially very handy to know how to use them.
To use a query parameter, you first append a question mark (?) to the end of the feed URL you are requesting (make sure there is no slash \ immediately before the ?), and then add the appropiate query in a
name=value format. You can use multiple query parameters, separating them with an ampersand (&). It doesn't really matter in what order the query parameters are added.
I'll just list all of these in a table, and I'll give some working examples at the end. The first column is the parameter name, the second is valid values with defaults and notes about their usage.
Note. Again, query paraments will only work with the blogger.com URL, for FTP blogs (whereas for custom domain or blogspot.com blogs they'll just work). Also note query parameters won't work with atom.xml or rss.xml feed URLs.
Name | Value |
alt | |
callback | name of function | Used with the json-in-script alt parameter to specify the name of the callback function This parameter has no defaults | |
orderby | updated | Returns the feed sorted by last updated status
| published | Returns the feed sorted by published date (THIS IS THE DEFAULT) | |
start-index | integer | Sets the number of the first entry to be returned. The default is 1 | |
max-results | integer | Sets the maximum number of entries to be returned. The default is 25. Most Blogger feeds currently are throttled at an upper limit of 100 though sometimes I've been able to get 500 posts in one feed
| |
published-min published-max | Date in RFC 3339 format | These set boundaries on the results returned by published date. The lower bound is inclusive. The upper bound is exclusive. Like everything it should be URL encoded. Unencoded example 2007-05-03T23:59:59-05:00 (see RFC 3339 para 5.8 for more examples) The same URL encoded is 2007-05-03T23%3A59%3A59-05%3A00 | |
updated-min, updated-max | Date in RFC 3339 format | The same as the above, only the boundaries are set by "last updated" date | |
ExamplesTo see the 10 posts in this Blogger blog which have been most recently updated (not the 10 most recently published posts), use e.g.:
http://www.consumingexperience.com/feeds/posts/default?orderby=updated(You'll see that this is quite different from the posts I most recently published
http://www.consumingexperience.com/feeds/posts/default?orderby=published)
To view the last 30 posts from the
Google Public Policy blog, even though it only has 12 posts on the main page and the default number of posts output in a Blogger feed is 25, try:
http://googlepublicpolicy.blogspot.com/feeds/posts/default?max-results=30If I've been offline for a few months and want to see just the posts published on Kent's blog since 18 January 2008, I'd use:
http://www.blogger.com/feeds/5523094/posts/default?published-min=2008-01-18T00%3A00%3A00&orderby=published(to view posts published between 2 dates, I'd add "&published-max=" for the upper bound).
To view a Blogger blog's feed starting at the 5th entry in the feed (i.e. not the latest post in that blog, but the 5th latest post), and return just the next 5 results, in a JSON object with a callback function named outputFeed, the URL would be
http://phydeaux3.blogspot.com/feeds/posts/default?alt=json-in-script&callback=outputFeed&start-index=5&max-results=5Even more information (non-geeks can ignore)
OpenSearch elements
Blogger feeds return 3
OpenSearch (
Wikipedia) elements in the feed header (location varies depending on format type)
openSearch:totalResults
- the total number of results in the query (not necessarily the number returned in that feed)
openSearch:startIndex -
the index number of the first search result returned in the queryopenSearch:itemsPerPage -
the number of entries returned from the query
Possible uses: find out the total number of posts and/or comments in a blog.
Rel links
Blogger feeds also return several link elements with rel attributes in the feed header.
- self - <link rel="self" type=" ..." href="..."> Link pointing to the query returned. Type and href will depend on the query requested
- next - <link rel="next" type="..." href="..."> Link pointing to the next set of results if the results are chunked (more results than the max-results set)
- previous - <link rel="previous" type="..." href="..."> Link pointing to the previous set of results from a chunked query result
Uses: can be used to paginate through a long list of results
Secret feature - post feeds are podcast enabled
The API now also
supports adding
enclosures to a post (a link element with the rel="enclosure" set and a valid URL with mime-type and optionally a content length set). This can only be done via the API as of now, but support in the Blogger posting interface should come at some point. In other words, unless you know how to post via the API you can't use it yet, but it's there waiting for the Blogger interface to use and feeds can start returning them attached to each post entry now.
REFERENCE GUIDE to Blogger feeds and feed URLs
Basic structure of feed URLs -
http://www.blogger.com/[POSTID/]feeds/BLOGID/CONTENT/TYPE[/-/LABELNAME1[/LABELNAME2]][?alt=&orderby=&max-results=&...]
plus alternative additional URLs for non-ftp blogs only -
http://BLOGNAME.blogspot.com/feeds/[POSTID/]CONTENT/TYPE[/-/LABELNAME1[/LABELNAME2]][?alt=&orderby=&max-results=&...] or
http://CUSTOMDOMAIN.com/feeds/[POSTID/]CONTENT/TYPE[/-/LABELNAME1[/LABELNAME2]][?alt=&orderby=&max-results=&...]where:
CONTENT is posts or feeds
TYPE is full or summary or (is full or summary depending on how the blog owner has set it) default
POSTID is optional and only used for per-post feeds, in which case CONTENT must be comments for it to work of course
(Update: forgot to add info for label feeds before, sorry) /-/LABELNAME1 is optional, add it only when you want to get the feed for a particular label called LABELNAME1 (NB case-sensitive), in which case CONTENT must be posts for it to work. If you add /LABELNAME2 it will find only posts that have both labels
and optional parameters at the end:
alt=rss for the RSS feed (default is Atom)
orderby=updated (default is published)
max-results=
number (default is 25, maximum seems to be 500)
Other query parameters are possible, as mentioned above.
Posts feed
Atom feeds
http://www.blogger.com/feeds/BLOGID/posts/TYPE
and alternative additional URLs for non-ftp blogs only -
http://BLOGNAME.blogspot.com/feeds/posts/TYPE or
http://CUSTOMDOMAIN.com/feeds/posts/TYPE or
historical only - ideally don't use -
http://CUSTOMDOMAIN.com/atom.xml or
http://BLOGNAME.blogspot.com/atom.xml- where TYPE (which is non-optional) can be default, summary or (if full feed has been enabled by the blog owner) full. (How to find out a Blogger blog's blog ID)
RSS feeds
Just add "?alt=rss" at the end of the above URLs e.g. http://www.blogger.com/feeds/BLOGID/posts/TYPE?alt=rss
or change "atom.xml" to "rss.xml" in the above examples e.g.
http://BLOGNAME.blogspot.com/rss.xmlComments feed
As above, but change "posts" to "comments" (and add ?alt=rss at the end if you want an RSS feed) i.e.
http://www.blogger.com/feeds/BLOGID/comments/TYPEand alternative additional URLs for non-ftp blogs only -
http://YOURBLOG.blogspot.com/feeds/comments/TYPEhttp://CUSTOMDOMAIN.com/feeds/comments/TYPEPer-post comment feeds
As for comments, but add "/postID" before "/comments" where postID is the ID of that particular post (and add ?alt=rss at the end if you want an RSS feed) e.g.
http://www.blogger.com/feeds/BLOGID/POSTID/comments/TYPELabel feeds
As for posts, but add "/-/labelname" at the end - NB lTHE abel name is case-sensitive, you can't have summary posts
http://www.blogger.com/feeds/BLOGID/posts/TYPE/-/LABELNAME
and alternative additional URLs for non-ftp blogs only -
http://BLOGNAME.blogspot.com/feeds/posts/TYPE/-/LABELNAME or
http://CUSTOMDOMAIN.com/feeds/posts/TYPE/-/LABELNAME or
To find only posts that have been labelled both with X and with Y (but not posts labelled with X but not Y or vice versa):
http://www.blogger.com/feeds/BLOGID/posts/TYPE/-/X/Y
and alternative additional URLs for non-ftp blogs only -
http://BLOGNAME.blogspot.com/feeds/posts/TYPE/-/X/Y or
http://CUSTOMDOMAIN.com/feeds/posts/TYPE/-/X/Y or
(It's not possible to find posts with label X
or label Y, yet)
Query parameters
The most useful parameters for most people are these (stick a ? at the end of the base URL and & in between queries):
orderby=updated (the default is published) - to show feed with most recently updated posts (not most recently published ones)
max-results=figure (up to 500 currently, the default is 25) - to get a Blogger feed with more than 25 posts e.g. if the figure is 50 it'll show 50 posts in the feed
published-min=date-time1 in
RFC 3339 format e.g.
2007-05-03T23:59:59-05:00, but
URL encoded e.g. 2007-05-03T23%3A59%3A59-05%3A00 (changing each colon to %3A) - for posts published after date-time1; can be combined with
&published-max=date2 for posts published before (but not including) date-time2
updated-min, updated-max - similar, but for posts updated after the dates stated.
Example for the official Blogger blog
Buzz, whose blog ID is 2399953 - to see the last 50 posts most-recently updated posts from Buzz, in summary form i.e. only the first few characters of each post:
http://www.blogger.com/feeds/2399953/posts/summary?orderby=updated&max-results=50Note: doesn't work for FTP blogs unless you use the blogger.com URL. If something doesn't work with the custom domain or blogspot.com domain URL, it will work with the blogger.com one.
Resources
Blogger HelpBlogger BuzzBlogger Data APIGoogle Data API in particular
query requestsBlogger Data API GroupJSON InspectorAcknowledgements
This post wouldn't have been possible without the sterling work of
Kirk, on whose draft I based it. Though I've made it a whole lot longer... Thanks, as always, Kap'n Kirk!
Tags:
feed, newsfeed, newsfeeds, news feeds, RSS, Atom, feed URLs, query parameters, Blogger Data API, Google Data API, blog, blogs, blogging, tips, tricks, howto, Improbulus, A Consuming Experience