For some time now, I've been blogging from time to time about technical stuff and everything that keeps me busy, but mostly about tech stuff. When I started in 2018, there was really only one big player in blog software: WordPress.
Hate it or love it 💘
It was a love-hate relationship, admittedly. Wordpress itself was good, and maybe still is, but to do good SEO (search engine optimization) there alone, you need what feels like dozens of add-ons, three quarters of which have to be paid for. That's stupid and it's not feasible for a hobby blogger like me. Sure, it takes time away from you. But at the end of the day, you're just exchanging money for time.
But what annoyed me most about WordPress is that it's just so bloated. If you had a few add-ons installed, the interface would look as if it had been cobbled together by a three-year-old in one night. It simply no longer felt up to date and the cognitive load of writing a simple article was sometimes so immense that at some point I just didn't feel like it anymore. Not to mention all the security vulnerabilities.
Somewhere along the line, I came across Ghost - or rather, I came across it.
It's so spooky 👻
Ghost is actually exactly what I want as a developer. A system that can do little at first, compared to the competition, but at second glance that's exactly its strength. It's also super customizable, which is of course a trump card for me.
While I'm used to the overload of WordPress, the clarity of Ghost is really (positively) spooky. 👻
The installation 👨🔧
You can host Ghost yourself quite easily and with modern means via Docker. There are also ready-made stacks and compose files that you can use. I also believe that Unraid even has an app template for this.
You can also run Ghost on any server that supports the execution of NodeJS.
If you are looking for a small but nice host that supports NodeJS, I can recommend uberspace with a clear conscience. They don't cost much, are very flexible, have very good documentation and are therefore unbeatable 👇
Ghost can do everything you need
Ghost can do everything you need as a blogger, and it can do it very well. You can use it to send emails/newsletters, write articles and pages and also limit content to paying users. You can even sell products with it - out-of-the-box. And best of all: you receive 100% of the payments and they don't end up in any ominous splits (at most with the payment service provider). Oh yes, and it's also open source.
User interface 🗺️
The interface of the blog itself can be customized almost freely using themes. Some beautiful themes are provided as standard, which leave almost nothing to be desired. However, Ghost is not just blog software, it is actually a CMS (content management system) and offers many things that you could also use for your own portfolio, project or company website.
The "Casper" theme is pre-installed as standard and is already easy to use out-of-the-box. I also use it myself (with a few minor adjustments):
In principle, you could also run Ghost "headless" and not use the frontend at all and just connect your own site to Ghost's API - no problem at all. 🎉
The admin interface 🛣️
The interface is actually, in direct comparison to WordPress, very tidy, loosely designed and appealing:
What more could you want?
Writing an article/page is also very well thought out and goes very smoothly.
You can not only create articles, but also static pages where you can, for example, introduce your team or integrate an imprint.
Ghost already offers ready-made solutions for many things:
- Email content
- Email call to action
- Public preview
- Signup Card
All these cards make the creation of articles more appealing and design-wise this leaves a lot of flexibility open, so that the articles become exactly the way you want them to be.
In addition, you can also create your own snippets if you want to have recurring elements in articles.
Each article and page has settings that can also override general page settings. You can define your own URL, assign tags, set the publication date, access and authors:
When publishing, you can also decide whether you want to simply publish the article/page, send it by email or both. You can select the recipients (or use existing member lists/newsletters) and schedule the publication:
Settings pages always tend to quickly become the dustbin of a system to which very little attention is paid. With Ghost, however, things are different. Here, too, the impression is coherent and not overloaded:
Small con: The settings interface is only available in English. But that doesn't really bother me. It's not super technical English either, but easy to understand.
But it doesn't just look nice, you can also adjust a lot. This starts with the basic settings and ends with fancy code injections and integrations via WebHooks.
Ghost can be extended in many ways if the settings are not sufficient. You can create your own themes quickly and easily using templates (if you know HTML/CSS/handlebars). You can also automate many things via WebHooks and process them further using automation software, for example.
I myself use Ghost's WebHooks to automatically generate images with the title of the article with the help of n8n. If you don't know what n8n is and want to know what potential it could bring for you, just take a look at my article about n8n 👇
And if you're really hard up and all else fails, you can still program the core of Ghost yourself, since Ghost itself is OpenSource and all sources can be found on GitHub.
If you like Ghost and you're currently using WordPress, I highly recommend my article about migrating from WordPress to Ghost 👇