Switch or Move your Posterous Blog to WordPress

May 9th, 2012 by


If you host your blog at Posterous, then, you certainly know that it has been acquiered by Twitter.

I’ve also had a blog (really small one) hosted by Posterous. One think I liked about it, despite the fact that it is really easy to post (via email), is that it allowed you to use your own domain at no cost. So I used that feature, hope you did so too.

I’ve decided to move my Posterous’ blog (This one) to WordPress, to a self hosted installation of WordPress. Why? Because I do not want to be caught one day with a notice that Posterous may be shut down. At that day I may not have time to do the migration, or the servers may be over loaded, as lots of people will start migrating their blogs to other platforms.

Here is the data:

  • My original blog was at: http://g.garron.me
  • I want to move it to: http://blogs.garron.me

Why will I move the site address?, because I’ll install WordPress in that site, and then import the site there, once everything is done, is just a redirection and everything will continue working as it should.

Another thing to consider is the permalink structure, happily Posterous uses http://yoursite/slug format, which is really easy to configure in WordPress. But, I’ve also decided to add .html extension at the end of each post. I’m going to do that, because I may park (archive) the whole site as static pages and not update the blog any more. If I decided to do that, I will use httrack and it will add .html extension to all pages, so will be better to add them right now.

Move Posterous to WordPress

Now, we’ll focus on the process of the migration. Here are the steps

  • Create a Transition blog in WordPress.com
  • Go to Tools -> Import -> Posterous and fill the needed info.
  • Wait until your blog is fully imported (may take a while if you have a very big blog).
  • Check that everything has been imported, and that everything is working as it should.
  • Go to Tools -> export and save the resulting file for later use.
  • Install a fresh self-hosted WordPress
  • Go to Tools -> import -> WordPress, install and activate the plugin
  • Import your recently exported wordpress.com site.

At this point you should already have all your posterous blog in your own WordPress installation.

We now need to adjust the permalinks: Go to Settings -> Permalinks and select custom structure and fill the space with this: /%postname%

You are now ready to point your old site to the new one.

If you are not changing names, just point your DNS server to the new server instead of the IP of Posterous.

If you have changed names, also point your DNS server to some server (may be the same one where WordPress is installed) where you can redirect the traffic. I’m using Nginx + PHP-FPM, so I created this server configuration.

    server {

        listen [::]:80;
        server_name  g.garron.me;
        rewrite ^/(.*) http://blogs.garron.me/$1 permanent;


That is, be sure to change g.garron.me and blogs.garron.me for your own FQDN.

As I told you before, I decided to also add html extension to the files, here is how my code looks like:

    server {

        listen [::]:80;
        server_name  g.garron.me;
        rewrite ^/(.*) http://blogs.garron.me/$1.html permanent;


Now, Google should transfer the references to the new site, and all links to the old site, should still work.

That is it, you now have all your content self hosted in WordPress, happy blogging.

Update 05-19-2012: If you plan to archive and park it as static content read: Archive your Posterous site