When I decided to move my blog from Typepad to Blogger, I went in search of technical information on how to accomplish this. There is no standard format for blog data, and at present Blogger cannot import blogs from other platforms, so I needed to find out how to convert the Typepad format to the Blogger format. What I found was . . . bupkus. I couldn’t find a single page or post on this particular transformation. There was lots of information on migrating from Typepad to Wordpress but nothing on moving to Blogger.
So, armed with congenital stubbornness and everything ever written by Bach, I went through an exhausting process of trial and error. Every time I hit a roadblock I’d search the web for clues and come up with something else to try. Eventually I got the whole thing figured out and I vowed to post the details online in case anyone else wants to make the same move (and I hope they do because Blogger rocks!). It’s my little contribution to the geekosphere.
As it turns out, moving from Typepad to Blogger is not terribly complicated. As the saying goes, it’s easy when you know how. It really comes down to using the right applications at each step in the process. Using the wrong one will get you nowhere, as I found out several times. Here is what worked for me:
Export your blog from Typepad. (Manage | Import/Export | Export) This exports all of your posts, pages, and comments in Movable Type Import Format. This is a simple text file with UTF-8 encoding, which is standard but it shouldn’t be edited in just any text editor (see below). Details on the structure of the file can be found here (you may need this later on).
Upload your images to an image host with predictable file paths. I opted to use PhotoBucket, though I’m not entirely happy with their file management (you can’t view or search by filename). However it does produce predictable file paths which means you can update the image links in your blog with a simple search and replace (see next step). Picasa, Blogger’s image host, generates random image file paths and so you’d have to update each image link by hand if you went that way. Note that after December 15, 2008, Typepad started using randomly generated file paths for images and so any images posted since then have to be updated manually. Boo for Typepad!
Edit your export file with Notepad++. Editing the Typepad export file with Notepad, Wordpad, or Word will do something to the format that prevents it from being converted to Blogger format later. Notepad++ is free and has advanced search and replace features that are crucial for this sort of work. It also handles accented and other special characters (i.e. Unicode), which the others do not. For safety’s sake, save a version of the file at every stage in your editing. This can help with later troubleshooting. There are a number of things you will want to fix:
Image links. Use search and replace to bulk-update image links to your new image hosting location. Before last December 15th, the Typepad image file path was:
http://user.typepad.com/photos/uncategorized/YYYY/MM/DD/image.jpg
Use CTRL-R to open advanced search and replace, check “Regular Expr” and “Wrap,” and uncheck “Selection.” Set up a search and replace following this model:
Search: user.typepad.com/photos/uncategorized/200[0-9]/[01][0-9]/[0123][0-9]/
Replace: imagehost.com/user/album/
(follow image host’s file structure)
The numbers in brackets represent possible numbers (e.g. 0 or 1 for the first number in a month). Fill in the bolded parts as appropriate. If you’ve been with Typepad for a few years, you might also have images directly in the /uncategorized/ folder. Browse through your export file to make sure you’ve found all the possible locations of your images
Keywords. Keywords in Typepad will become “labels” in Blogger (as will Typepad categories). If you don’t want all your keywords to become labels, you’ll have to delete them. If you only have a few keywords, it is probably easier to remove them in Blogger by selecting all posts and using the “Label Actions” dropdown box.
If you are going to delete your keywords and think you may have instances of “KEYWORDS:” in your text you’ll have to search for them first and alter them in some way so they don’t get involved in the search and replace. Try searching for “KEYWORDS: ” (i.e. with a space after) or “>KEYWORDS:<” (i.e. a separate line in html text) to find these. If you really need to keep them as is you can temporarily append a distinctive set of characters (e.g. $$$) and then remove them afterwards with search and replace.
Here’s how to remove the keywords:
Search (“Regular Expr” & “Selection” unchecked, “Match case” & “Wrap” checked): KEYWORDS:CTRL-M (Note: typing CTRL-M inserts an invisible line break character—you won’t actually see “CTRL-M”)
Replace: KEYWORDS:
This puts the keywords on the same line as the head tag, which is necessary for the following search:
Search (as before but “Regular Expr” checked): KEYWORDS:.*
Replace: KEYWORDS:CTRL-M
Extra line breaks. Until recently Typepad inserted line breaks between paragraphs (and some other tags) in the post HTML, which made editing it easier, but unfortunately Blogger renders these as real line breaks, which creates extra space between paragraphs and and the ends of posts. There can be several of these breaks in a row, so it takes multiple searches to get them all:
Search (“Regular Expr” off): >CTRL-M<
Replace: ><
Search: >CTRL-M CTRL-M<
Replace:><
Search: >CTRL-M CTRL-M CTRL-M<
Replace:><
…and so on until no more are found
Don’t actually put spaces between each CTRL-M—I just did that here so they would be legible. At the end of this process each post should be in one lump of HTML. It’s messy but that’s the way Blogger likes it.
Alternatively, you can set Blogger to ignore line breaks in the post HTML (Settings | Formatting | Convert Line Breaks: No). This just means that if you are composing a post in HTML you will have to code in line breaks (<br />) instead of just hitting Enter.
Your comment signatures. All the comments you left on your own blog will be linked to your old blog’s URL or your Typekey/Typepad Connect profile. Use search and replace to fix these as follows:
Search (“Regular Expr” off): URL: http://user.typepad.com/blog/CTRL-MDate:
Replace: http://www.blogger.com/profile/########CTRL-MDate:
Be sure to try alternative versions of your old URLs with and without a final slash. Repeat for Typekey and Typepad Connect profiles if you ever used them. Find your exact Blogger profile URL from your Blogger Dashboard (View Profile).
Anything else you can think of. Now’s the time to make any fiddly changes to your blog content. It’s a lot easier to search through a single text file than to edit posts individually once they’re in Blogger.
Split up your edited export file, if necessary. The blog conversion application you’ll be using can’t handle files over 1MB. If your edited file is larger than this, split it up at the end of a post, which is marked with 8 hyphens. Each file should have “TITLE:” at the beginning and 8 hyphens at the end.
Convert your edited export file(s). (Almost there!) Use the Googlecode Blog Converter for Movable Type to Blogger. As long as your file isn’t too big and the format hasn’t been corrupted, it should work first try. If you get an error, try converting an earlier version of your edited file to see if you can narrow down where the problem happened. Make sure none of your search/replacing has interfered with the Movable Type format. I had one file conversion fail because of a single missing line break! This is why you should save your export file after every edit.
Import into Blogger. If you haven’t set up a new blog in Blogger do so now. Under the Settings tab click “Import blog” and choose the xml file(s) you produced with the blog converter. Once you hit “Import” any number of things could happen. You’re supposed to see a screen with a sort of progress bar and messages about what is being imported. At the end you should get a message saying how many posts and comments were imported. More likely you will get an error message, or a hung progress page, or some half-loaded mystery page with nothing on it. Don’t despair. Go to Posting | Edit Posts and you may find your posts are there anyway. If not, wait a minute and refresh. If they’re really truly not there, try importing again. You may have to try three or four times, but it will work eventually.
That’s the end of the data migration! There are just a few more details to take care of in Blogger:
Theme: If you haven’t already, choose a theme for your blog. This will determine both the look and the layout of your blog. There are countless free themes available for download online—there’s no need to have a Blogger blog that looks like every other Blogger blog! Just beware that older themes may have to be modified to allow embedded comments (comments below the post). This is usually just a matter of inserting a line of code. Alternatively, under “Edit HTML” you can choose “Revert widget templates to default,” though this may reverse some of the customization of your theme. Always back up your theme before making any changes!
Sidebars: You’ll have to manually set up your sidebars, headers, and footers using Blogger’s Layout page. Though it’s a bit tedious to copy and paste your blogrolls, link lists, and other widgets, you’ll find that it’s much easier to edit and rearrange all of that content in Blogger than it was in Typepad.
One tricky point for book-bloggers is what to do about book lists since Blogger doesn’t have an automated book list gadget. One way around that is to use widgets from third party sources like Amazon, LibraryThing, or Shelfari. Or if you’re comfortable with a little HTML you can make your own with a blank HTML gadget. Once you have a template worked out then it’s just a matter of inserting the relevant book details. Here’s an example of simple code for a sidebar book list for someone with an Amazon associates account:
<ul> <!—BOOK ONE --> <li style="clear: both; margin-bottom: 15px; padding: 0; text-indent: 0;"> <a href=http://www.amazon.com/exec/obidos/ASIN/ISBN/associatesID/> <img src=http://images.amazon.com/images/P/ISBN.01._SCTHUMBZZZ_.jpg / style="float: left; margin: 0px 10px 15px 0px;"/> <p><em>BOOK TITLE</em><br/>AUTHOR</p></a></li> <!-- BOOK TWO --> <li style="clear: both; margin-bottom: 15px; padding: 0; text-indent: 0;"> <a href="http://www.amazon.com/exec/obidos/ASIN/ISBN/associatesID"/> <img src=http://images.amazon.com/images/P/ISBN.01._SCTHUMBZZZ_.jpg / style="float: left; margin: 0px 10px 15px 0px;"/> <p><em>BOOK TITLE</em><br/>AUTHOR</p></a></li> <!—BOOK THREE --> … </ul>
Simply update the parts in bold and you’re done. Be sure to use the 10-digit ISBN to access Amazon. They have yet to switch to ISBN-13 for their URLs.
Internal Links: By moving your blog, all your internal links will be broken. Every link in your blog to one of your blog pages will have to be updated. Unfortunately, there is no easy way to do this. Use search to find internal links in your Typepad export file (since it’s easy to work with), then find the new locations of both the post with the internal link and the post it is linking to, and update the link with the new address. It’s not fun but hopefully there won’t be too many of them.
Recent images: Images posted since December 15, 2008 will have some Typepad gobbledegook for an address, so you’ll have to update them with the new URL for the image at your image host (see above). Search your Typepad export file for “user.typepad.com/.a/” to find the locations of your image links.
Files: If you had uploaded any files to Typepad to share on your blog—music, home video, documents, etc.—you’ll have to find somewhere to host them because they can’t be uploaded to Blogger. I use the free web folder provided by my ISP. It’s not large but it’s large enough for my purposes.
Tell Google: Sign up for a Google Webmasters account and register your new blog so that Google will start indexing it right away. This will enable people to find your new blog via Google search.
Enjoy the wonders of Blogger! That’s it, you’re done! You can now enjoy the speed, reliability, functionality, and versatility of Blogger. One of the greatest things about Blogger, which is particularly helpful when you are setting up your blog, is the ability to edit any element from the blog itself. If you are logged in to Google you’ll see tool icons below every element of your blog. Just click on one to edit the content of that section and it will be updated immediately without having to refresh the page. Brilliant.
Because I was making it up as I went along, I didn’t follow precisely these steps in exactly this order when I was migrating my blogs to Blogger. I ended up having to go back and edit some things after uploading to Blogger. In doing that I found that while Notepad++ is great for text files, it has trouble with large XML files (which is the format Blogger exports in). So if you want to bulk-edit an existing Blogger blog, try using firstobject XML Editor (foxe). It’s fast and simple, though the search and replace is very basic (no regular expressions or line break characters).
I should mention that I use Windows Live Writer to actually write my blog posts. I started using it after the last Typepad “upgrade” because their “improved” editor was practically unusable. I continue to use it because it is so slick and easy to use, and shows you exactly how your post will look as you’re typing it. It also has some nice image formatting options and helpful third-party plug-ins (including one that automatically posts a tweet when you publish). It’s free, and it’s just extremely good.
Finally, I’ve discovered a handy tool for backing up your entire blog, images and all. HTTrack is a free application that will download every page from a website and download all the images and other paraphernalia that goes with it. This might be a handy thing to do before deleting your old blog just to have a record of what was there in case you need to restore something at your new blog. You can never have enough backups, right?
I hope this doesn’t all sound too daunting. It’s not difficult if you go step-by-step. Try printing out this post (with Internet Explorer; Firefox doesn’t print well) and using it as a checklist. I took a whole lot of notes as I went along and that was very helpful in keeping things straight. It does take time but it is worth it to get away from the cost, limitations, and frustrations of Typepad. This is one case where you don’t get what you pay for! Blogger, despite being free, is a powerful blog host and will let you do just about anything you can imagine. I definitely encourage Typepad users to take a look at Blogger and consider making the switch. You won’t regret it!
Addendum: One thing I didn’t realize about Blogger when I wrote this is that it doesn’t support <p> tags. Using the Compose editor will strip the paragraph tags from your HTML and replace them with two <br /> tags. If you have any paragraphs with CSS classes, they get converted to DIVs. This does not affect the appearance of your posts, but it does mean that if you want to style paragraphs either inline or through CSS, you will have to use DIV or SPAN tags to do it. It’s an oddity and I really hope they change it because <p> tags are fundamental to HTML.