Migrating From WordPress to Ghost

Moving to Ghost from WordPress? You can easily import your posts directly into Ghost with a little help from a plugin we’ve designed specifically for this purpose. Follow along with this guide to get started!

Note: You will need a self-hosted/localhost version of WordPress to utilize the Ghost Plugin. If you are unable to setup WordPress locally, you may try the non-official option of using Wp2Ghost, to convert the WordPress XML file to the Ghost JSON format. 

Install the Ghost Plugin

  1. Log into your WordPress website.
  2. Go to Plugins from the admin panel.
  3. Click the Add New button.
  4. Type Ghost Plugin, or Ghost into the search field and hit enter.
  5. Find the Ghost plugin, and click Install Now to install.
  6. Once installed, click Activate to activate the plugin.

Generate an Import File

  1. Go to Tools from the admin panel and select Export to Ghost.
  2. Click the Download Ghost File button to generate a JSON export of your WordPress blog.

Import into Ghost

  1. Log into your Ghost blog, yourblog.ghost.io/ghost/signin.
  2. Select Labs from your admin menu on the left.
  3. Click Choose file to select the JSON file from your computer.
  4. Click Import to import your JSON file into Ghost.

Importing images into Ghost

The path of uploaded images within Ghost is similar to WordPress, the difference being that unlike WordPress, which stores images to /wp-uploads/, they are stored at /content/images/ within Ghost.

To migrate your images over to Ghost(Pro) from your WordPress blog, perform a "Find and Replace" within your Ghost JSON import file, and change all instances of /wp-uploads/ to /content/images/. Ghost uses the same yyyy/mm/image-slug format for the rest of the image file path. 

Once your JSON file has been updated and imported into your Ghost blog, you will need need to zip up the image directory and email support@ghost.org the zip, so that the image directory can be uploaded to your Ghost(Pro) blog.