An Important Update

Dear Followers Of This Blog ...

If you did not use a Blogger / Google account when you Followed this blog, years ago, you are probably not Following now . During the past...

Thursday, August 02, 2012

Custom Domain Publishing Does Not Use Post Feed Redirect

One of the benefits of custom domain publishing, for a properly setup domain, is that the BlogSpot URL is automatically redirected to the domain.

Not all blog owners realise that the BlogSpot to domain URL redirect includes the blog feed - once the Transition period ends, and the blog is republished to the domain.

Some blog owners think that the Post Feed Redirect setting needs to be used when re publishing their blog to a custom domain. This is not true, however. Use of the custom domain redirect, plus the post feed redirect, can only result in one of two problems.
  • A feed redirect loop.
  • A feed URL that points to invalid content.
In neither case will any newsfeed client, such as a Dynamic Template, Google Reader, Reading List, or any third party feed service, find a feed that can be used.

The Post Feed Redirect setting is used to redirect feed references, to a separately existing feed file.

The Post Feed Redirect is not used where it is not needed - and with a blog published to a properly setup custom domain, it's not needed.

Let's look at an HTTP trace, showing the blog feed for a custom domain published blog, that uses a post feed redirect - in this case, we have the feed for "mybloggerblog.blogspot.com" redirected to "mybloggerblog.com".

Start with the BlogSpot based feed URL, for "mybloggerblog.blogspot.com".

Sending request:

GET /feeds/posts/default HTTP/1.1
Host: mybloggerblog.blogspot.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Referer: http://www.rexswain.com/httpview.html
Connection: close

• Finding host IP address...
• Host IP address = 74.125.224.106
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...
Receiving Header:
HTTP/1.1·301·Moved·Permanently(CR)(LF)
Content-Type:·text/html;·charset=UTF-8(CR)(LF)
Location:·http://www.mybloggerblog.com/feeds/posts/default(CR)(LF)

With a properly setup custom domain, and no PFR setting used, the next display would be the XML file, for the feed. Here, the PFR was set to "http://mybloggerblog.com/".

Sending request:

GET /feeds/posts/default HTTP/1.1
Host: www.mybloggerblog.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Referer: http://www.rexswain.com/httpview.html
Connection: close

• Finding host IP address...
• Host IP address = 74.125.127.121
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...
Receiving Header:
HTTP/1.1·302·Moved·Temporarily(CR)(LF)
Location:·http://mybloggerblog.com/(CR)(LF)

Now, we are looking at a typical custom domain root to "www" alias redirect.

Sending request:

GET / HTTP/1.1
Host: mybloggerblog.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Referer: http://www.rexswain.com/httpview.html
Connection: close

• Finding host IP address...
• Host IP address = 216.239.32.21
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...
Receiving Header:
HTTP/1.1·301·Moved·Permanently(CR)(LF)
Location:·http://www.mybloggerblog.com/(CR)(LF)

And now, we are looking at the formatted blog contents - not the newsfeed.

Sending request:

GET / HTTP/1.1
Host: www.mybloggerblog.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Referer: http://www.rexswain.com/httpview.html
Connection: close

• Finding host IP address...
• Host IP address = 74.125.127.121
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...
Receiving Header:
HTTP/1.1·200·OK(CR)(LF)

Unfortunately, the blog itself is not a proper XML file (required for a feed), it's HTML / XML.

<!DOCTYPE·html·PUBLIC·"-//W3C//DTD·XHTML·1.0·Strict//EN"·"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">(LF)
<html·dir='ltr'·xmlns='http://www.w3.org/1999/xhtml'·xmlns:b='http://www.google.com/2005/gml/b'·xmlns:data='http://www.google.com/2005/gml/data'·xmlns:expr='http://www.google.com/2005/gml/expr'>(LF)
<head>(LF)

...

<link·href='http://www.mybloggerblog.com/'·rel='canonical'/>(LF)
<link·rel="alternate"·type="application/atom+xml"·title="In·the·Studio·-·Atom"·href="http://www.mybloggerblog.com/feeds/posts/default"·/>(LF)
<link·rel="alternate"·type="application/rss+xml"·title="In·the·Studio·-·RSS"·href="http://www.mybloggerblog.com/feeds/posts/default?alt=rss"·/>(LF)
<link·rel="service.post"·type="application/atom+xml"·title="In·the·Studio·-·Atom"·href="http://www.blogger.com/feeds/2302596229887627781/posts/default"·/>(LF)
<link·rel="EditURI"·type="application/rsd+xml"·title="RSD"·href="http://www.blogger.com/rsd.g?blogID=2302596229887627781"·/>(LF)
<link·rel="me"·href="http://www.blogger.com/profile/12619425977406185402"·/>(LF)
<link·rel="openid.server"·href="http://www.blogger.com/openid-server.g"·/>(LF)
<link·rel="openid.delegate"·href="http://www.mybloggerblog.com/"·/>(LF)

And if the feed client is, for instance, a dynamic template, the would be reader is looking at the old spinning gears. Until he gets bored, closes the browser, and emails you
Your blog is down - again.

If you have made this mistake, just clear the Post Feed Redirect.

Dude, hit me with a comment!