Greg Morris

Designer, Pretend Photographer, Dad

Migrating From Wordpress To Ghost

I’m going to be completely honest, this wasn’t easy for me – it was supposed to be straight forward, but everything that could have gone wrong did. I took the inspiration from Matt Birchler to post about my migration and the issues I faced in the hope someone else won’t run into the same.

Exporting From WordPress

The easiest way to do this is through the Ghost export plugin. The plugin promises to download all of your posts, pages, and information into an easy to import ZIP file. Unfortunately, I haven’t met anyone yet that this has worked correctly.

In preparation, you will need to think about the categories you have on your blog. Ghost works on tags and not categories, so this information needs to be transferred before you export. Use the Categories to Tags converter plugin and run this once before export.

Also if you are a lone blogger, make sure your user account has the same email address as the one used on WordPress. If they are different the import will set up another User account that is locked. Deleting this user also deletes all of the posts, and short of transferring each post over individually, you are a bit stuck.

I had to switch to using the JSON option as the exporter kept timing out, even when I increased the memory available and also the time limit to infinite. This JSON file will only give you post and page content, not images to go along with it.

Imports and exports in Ghost 1

Importing To Ghost

Once you’ve set up your blog on Ghost, log into the dashboard, go to Labs > Import content > Choose your file. The process is swift, and at the end, all of your posts and pages will be live on your site. If you’ve managed to export a zip file, you have nothing more to do other than check through your posts and make sure you are happy with them.

Due to my issues, I had the job of downloading all of my images from 7 years of posts and combing through each post to put them in. I tried to import all of my images into the recommended content/images folder; however, I used this opportunity to tidy up the folder.

There is no reason a bulk import of images wouldn’t work providing you keep the same structure as your WordPress blog. However, bear in mind that WordPress stores multiple versions of the same image at different sizes so your images folder is going to be overinflated – if storage space is an issue for you then consider doing some work to tidy up beforehand.

Now all I had to work about is a theme, and setting up my link posts!

Blog screenshot 1


If I did this again, I would work a little more on editing the JSON to my liking and making everything run a little smoother. More information on doing your import can be found on the Ghost site.  My move was time sensitive as my hosting was coming to an end, but given more time, I would work on a testing domain with Ghost and spend more time on the import and set up.

Exporting and importing from hosting platforms needs to become more uniform. Manton Reece, the creator of, has called for an implemented standard to make things much more comfortable to move around. It is times like this when you wish something existed. Many applications spend time working on importing from other options, so perhaps it’s time this becomes a consideration to those that run blogging platforms.

Reply via:
Leave Reply