Why I decided to shift from Ghost CMS to WordPress

Written by jcfrane

February 25, 2020

WordPress is shit, PHP is slow bla bla bla..

Me

That is literally me when I really wanted to create my very first blog site and the egotistical me didn’t want to use a CMS which is well known for its bad code and slow performance. My line of thinking that time is that WordPress is cheap, and I am a web guru who will rather try another alternatives rather than to try this WordPress monstrosity.

I even tried doing my own CMS with Symfony and soon realized that it will take me a decade to create my own.
I explore every alternatives  – GatsybyJS (I hate React), Drupal (can’t even make the caching work properly lol) and lastly Ghost CMS. 

I got hooked on just looking how beautiful Ghost CMS is. It is written in Node and you will create your themes with Handlebars. I get to my laptop and let the coding begin!

As I finished my coding, I started to notice some setbacks that I found frustrating because a typical wordpress blog should be able to do it easily. The list of frustrations goes on and on that I decided to swallow my pride and started studying wordpress.

I think It would be helpful for someone, who’s seriously considering Ghost, if I list those.

No efficient search functionality

Blogs are not just for writers. It is also for readers. Well, that’s the logic – we write cause we want someone to read. Imagine a blogsite where you can’t search for a particular word or term? That’s  very frustrating.

In fact, an issue on github has been submitted 5 years ago and still no implementation on-going.
See: https://github.com/TryGhost/Ghost/issues/5321

If you want to have a search function inside your blog you have to use several plugins or implement it yourself via apache/solr or angolia.

No Custom Post Type

What I love about wordpress it its customizability. Ghost CMS doesn’t offer that. In fact, blog posts cannot have additional fields. If you want a blog that needs a Custom Post Type you simply cannot do that. There is currently virtually no way. So you are stuck in its fixed fields and you are the one who need to adjust.

Taxonomy

WordPress has categories and tags as its taxonomies. You can even have your own custom post type that somehow can serve a logical grouping for your content. In Ghost you only have tags. That’s it.

Imagine I would want to categorize my development blogs?

WordPress way:

Add parent category Development then inside it add child categories PHP, Javascript etc. Then add tags like Angular, Symfony etc.

Ghost way:

Everything is a tag.

Deployment

In Ghost CMS there are limited options on deployment. You can either try their own hosting (which is pricey) or try to install it on a ubuntu server manually or you can try docker. If you are a non-techy blogger your only option is limited to hosting on their servers.

In wordpress,  many web hosting offers Auto-Installers that will install wordpress in just 1 click. Voila! You got a running blogsite.

Conclusion

While Ghost CMS has its setbacks there are also things you would love about it. Its text editor is so simple and elegant to use. In its core, it is a platform which solely focuses on blogging that’s maybe the reason why there is not much room for customizability. They also offer many integrations from Zapier, MailChimp, Disqus among many others. 

If you are a blogger who only want a simple blogsite and has some extra money in the pocket then you can try Ghost CMS. If you have a tight budget, then use WordPress and swallow your pride like I did ?

You May Also Like…

Github Code Navigation Made Easy!

Github Code Navigation Made Easy!

Did you know GitHub's unlimited private repositories are now free? Yeah, you read that right!As such, I started to use...

2 Comments

  1. mark markanthony.rosario

    good post.. atleast i know which issues i could possibly hit.

    -from a wordpress user who is trying our Ghost right now.

    Reply
    • jcfrane

      Glad this helped 🙂

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *