Skip to main content

How to Move Your Posterous Blog to WordPress or Blogger

This may be premature since the fate of Posterous is still unclear after being bought by Twitter, but I decided given the uncertainty and since moving to Blogger was something I had been considering for a while anyway this was a good time to move everything off of Posterous.

I really do like Posterous and I think they do a lot of things about 1000 times better than any other blogging service. But if nothing else this points out yet again the fact that if you use a service of any kind you're at the mercy of that service or any company who may buy that service, so there's a lot to be said for controlling your own stuff.

As you may have read in the announcement to which I linked above Posterous is saying they'll provide tools to export your content to other services in the coming weeks, but not being one to wait around and see what happens I decided to get a jump on things and move some things to WordPress, and some others to Blogger, so I thought I'd share how I went about doing this and see if maybe there are better ways that I may have missed.

The interesting thing is WordPress is involved as a go-between even if you want to move to Blogger, but here's how I went about moving off of Posterous.

Moving From Posterous to WordPress

WordPress provides a Posterous importer so this is actually pretty easy with a few caveats.

If you have self-hosted WordPress and add the Posterous plugin, it's apparently very common to have it not work. I ran into this with the blog I was trying to move (specifically the ColdFusion Weekly podcast archives) from Posterous to a WordPress install on DreamHost.

Why DreamHost? I've used them in the past (been years though) for side projects now and then and especially for the money I've always had good luck with them, and since they offer unlimited disk space, bandwidth, databases, etc. for $100/yr I figured what the heck. I have a few small sites to move from Posterous to something else and this seemed like a good fit for these sites, especially given that the podcast files take up a chunk of disk space.

After I got DreamHost set up and used their one-click installer to install WordPress, I added the Posterous importer and tried to import the ColdFusion Weekly blog. No dice. I kept getting 403 errors which is apparently very common if you use the Posterous importer plugin on anything but wordpress.com.

The solution is to create a free blog on wordpress.com, run the Posterous importer from there, and then you can export from wordpress.com to WordPress's WXR XML format, and use that to import to your final destination.

Here's the steps:

  1. Create an account on wordpress.com if you don't already have one
  2. Create a new blog (the free one is fine)
  3. Click on "Tools" and then "Import" on the left-hand side
  4. Click on "Posterous" in the list of import tools that comes up
  5. Enter your Posterous login information and the URL for your Posterous site and click submit
  6. Wait :-)
If you have a ton of posts it can take a while to import but they send you an email when it's done.

Once the import to wordpress.com is done, you:
  1. Click on "Tools" and then "Export" on the left-hand side
  2. Leave the "All Content" radio button checked if you want everything (or choose what you want to export) and click "Download Export File"
  3. Go to the WordPress install where you want to import the blog content
  4. Click on "Tools" and then "Import" on the left-hand side
  5. Click on "WordPress"
  6. Select the export file you downloaded from wordpress.com and click "Upload file and import"
Then you're done, with some caveats.

What I ran into with the CF Weekly podcast blog is that Posterous didn't have the podcast files as attachments, so the link to each audio file showed up at the bottom of each post and was still pointing to posterous.com. That's no good.

To resolve that I used Firefox and the DownThemAll plugin to grab all the podcast files, and then SFTPd those up to DreamHost. At that point I did have to go through and add a link to each file in each post. This was relatively time consuming--maybe if Posterous provides real export tools at some point this won't be necessary. Also since WordPress (at least the install on DreamHost) has a file upload size limit of 7MB I had to do this manually and then they don't show up in the WordPress media library, so it was a bit of a hassle.

Main point here is once you import everything make sure and check the URLs for things like images, etc. so that they're not still pointing to Posterous and disappear if/when Posterous goes away or you decide to shut down your Posterous site.

Moving From Posterous to Blogger

