Complete Guide: Migrate Your Site from Ghost to WordPress

Complete Guide: Migrate Your Site from Ghost to WordPress

My podcast website has been on Ghost for about two years using the Pro plan, which cost around $11 a month. When I first started, I wanted a managed hosting platform with built-in newsletter features. So it basically came down to Substack or Ghost.

I tried Substack first. As I mentioned in this post, it was cheaper, but I didn’t like the permalink structure. So, I moved to Ghost. It’s a solid platform overall, and to be honest, I don’t really have any complaints about it.

Things changed when I started moving all my other websites to WordPress using Pressable hosting. The more I worked with WordPress again, the more I realized I preferred it. Mainly because I’m already familiar with it and it gives me more flexibility, which is very important to me.

So I decided to migrate the site from Ghost to WordPress.

The whole process is actually very simple. Essentially, you export your content from Ghost as a JSON file, convert it into a format WordPress can read (in this case, XML), and then import it into your WordPress site. There’s also a free online tool that helps with the conversion.

Let’s get started!

Step 1: Preparation and Export from Ghost

The first step is to set up your WordPress website. If you’re using self-hosted WordPress, make sure everything is installed correctly on your server. If you’re using WordPress.com, simply create a site in your account.

Double-check that everything works properly and that you can view your website.

Once your WordPress site is ready, you can start exporting your data from Ghost. Here’s how:

  1. Log in to your Ghost admin dashboard.
  2. Go to Settings → Import/Export and use the export tool to download all your content (posts, pages, tags, and authors) as a JSON file.

Step 2: Convert the Export File

WordPress’s built-in importer does not natively support Ghost’s JSON format. You must convert the file.

The good news is you can use a third-party conversion tool or service. Online converter like wpghostimport.com can process your Ghost JSON file and generate a WordPress-compatible XML file.

Step 3: Import Content into WordPress

Once you have the WordPress compatible XML file, the next step is to import it to your new site:

  1. Log in to your WordPress dashboard.
  2. Go to Tools → Import.
  3. Scroll down to the WordPress option and click Install Now, then click Run Importer.
  4. Upload the XML file you generated in Step 2.
  5. Follow the prompts to map authors and import attachments.

Step 4: Post-Migration Configuration

Now you have your Ghost content imported and a new WordPress website set up. There are several settings you might want to configure. Below, I’ve listed some of them, mainly SEO-related, since WordPress has free tools you can take advantage of, a luxury you don’t get when using Ghost.

  1. Set Permalinks: Go to Settings → Permalinks and choose a structure that matches your old Ghost URLs to maintain SEO rankings and prevent broken links.
  2. Import Images: Ensure images were properly imported into your WordPress Media Library.
  3. Install SEO Plugins: Unlike Ghost, WordPress offers plugins to configure your site’s SEO like Yoast SEO or All In One SEO.
  4. Point Your Domain: Update your domain registrar’s NS records to point your domain to your new WordPress host.
  5. Check and update other DNS records, such as MX, if you use an email service for your domain, to make sure everything is still working.

Step 5: Canceling Your Ghost Pro Account

Just because you’ve moved your site doesn’t mean Ghost will stop billing your account. You need to cancel your Ghost (Pro) subscription manually.

  1. Log in to your Ghost Admin panel.
  2. Go to the Settings (gear icon) and select Ghost (Pro).
  3. Click on Billing.
  4. Select Cancel account at the bottom of the page.
  5. Confirm the cancellation.