Migrating From WordPress to Ghost

Before You Begin

  • Migration from WordPress to Ghost requires the use of the Ghost Plugin. To install this plugin you will need a self-hosted version of WordPress. If you’re unable to install WordPress locally, you can use a free service such as qSandbox to setup a disposable WordPress installation for the migration.
  • Disable any WordPress plugins currently running on your installation, as they may interfere with the export.
  • Make sure any categories are converted to tags.

What Imports from WordPress

The Ghost Plugin will export:

  • Posts
  • Pages
  • Tags
  • Users (roles will be manually adjusted)
  • Description and website info

 

The Ghost Plugin will not export:

  • Attachments
  • Comments
  • Images
  • Shortcodes
  • Custom post types

After setting up a local version of WordPress, follow the steps below to migrate your WordPress publication to Ghost.

Step 1: Install the Ghost Plugin

  1. Log into the WordPress site
  2. Go to Plugins > Add new
  3. Type "Ghost Plugin" into the Plugin Search field and hit Enter
  4. Click Install Now on the Ghost Plugin
  5. Click Activate to turn on the Ghost Plugin

Step 2: Generate a Ghost Export File

  1. Log into the WordPress site
  2. Go to Tools from the admin menu
  3. Click Export to Ghost
  4. Click Download Ghost Export to generate the .json export of the WordPress site

Step 3: Import data into Ghost

  1. Go to Settings > Labs from the admin menu of your Ghost publication
  2. Click Choose file to select a JSON file on your computer to import
  3. Click Import to start the import process

Import images from WordPress to Ghost

The path of uploaded images within Ghost is similar to WordPress, the difference being that name of the folders used, ex. /wp-content/uploads/ (WordPress) and /content/images/ (Ghost).

To migrate your images from WordPress to Ghost(Pro), perform a "Find and Replace" within your Ghost JSON file generated by the Ghost Plugin, and change all instances of /wp-content/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 [email protected] the zip, so that the image directory can be uploaded to your Ghost(Pro) blog.