Switching from WordPress to Ghost CMS

Hosting Oct 8, 2020


I have been using WordPress for my personal and business homepages for ages by now. I was not unhappy with WordPress, but the constant hassle with updates, the inconsistency between them and some minor outages made me look around. Sure, the outages were mostly related to my hosting provider, the plugin updates could be automated, but in the end I decided to have a look around and to move on.

TL;DR: I highly recommend Ghost CMS. Honestly, the performance is much better and it is so much cleaner.

Hosted vs. Self Hosted

The obvious choice when using Ghost CMS is to use the hosted Pro version. You don't have to care about installing, updates, backups etc. You just pull the trigger and relax. See pricing for more detailed Information.

Ghost (Pro) subscription packages
Ghost (Pro) subscription packages

You know I am somehow related to Programming and Engineering and I thought about self-hosting. I know, I still have to care about updates, but the amount of them will dramatically decrease compared to WordPress and its plugin system.

After a bit of researching I decided to go with Digital Ocean for my needs. They offer a (close to) 1-click installation. The smallest droplet, which is enough for starting or small blogs, costs $5. If you like a bit of safety, you can opt-in for weekly backups for an additional $1. The total prices for the self-hosted version of Ghost is at $6 for me. Far lower than the $29 (or $36 when billed monthly) options for Ghost Pro.

Change WordPress Categories to Tags

Ghost can't deal with existing WordPress categories, but there is a workaround for this. You have to change all WordPress categories to tags and then export all the posts. Basically, categories and tags are (nearly) the same.

Tags will be exported from WordPress, but not categories. This can be remedied using the Taxonomy Converter plugin. - Ghost Documentation.

Importing Posts

When you are moving from WordPress to Ghost you want to keep all of your posts. Luckily, you can import all of your existing posts form WordPress into your Ghost instance. One thing to keep in mind is, that Ghost doesn't support WordPress categories. Find more about this in the "Importing Categories" section.

Ghost offers a WordPress Plugin for exporting data. This Plugin hasn't seen an update in quite a while. For me, the only way it worked out was to export my data as JSON file.

Export your data as .json file from WordPress
Export your data as .json file from WordPress

Importing posts: Open Ghost admin pageLabs Import contentSelect you .JSON file.

After the import is completed (or failed) you will see a message below the import content section. I got several error messages, but all my posts were imported successfully. Double-check at the posts' menu if your posts are imported, even if the import process throws an error.

Note: All your media won't be imported when using the .JSON file. You have to export all media files and re-add them to your posts. I know, it's a pain, but it's a one-time job.

Importing Comments

Ghost doesn't support comments out of the box. The reason behind these decisions is, that Ghost want to be as clean as possible. They really try to focus on core features and functionality, which is fantastic in my opinion. You can find supported solutions, but really you can use whatever "comments" solution you want. I chose Hyvor Talk because they allow to import my existing comments, and they offer great customer support. You have a trial period and after that the plans are starting at $5. You can see and test the comment solution at the end of this post.

Adding Google Analytics

You can easily add Google Analytics to your Ghost instance. Copy the JavaScript code from your Google Analytics property to Ghost Admin → Code Injection → Site Header and you are all set.

Adding Google AdSense

It's the very same process as for Google Analytics. Add your JavaScript code snippet from your Google AdSense console to Ghost Admin → Code Injection → Site Header and you are all set.

Adding any other JavaScript

Just in case you didn't read the Google Analytics or Google AdSense integrations, you can add any custom JavaScript either in the header or footer at  Ghost Admin → Code Injection → Site Header or Site Footer and you are all set.

Custom JavaScript Code Injection at your Site Header or Site Footer
Custom JavaScript Code Injection at your Site Header or Site Footer

What do you think about Ghost? Have you already switched or considering a switch?


Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.