Moving from Posterous to Blogger is a very similar situation since as I said to do a bulk import/export, at least from what I can tell, you have to use WordPress as an intermediary. The only other thing with Blogger is that Posterous does let you autopost from Posterous to Blogger so in theory if you set that up you could just auto-post each post from Posterous to Blogger, but note that Blogger does have an hourly limit on that so probably not the best best (not to mention there's no way to auto-post everything at once).

To get a blog from Posterous to blogger I did this:
  1. Follow the steps above to create a new (again, free is fine) blog on wordpress.com and import your Posterous blog to WordPress
  2. Follow the steps above to export and download your WordPress WXR file
So at this point you have your Posterous blog as a WXR file. Blogger doesn't let you import this, but thankfully there's a tool called wordpress2blogger that handles this quite nicely.

If your WXR file is < 1 MB in size (and you don't care about uploading the contents to a third party), you can upload your WXR file directly into wordpress2blogger and this will create and download an XML file that can be imported into Blogger.

If your WXR file is > 1MB in size (which mine for my main blog was), you can grab the code for wordpress2blogger and run it on your local machine. On Linux it wasn't bad to get this up and running at all since all the necessary Python stuff is already installed, but I can't speak to how much of a pain this would be on other platforms. I used the tool running locally on my main blog and it worked great.

Regardless of how you handle this (and there may be other tools out there), once you have your Blogger-format XML file you then:
  1. Log into Blogger and select (or create, if it doesn't exist) the blog to which you want to import your content
  2. Click on "Settings" and then "Other" on the left-hand side
  3. Click on "Import Blog," select your XML file, and hit submit
One thing to note is that at least in the case of a couple of blogs I've done, even though there's a checkbox to automatically publish imported posts, that didn't seem to work for me. So after the import is complete, you may have to go to Blogger's "all posts" page, hit the checkbox at the top of the list to select all your posts, and then click "Publish" to actually publish them.

Caveat here again is to check your asset paths. One of the blogs on which I used this method is the OpenCF Summit blog, and image paths are pointing to wordpress.com. Since that's free I guess it's not a big deal but it's definitely not self-contained so I may go back through and move all this stuff at some point.

Goes to show I should have been using something like S3 for my assets all along. :-)

Other Tools

Hopefully if/when Posterous does shut down they'll make good on their promise to make tools that let you export easily, but I came across another tool that lets you export everything from Posterous as a zip file. I haven't tried it, and it does cost ($9 for a single blog, $14 for multiple blogs under a single account), but this seems like a good way to just grab everything as static HTML so you at least have everything all in one place. I'm probably going to use this on my main blog as a backup even though I already have everything on Blogger (I'm mostly worried about asset paths and losing stuff on Posterous permanently) so if I do I'll follow up and let folks know how that went.

So there you have it. If you're more patient than I you can just wait and see what happens with Posterous, but if like me you want to jump ship now or have been thinking about doing it for a while anyway, these methods work well with the major potential issue being asset paths.

If you have other methods of doing this I'd love to hear them.

Comments

Siddharth Menon said…
This comment has been removed by the author.
Siddharth Menon said…
You could also use services like Justmigrate to move in few steps. It is really easy.
Eric said…
Hi Matt,

I found this post after searching for posts about converting Wordpress export files to Blogger import files.

I'm trying to use the same method you did, running wordpress2blogger on a local machine, but I'm encountering Python errors.

I'm using OS X with Python 2.7.2 and have installed the 'Google data Python library'. After I run the './run-appengine.sh wordpress2blogger' script, I can access the web console on localhost:8080, but I'm getting a "ImportError: No module named gdata.service" when I try to actually convert the file.

I got the same error with Linux Mint too.

Your post was really informative and thorough about converting blogs. Any chance you could let me know what I might be doing wrong? Thanks.

This is a sample of my terminal output:

File "/Users/eric/Downloads/google-blog-converters-r89/src/wordpress2blogger/wordpress2blogger.py", line 18, in
import gdata.service
ImportError: No module named gdata.service
Eric said…
Regarding my post above, I figured out how to use the converter scripts.

I didn't want to upload my blog contents to a 3rd party (appspot.com) and was able to do it on my local machine. Thanks!
Blogger said…
BlueHost is definitely the best hosting company with plans for all of your hosting needs.

Popular posts from this blog

Installing and Configuring NextPVR as a Replacement for Windows Media Center

If you follow me on Google+ you'll know I had a recent rant about Windows Media Center, which after running fine for about a year suddenly decided as of January 29 it was done downloading the program guide and by extension was therefore done recording any TV shows.

I'll spare you more ranting and simply say that none of the suggestions I got (which I appreciate!) worked, and rather than spending more time figuring out why, I decided to try something different.

NextPVR is an awesome free (as in beer, not as in freedom unfortunately ...) PVR application for Windows that with a little bit of tweaking handily replaced Windows Media Center. It can even download guide data, which is apparently something WMC no longer feels like doing.

Background I wound up going down this road in a rather circuitous way. My initial goal for the weekend project was to get Raspbmc running on one of my Raspberry Pis. The latest version of XBMC has PVR functionality so I was anxious to try that out as a …

Running a Django Application on Windows Server 2012 with IIS

This is a first for me since under normal circumstances we run all our Django applications on Linux with Nginx, but we're in the process of developing an application for another department and due to the requirements around this project, we'll be handing the code off to them to deploy. They don't have any experience with Linux or web servers other than IIS, so I recently took up the challenge of figuring out how to run Django applications on Windows Server 2012 with IIS.

Based on the dated or complete lack of information around this I'm assuming it's not something that's very common in the wild, so I thought I'd share what I came up with in case others need to do this.


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Assumptions and CaveatsThe operating system is Windows Server 2012 R2, 64-bit. If another variant of the operating system is being used, these instructions may not work properly.All of the soft…

Setting Up Django On a Raspberry Pi

This past weekend I finally got a chance to set up one of my two Raspberry Pis to use as a Django server so I thought I'd share the steps I went through both to save someone else attempting to do this some time as well as get any feedback in case there are different/better ways to do any of this.

I'm running this from my house (URL forthcoming once I get the real Django app finalized and put on the Raspberry Pi) using dyndns.org. I don't cover that aspect of things in this post but I'm happy to write that up as well if people are interested.

General Comments and Assumptions

Using latest Raspbian “wheezy” distro as of 1/19/2013 (http://www.raspberrypi.org/downloads)We’lll be using Nginx (http://nginx.org) as the web server/proxy and Gunicorn (http://gunicorn.org) as the WSGI serverI used http://www.apreche.net/complete-single-server-django-stack-tutorial/ heavily as I was creating this, so many thanks to the author of that tutorial. If you’re looking for more details on …