If you are migrating your content from WordPress, you can use the Ghost WordPress Plugin to export your content

Currently, this is limited to an older version of Ghost (1.0) - so the process is quite manual and involved (we’re aware that this is not ideal, so we're working on improvements, read more about migrations).

This guide explains the exact steps to take to migrate your content from WordPress to Ghost. It will guide you in two sections:

  1. Installing the WordPress plugin and exporting your data
  2. Using a local install of Ghost to get an up-to-date JSON export suitable for the latest version of Ghost

Using the WordPress plugin

The Ghost Plugin for WordPress allows you to export your self-hosted or local WordPress data in a format that can be imported into a Ghost publication.

Find & install the Ghost plugin

Log into your WordPress Installation and navigate to Plugins > Add Plugins.

Search for “Ghost” in the search bar and click Install Now once the plugin has been located, then click Activate when the plugin has finished installing.

Convert WordPress categories to tags

All Categories in WordPress must be converted to tags for Ghost. To convert categories to tags in WordPress, go to Tools > Import and click “Install Now” next to “Categories and Tags Converter.”

Once installed, click “Run Importer” to access the conversion tool, and check all categories to be converted.

Run the Ghost plugin

To create your Ghost export file, go to Tools > Export to Ghost and click the “Download Ghost File.” A JSON file containing your WordPress data will be saved to your computer.

Retrieve your WordPress image directory

The Ghost plugin does not export images. Images need to be downloaded separately from the WordPress install, at the default location images are stored (e.g. wp-content/ uploads).

Update image paths in JSON file

In WordPress, images are located at /wp-content/uploads/ by default. In Ghost, images are located at /content/images by default. To ensure there are no broken images after migrating content to Ghost, update the image paths in your JSON export file, before importing to Ghost.

Using an HTML or text editor, open the JSON file generated by the Ghost Plugin, and perform a find and replace for the following:

Find: /wp-content/uploads/
Replace: /content/images/

Importing your content to Ghost

Exports from the Ghost WordPress plugin only work with Ghost v1. In order to prepare your content for the latest version of Ghost, follow these steps:

  • Install Ghost v1 locally
  • Import your WordPress export file
  • Upgrade your local install of Ghost to the latest version
  • Export your content again from your updated local version of Ghost
  • Import the final JSON export file to your production instance of Ghost or Ghost(Pro)

Below is a detailed tutorial of how to do this.

Install Ghost v1 locally

Ensure you have the correct pre-requisites to install Ghost locally by referring to our local install guide.

This includes a supported version of Node.js, yarn or npm and the Ghost CLI. Once you’ve done this, create a new local install on your machine as follows:

  1. Create an empty directory and give it a suitable name
  2. Open a terminal window
  3. cd into the empty directory you just created
  4. Run the install command ghost install local --v1

When the install is finished, go to http://localhost:2368/ghost and create your owner account to access Ghost admin.

Import the WordPress export file

From the admin area of your local install, go to the Labs settings and click the “Import” button to import the JSON file you exported from WordPress earlier.

Upgrade your local install

The final step to produce a file that can be imported into Ghost(Pro) is to upgrade your local Ghost install.To upgrade Ghost, open a terminal window and cd to the directory of your local Ghost install and run the upgrade command:

ghost update

Ghost CLI will handle the rest – once it’s finished updating proceed to the next step.

Export from Ghost

From the Labs section in the admin of your local install, use the “Export” button to generate another export of your data. This is the last export you’ll need to do! A new JSON file will be saved to your computer which you will then be able to import to a production instance of Ghost running the latest version.

Importing images into Ghost

Ghost can import images within a provided zip file. For a self-hosted install, the images need to be located in a folder called content/images. You can also import your images from the Labs page in Ghost Admin.

For assistance importing large image directories into Ghost(Pro), contact support.

Final steps

Once you’ve followed these steps and imported your content into the latest version of Ghost on production, check that the content has been imported correctly. You should be able to see your posts in Ghost admin, and visit your site to ensure your content and images have been migrated successfully.

Tip 💡

Some things that you might want to do next include:

  • Implement any necessary redirects – here’s a tutorial for working with redirects in Ghost
  • Review custom meta data for your content – discover what you can do with Ghost publishing options
  • Customise your theme, if you haven’t already – use our theme documentation to find out more