I’m aiming to finally start a personal blog this year but I want to avoid using WordPress. And no, it’s not just due to the recent meltdown of WordPress’ CEO (though that certainly doesn’t help). I just really hate the structure of WordPress and what a mess it is. The database is overkill for most websites and ends up making things more complicated than they should be. For example, I remember having to install a plugin just to be able to replace an image file or to backup my site.
WordPress is also notorious for its security vulnerabilities and performance issues. The plugin directory even has a dedicated category for anti-virus plugins to stay on top of all the security vulnerabilities, but the plugins themselves can cause vulnerabilities.
96% of the websites hacked are running WordPress (source). It is the most targeted and vulnerable CMS on the market.
Anytime I’ve setup a WordPress project, I ended up spending more time trying to get things to work than on being able to focus on the content, and this ended up killing all the joy of website building for me.
I ended up using Medium for my public writing and it was a refreshing experience. But there’s more I want to do that will require finally building a personal site. So what are the options in 2024?
Wordpress Alternatives
Here are the four main categories of website building tools:
Category 1: “No Code” / WYSIWIG
- Examples: Wix, Squarespace
- These are the designed for people with little to no tech skills. It’s fast and easy, but customization and functionality is minimal so it’s only suitable for the most simple website needs.
- When you build a website with these tools, you’re stuck hosting with that provider forever. The website is not transferable to anywhere else. The hosting fees are expensive and you’re at their mercy hoping the price will not go any higher in the future.
- Conclusion: Not for me. 🙅
Category 2: Traditional Content Management Systems (CMS)
- Examples: WordPress, Ghost, Joomla, Drupal
- The Admin interface makes it seem simple and easy at first, but the database is overkill for most website needs and this ends up creating more headache and problems later.
- Conclusion: Not for me. 🙅
Category 3: Flat-file CMS
- Examples: Kirby, Grav, Statamic
- Folders and files are used instead of a database. This makes it easy to view, edit, store, backup, and transfer content. You can even manage everything without an Admin interface, though an Admin interface is still available for those who want it.
- Not relying on a database eliminates the single point of failure that traditional CMS’ have.
- If you need a database for some extra functionality, many flat-file CMS’ provide the option to connect to one.
- Content version history can be easily managed using Git.
- Conclusion: My ideal solution. 🤩
Category 4: Static Site Generators (SSG)
- Examples: Astro, Hugo, Jekyll, Pelican, 11ty, Gatsby (RIP).
- SSGs take your content and templates and build your site as a collection of static HTML files, and these HTML files are the only thing that gets stored on the server. This makes the site very fast, secure, and SEO friendly. But anytime you make any changes to the templates and/or content, the whole site needs to be re-built and re-uploaded to the server.
- The functionality of static websites is limited compared to dynamic/CMS websites. Astro is trying to solve this by providing the ability to add some dynamic functionality to a mostly static site.
- Another downside is that there is no Admin interface: all the work is done in a code editor and command line (Terminal). This makes SSGs less suitable for client projects.
- Criticism of SSGs from OleVik (part of Grav’s core team):
all Static Site Generators (SSG), and I do mean all — I review and test a group of them yearly — of them are lacking in various ways. They either have some idiosyncratic, home-cooked way of doing things, do not follow standards, fail to separate concerns, or lock in content or design. Even the newcomers like 11ty, which seek to overcome this, end up doing very little that help the situation at all. The Jamstack-variants are the worst examples of lock-in and messing up concerns in years.
- Conclusion: Not for me. 🙅 Except for Astro — it stands out from all the other SSGs with its dynamic options and it can potentially be better than a CMS for smaller website projects that don’t need to hold a lot of content. The more I learn about Astro, the more intrigued I am by it. Astro also has a super passionate community behind it that is unmatched by any other SSG.
My requirements & personal bias
Your choice in WordPress alternatives will depend heavily on your technical background. For context, here is mine:
As a 90’s kid, I’m comfortable building static webpages from scratch using just HTML and CSS thanks to MySpace. We even learned a bit of JavaScript and jQuery as part of our high school curriculum. In college, I learned some programming (in C and C++) and I’m familiar with PHP, but never built a full-fledged dynamic website. So in addition to content writing, it’s my personal goal to also get back into coding and web development.
My requirements for a blogging platform are:
- Being able to create my own simple front-end design from scratch using just HTML, CSS, and some PHP or Javascript.
- Being able to create/edit content without using an Admin interface or control panel.
- No database; data should be stored in files that I can easily view, edit, move, copy, backup, version control, etc.
- Being able to write posts in markdown (my personal notetaking is done in Obsidian which also uses markdown).
- Having the possibility to add dynamic content.
- Low maintenance, high speed, and good security.
Based on all of these requirements, I ended up choosing Kirby CMS.
Kirby CMS
The moment I read about flat-file CMSes, I couldn’t wait to try it! And of the three most prominent brands (Kirby, Statamic, and Grav), Kirby stood out to me the most for:
- The clarity of it’s website and tailored explanations for developers, designers, content creators, and clients. It helped me quickly understand how it works from multiple perspectives. They also have helpful video tutorials on Youtube.
- The simple and logical structure of Kirby, and the ability to directly write your own front-end from scratch without any baggage.
- Being able to download Kirby from your browser and start exploring the files and folders. In contrast, Grav and Statamic make you download/install through Terminal. While I’m comfortable using Terminal, it’s far from my preferred choice of interacting with my computer.
- And perhaps most importantly, the passion of it’s users and community:
Having worked with Kirby for about 3 years now, I can honestly say I have never had so much fun building websites. It’s fast, it’s light weight, there is no database involved (but you can connect to one easily if you need to) and it’s very secure. It’s flat files too, so you can keep everything under source control. The community is amazing and very helpful. Once you start, you won’t want to go back. — jimbobrjames
“Kirby: Great design and UX, simple structure and ideas, backed by a stable company, good dev cycles, awesome community. Flat file so very simple/portable.” — _pgl
“Kirby doesn’t need lots of updates and maintenance. You can simply keep an eye on the releases and update it every now and then. Also, since you don’t need to deal with the craziness of the WP ecosystem you can build much more stable websites. Plus, Kirby is not an open source project, the direction they’re taking is clear and the communication here is great so you know what to expect moving forward. I coded many WP sites using essentially only 1 plugin, ACF 10, and that’s only to make WP do what Kirby does out of the box (almost).” — manuelmoreale
Once I finish building my first project in Kirby, I’ll write a new article sharing my experiences with it. Hopefully the honeymoon period doesn’t end too quickly 🤞😆
My only complaint so far about Kirby is that they left Twitter after Elon Musk took over. 🙄 Regardless of what you think of Elon Musk, Twitter (or “X”) remains an important part of the tech community and I‘m worried that Kirby’s lack of presence on the platform will hurt it’s growth. Especially now when so much of the WordPress drama is directly unfolding on Twitter and people are looking for WordPress alternatives. It’s a huge wasted opportunity by Kirby to get it’s name out there. 🤦
The last thing to note about Kirby is that it does require a one-time licensing fee, but they let you try before you buy. So you can take your time to fully build your website, and only pay once you’re ready to go live. They are also flexible on pricing for personal sites and students. Here’s the founder’s (Bastian Allgeier) comment on Quora:
Hey, I totally understand that Kirby’s pricing model might not always fit for personal sites without any budget, but in such a case you can always contact me directly: bastian[at]getkirby[dot]com
There’s also a general 50% student discount.
Statamic
This was my close second after Kirby. It also has nice documentation (and even good humor 😄), but seems to be a bit more complex. The control panel (Admin interface) is much more comprehensive that Kirby’s, so it could be a good alternative for those who are attached to the Admin interface in WordPress. Also it has WordPress’ ACF (Advanced Custom Fields) functionality built-in.
The weakness of Statamic (compared to Kirby) is that Statamic is more resource hungry because of its dependency on Laravel. Kirby is pure PHP, framework agnostic, and just around 5MB and 500 files — whereas Statamic + Laravel are around 90MB and 11,000 files total. Even WordPress is smaller at around 55MB. (Sources: 2020, 2023, 2024)
“Statamic is like a typical large American car/truck. Bold, flashy, and it runs on coal and fossil energy. Kirby is like a Tesla or a European smartcar.
Nonetheless, after I finish my first Kirby project, I would still like to give Statamic a try out of curiosity because of it’s passionate community, Flat Camp retreats, and because I like the founder’s design style.
Grav
Disclaimer: I’ve not gotten as in depth into Grav to give it a fair assessment. I just remember tinkering with it briefly many years ago and getting confused and then busy with something else.
When I went to checkout Grav now, the community forum threads have a more pessimistic vibe compared to other flat-file CMSes. There are complaints about plugins and themes becoming neglected and broken for years, and some people seem to be worried that Grav in general is becoming stagnant and not updated as often. The core team is down to just 1 person after the pandemic.
But there are also plenty of people who are still happy with Grav and how it has matured. I’ve not had the chance to try Grav long enough myself to be able to comment either way. So if you have the time, do give them a fair shot!
Ghost
I briefly tried Ghost as it provides more functionality than Medium and Substack, but without all the clutter and technical debt of WordPress. The official templates are also very nice and modern and I had several on my shortlist.
I would have likely stuck with Ghost if it wasn’t for my technical curiosity to learn and try flat-file CMSes. If you’re not as into that, then Ghost is perfect.
My main complaint about Ghost is that the official hosting is a bit pricey (starts at $11 USD/mo) and there’s no free version. The price goes up even further to $31 USD/mo if you want to use custom themes and take advantage of their 1000+ integrations.
I did manage to find a much cheaper hosting option for Ghost over at PikaPods for just $2 USD/mo and with a $5 USD credit to start. So if you find that Ghost meets your needs, or if you want to give it a try beyond the 14 day trial at Ghost.org, do give PikaPods a shot!
Also, if you ever want to export your Ghost content and move to another platform, note that the content is exported in the form of a single giant JSON file. This is not necessarily bad, but I just prefer having my content in easily accessible markdown files (which Kirby allows you to do) because it also matches and complements my markdown-based notetaking system (Obsidian).
Conclusion
I hope this article was helpful 🙏 Please share in the comments your own experiences with any WordPress alternatives that you’ve tried, and don’t be shy to ask questions or to point out if I got anything wrong 😊