Blog migration from Posterous to WordPress

Posterous was recently acquired by Twitter, so I have been twiddling my thumbs for the past few weeks thinking about how/where to transition my blog and give it a more permanent home. I finally decided to give WordPress a try. Initially, the customizability of WordPress scared me, but it is truly wonderful how modular and flexible the system is.

If you were watching my old blog, please note that this is the new home!

This post documents the migration of my Posterous blog here, both in terms of content and functionality, in rough order in which I made the changes. I looked around for tools to do most of the heavy lifting, but I also made manual changes where I did not see a clear alternative. The process was spread out over about 3 days and was relatively painless.

Importing posts, comments, images, tags from Posterous into WordPress

I used Posterous Importer, which is well done and takes care of most of the heavy lifting.

Install at the Plugins > Add New menu, or alternatively:

Upload the posterous-importer folder to the /wp-content/plugins/ directory
Activate the plugin through the 'Plugins' menu in WordPress
Go to the Tools -> Import screen, Click on Posterous

Results:

Importer Status
Posts: 28
Comments: 10
Attachments: 167

w00t!

Linking to previous posts

By default, links within posts to previous blog posts on Posterous will still point to the links on Posterous. I used a very manual process for switching these links, but I was not migrating many posts, and WordPress at least has a very nice interface for searching through previous content.

Editing the main template

I disliked the fact that my name would show up along every post on the main page of the blog (with my selected theme Typografia). This was not the case on my old blog, and it just seemed redundant. Instead of having to select a new theme that conveniently did not have this extra field, all I needed to do was go to Appearance > Editor in the menu to edit the theme and remove the following code:

<div class="post_author"><?php _e(' Posted by '); ?><?php the_author(); ?>
...
</div>

Editing the styles

There were some minor color contrast issues with the font color of the sidebar that spanned not only the main theme style (Typografia) but also the skin I selected (style4). Editing the styles of the main theme is done through the same interface as editing the main template. However, the theme editor doesn’t contain stylesheets for style skins, so I needed to ssh into my hosting server and manually edit the file at wp-content/themes/typografia/skins/skin4.css.

Tag to category conversion

Posterous uses tags and for whatever reason, WordPress has a sense of both categories and tags. This article details the distinction between tags vs categories. In short, the distinction is arbitrary, but categories can be viewed as a general bucket for a post, whereas tags can be viewed as attributes of a post. Categories are older than tags in WordPress history.

A plugin called Categories and Tags Converter (found at the Tools menu) allows for easy conversion between categories and tags in either direction.

Photo galleries

Posterous has a very nice built-in photo gallery display that takes the photos you want and displays them in gallery form with an easy way to switch between photos and download the entire set. Though the migration properly transferred most of the images, it missed some (that I needed to manually upload to WordPress) — on average 2 images per image-heavy post.

Additionally, it displayed all images without any special formatting and sort of just dumped them all our to the reader, so the images made the post a lot longer lengthier than necessary. WordPress also has a built-in gallery tool that tiles images to take up less space. My main use cases were (without the *):

Including all images associated with the post: [*gallery]

Tiling images in 2 columns (default is 3): [*gallery columns="2"]

Excluding images from gallery, to be displayed elsewhere in the post: [*gallery exclude="56,57,58"] (where 56,57,58 are image IDs)

Having multiple galleries in Posterous was trivial, but in WordPress meant creating multiple galleries that excluded all image IDs that belonged to other galleries. It was sort of a pain, but not that difficult. I did not try this, but there seems to be a better way via the Multiple Galleries plugin.

Other manual changes

Spacing between headings and text body was off in a number of posts, so that meant giving each post a quick scan for ugliness.

Publishing to Facebook and Twitter

Network Publisher uses LinksAlpha API to connect to up to 25 other social networking services. LinksAlpha allows 2 networks before trying to charge you, so that was perfect. The config documentation was very well done.

LinkAlpha’s privacy policy sounds, but regardless, from Facebook’s Account Settings > Apps, you can revoke all the authorizations except for “Post on your behalf.” The LinksAlpha web interface will give you an unhappy error about loading your news feed, but WordPress will still be able to successfully publish to your wall.

Google analytics

Google Analytics for WordPress gets this set up swiftly.

Feedburner

Posterous encouraged me to use Feedburner to publish my rss feed, which was great foresight. Instead of asking all my subscribers to update their link to the new one, I simply had to go to Edit Feed Details... and update the Original Feed URL.

Facebook Like button and Twitter Tweet button

I decided this feature on Posterous was not very meaningful and thus unnecessary to migrate over functionality.

And that’s it! The dread of migrating all this content and functionality has actually inhibited me from writing more, so I’m glad that that is over with.

This article on writing code in posts was not a part of the migration process, but it was useful for writing this post and describes the use of code and pre tags.

Leave a Reply