One of the hurdles of many people out there looking to try Ghost is that they already have a WordPress blog. Many of the tutorials are already outdated, not keeping up with the current versions of the platform.
But don't panic, here I show you how to truly do it, step by step, so you can start using Ghost right away.
Before continuing with the tutorial, please consider that:
- All your posts, pages and tags will be migrated with the json file (more on that later). All other things like custom fields, meta, members, authors, shortcodes, post types, taxonomies, or binary files will not be migrated.
- Categories won't be migrated. If needed you can convert your categories to tags before exporting.
- Comments will have to be exported and then imported in the service you are using in Ghost.
- Media can be exported but will have to be manually assigned within Ghost.
- Authors will not be migrated, but the posts will contain the Author assigned. We'll have to create those authors ourselves.
Without further ado, let's start migrating our site!
Migrating your WordPress content to Ghost
- Install the Ghost plugin.
- In the Wordpress admin console, on the left side go to Tools -> Export to Ghost.
- Don't pay attention to all the stuff you see there and go straight down where it says "Download the .json instead".
- Save the file to your computer.
- Now head over to the Labs section of your Ghost website. There, go to Migration Tools -> Import content.
- Click on "Choose File", select the .json file that the Ghost plugin created and click "Import".
- All your posts, pages and tags are now migrated.
Adjust the migration information
Now that the first step is complete, we need to fix some "bugs" associated with it.
Since there's no mass deletion option for authors, you will have to go one by one. (I KNOW IT SUCKS).
Another thing is the pages: probably most of your pages will just transfer the meta data but not the actual design, since the theming structure is completely different. In this case, you'll have to decide to either re-create the page in Ghost or just delete it.
Migrating the media
To transfer all your media content, we'll rely in a plugin called Export Media Library.
- Install the plugin.
- Go to Media -> Export.
- Select yes or no for compression and click Download Zip.
- You will then get a zip file with all your media content. You will have to then manually assign that media to your posts/pages.
Migrating members (if needed)
- Go to Users -> Export to CSV.
- Select the roles you want to export and the columns. In my case, customers and user email are enough.
- Open your CSV file, and change the column name from "user_email" to just "email".
- Go to the members area and select "Import members from CSV".
- That's it! All your members are now in your blog.
📚 Suggested Post ⤵Not sure about which hosting to start with? Read my DigitalPress review
Migrating your SEO information
Well, the best that works for me on this one is to just copy the information on Yoast SEO and paste it on the General settings:
- Copy the information in your home/front page in the Yoast Section and copy it in the Site Meta settings.
- Do the same for the site title and description.
Warning: Before importing, make sure that you have carefully read the Introduction to Importing guide. This guide explains how the importing process works and the limitations of importing. After reading that, continue the following steps.
First, we'll export the WordPress comments:
- Go to your WordPress dashboard.
- Go to Tools -> Export.
- From "Choose what to export" menu choose posts.
- (Optional) Then, if you need, select what posts you need to export (by category, authors, start date, etc.).
- Download the file.
Next, we'll import the comments into Hyvor:
- Go to the Hyvor Talk console.
- Select the website from the left panel which to you need to import the comments.
- Go to the import section.
- Choose WordPress from the Import From option.
- Select the downloaded file by clicking Choose File. Click Upload.
And that's it. Importing may take some time depending on the length of the queue. Therefore, allow up to 24 hours. You will receive an email once the importing process is completed.
You can check the status from the Import History section of the console (Console -> Import -> Import History).
Confirm everything is working as expected
The last step is to ensure that everything works fine. Visit a few posts, check if there are any missing images, and make sure that your blog is working as you projected it to.
Ultimately, you have 3 ways to do this migration process:
- Follow this tutorial and do it yourself.
- If your business is huge and your are planning to use Ghost Pro Business, then the Ghost team will transfer your blog for you.
- If you want someone else to do it for a modest fee, then you can contact me since I offer those services. Every site is a different case and depending on the complexity a fixed price is determined.
If you run into any problems, feel free to leave a comment or tweet me.