Ghost vs. WordPress: best CMS for blogging

Ghost vs. WordPress: best CMS for blogging
Photo by Launchpresso / Unsplash

There is no doubt that WordPress dominates the blogging and online publishing world for many years. WordPress as a CMS powers nearly half of the Internet’s websites. So what’s the point to compare WordPress against Ghost, a new, free and open source blogging platform. In this review, I’m going to through the details and the points what Ghost is worth a look into. And why it should be your next content management system of choice for your new blog or project. And I think there is no exception that WordPress is popular here in the startup and tech community in Cambodia. Please note that all of websites and blogs we host and develop are based on WordPress.

Ghost Content Management System (CMS)

What's it? "Ghost is an open source blogging platform that helps you easily create a professional-looking online blog. Ghost is a robust content management system (CMS) with a Markdown editor, an easy-to-use user interface, and beautiful themes. It is easy to install and update with Ghost-CLI."

Installing Ghost on a local machine

I can confirm that it’s easy to install Ghost (14.x (Node v14 Fermium LTS) on your Mac machine. It’s simple and straightforward. I also tried to setup a local environment for testing a Raspberry Pi 4 (Ubuntu), but I struggled getting the compatible Nodjs version. I’m sure I’ll go back to this again.

After all, this local Ghost on my MacBook Pro laptop is the first time I can see how Ghost works at the back end. Simply, it’s beautiful and neat. Or I’d say: less is more.

Running Ghost static site

You can install a local Ghost on your laptop, push your site to Github repository, and host it on Github page (with or without your custom domain), you can follow this easy to follow instruction: Hosting a Ghost Blog in GitHub. With small sites, you can have this nice setup for free. It's ideal for students and those who want to learn Ghost and Jamstack.

Installing Ghost on a Linode virtual private server (VPS)
What you need:

  • A VPS (at least 1GB RAM)
  • NGINX
  • MySQL
  • Node.js and NPM
  • Ghost-CLI

I think it has taken me quite a while to get things right. Why? Well, because I want to re-use the existing VPS I have for Ghost installation. You can read the full installation guide here: How to install Ghost on Ubuntu. And Linode also has a documentation section on how to install Ghost CMS on Centos, Debian, and Ubuntu (and with Docker).

Comparing with WordPress installation, Ghost takes on a different approach. While WordPress has its famous 5 minute installation, you mostly use Linux commands. But what I really like Ghost CMS installation is that if the first attempt fails you, you can start it all over again. Ghost doctor, Systemd, Ghost unininstall are most often used.

If you install Ghost CMS on a 1GB VPS, you should be able to setup a few blogs. Each setup consume about 300MB. After installing 3 basic blogs, it's getting difficult with insufficient RAM available.

Hosting several Ghost instances on one single VPS? You should read this method of using one VPS to host multiple blogs.

Hosting a Ghost Blog in GitHub - the easier way

Install Ghost on Raspberry Pi? There is a good blog dedicted to this. Ghost Pi blog covers all you need to know to do the same, such as using custom domain names and a CDN to optimise your blog. Check it out if you want to learn how to test it: GhostPi.

Moving to Ghost from WordPress?

There is a WordPress plugin to export your WordPress database and files for this. But after downloading the Export file of this site (just under 100MB), the import tool on Ghost dashboard cannot really handle it.

It says: Import failed. Request is larger than the maximum file size the server allows

But it’s not the end. When exporting your WordPress database, you also have the option to download it as a Json file format. The reason is simply that Export to Ghost means download all the content (posts, pages, and image files). This is usually impossible with a lot of files. The Json file is different. It’s like an XML file. It’s way smaller because it contains only the the text content, no images. So, if you've got a huge WordPress site, it's not yet simple. It would need extra work.

With a modern cloud-based server designed for WordPress, you can easily get a lightning fast, safe and secure blog. We love this setup, which is the best performance optimization for a VPS to host WordPress sites for our clients: OS: Ubuntu Server 64-bit, latest packages of Nginx, PHP, MySQL/MariaDB, and Redis, Let’s Encrypt SSL/TLS certificate. Essentially, with this kind of setup, it takes much less memory consumption to run WordPress blogs effeciently. You can actually read our in-depth review for Linode vs. Vultr vs. DigitalOcean, using SpinupWP to manage WordPress sites.

Blogs and sites powered by Ghost CMS
This site Kokitree
Tharum's Blog
Buffer's social media and marketing library, Unsplash blog, OpenAI, DigitalOcean Blog, Cloudflare Blog, The Standford Review

Our takes:

Why should you consider using Ghost in the first place? Well, if you want to use an open, stable platform, and it's fast and SEO friendly. Not PHP. If you're an experienced blogger who wants to learn something new, you should look into Ghost as your next CMS after WordPress. "Ghost is the fast, modern WordPress alternative, focused completely on professional publishing."

made with ❤ in the heart of phnom penh