HELGE SVERREAll-stack Developer
Bergen, Norwayv13.0
est. 2012  |  300+ repos  |  4000+ contributions
Tools  |   Theme:
Content Notice! This post is really old, and no longer reflects my skill level, views or opinions. It is made available here for archival purposes (it was originally on my old WordPress blog). Keep that in mind when you read the contents within.
Modern CMS Choices
January 18, 2017

This post was never published. Written in January 2017, it captures the frustration of a developer who had spent too many hours wrestling with WordPress and Joomla. The CMS landscape has changed dramatically since then — some of these picks thrived, others faded.


Fuck WordPress and especially fuck Joomla, it's time we start using some sane alternatives to power our client websites, a CMS that they can actually manage to use without several hours of hand holding that eventually just ends up with you having to update the website for them anyways.

So let's weigh our options!

In 2017, we have a few good choices when it comes to great and intuitive content management systems.

  • CraftCMS
  • Kirby
  • ProcessWire
  • GravCMS
  • Statamic

What makes a great CMS?

From a developer and also kind of from a client perspective, the ability to construct your own "pagetypes" with the type of fields you wish to build any kind of website, not having your options limited to "Title, body and category" or other such superficial shit.

"But Helge", I hear you say, "WordPress can do this with Advanced Custom Fields", yes it can, and it will as a side effect create a horrible mess in the database while doing so, so go fuck yourself.

CraftCMS

My personal favorite of the bunch, CraftCMS is extremely nice to work with.

The draft ended here. The CraftCMS section never got written. For the record: CraftCMS and Statamic are still going strong in 2026. Kirby is beloved by a devoted niche. GravCMS is... around. ProcessWire still has the most passionate small community in CMS-land. And WordPress still powers 40% of the internet. Some things you just can't kill.




<!-- generated with nested tables and zero regrets -->