After having moved all my posts from Blogger to Ghost, I was left with the problem that Blogger doesn’t allow for 301 redirects. Granted, I don’t think I have that many incoming links out in the wild, but as a former SEO-guy, I wanted to do things right.

Unfortunately, Blogger doesn’t allow me to do things right (I need access to .htaccess). So the next best thing I could think of, was displaying a user-friendly message, redirecting users to my new blog.

First, I removed all content from my Blogger platform, and then I set a custom ‘page not found’ page. On that page, I wrote a little script that tries to determine what page on the Ghost platform the user wants to see.

As both platforms use the title of the post to create a URL, this is fairly easy, albeit not failproof. But it’s better than nothing.

var currentLocation = document.location.pathname;
var start = currentLocation.lastIndexOf("/");
var length = currentLocation.length - start;
var page = currentLocation.substr(start + 1, length);
var newPage = page.replace(/-/g, "_").replace(".html", "");
document.getElementById("newPageLink").href = "http://www.petermorlion.com/" + newPage;

A typical Blogger URL looks like this:

http://petermorlion.blogspot.com/2008/01/first-post.html

What the script does, is take the first-post.html part, replace - with _ and use that as URL, without the .html. Effectively, this means the given URL maps to:

http://www.petermorlion.com/first_post

This works nice, except for some cases, where Blogger has shortened the URL or where the URL doesn’t map exactly to the title (because the title has changed).

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.