Hashnode vs. Ghost

Initially, I thought the built-in developer community would be a significant advantage for blog discovery, but the drawbacks overshadow this one benefit.

I’ve discovered that Hashnode lacks several key features that are crucial to me, making it not a good fit as my blogging platform.

As a result, I find myself reverting to Ghost, my blog before I stopped blogging last year. I have to manually migrate my previously written posts though, since Hashnode’s exported JSON file is incompatible with Ghost. Fortunately, I was still just starting, so it wasn’t that many yet.

It only exports 1 json file
The exported json file can’t even be imported in another Hashnode Blog

There isn’t also a straightforward way to move posts from one Hashnode blog to another, which essentially soft locks my content.

Unlike Hashnode, Ghost’s open-source nature allows for a seamless transition of my content to any host.

The platform also lacks customization options, offering only three preset layout formats, and a little bit of branding and CSS customizations, but no built-in distinct themes for you.

If you truly want to customize it, you need to use a headless CMS, which is free only for personal blogs.

Interestingly, a personal blog can be converted into a team blog but not vice versa, leading to additional subscription costs if a headless CMS is needed for a team blog.

Adding to the frustration, Hashnode does not offer any kind of refund for an annual subscription, even if the cancellation request is made within a few weeks of subscribing.

If you are a developer and all you need is a place to write a free blog and care more about discovery than any other features, then I would still recommend Hashnode.

As for me, I’m very delighted to continue my blogging journey here on Ghost.


2 responses to “Hashnode vs. Ghost”

  1. Your blog is a true hidden gem on the internet. Your thoughtful analysis and engaging writing style set you apart from the crowd. Keep up the excellent work!

Leave a Reply

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