These days, when I talk to clients about their website's content management system, the first thing that always comes up is WordPress as a strong favorite. And it makes sense: everyone knows WordPress or knows someone who has a site running on WordPress. I, too, came to web design via WordPress, learning how to build themes, program custom features, plug-ins, etc., turning what used to be a blogging tool into something much more powerful. But does that automatically make WordPress the best option? I don't think so, and so here I present you with a few alternatives and the uses for which I think they make the most sense.
1. Kirby CMS for custom projects
Kirby CMS has become my absolute favorite over the last year. The CMS does not require a database and stores all content in simply (and customizable) structured .txt files. Theoretically, you can run Kirby without a backend: If you access your server via FTP or SFTP, you can simply create a directory for each new page and store the corresponding text file in it. It works the same way with images, files and other content that should find a place on your website.
Since Kirby is written in PHP, it is easy to fill the frontend and to implement even sophisticated layouts without any problems. In the first place, Kirby doesn't care whether it outputs HTML, JSON or other formats - so nothing stands in the way of a web app with React, Angular, Vue or Elm, just like a normal HTML page. By the way, Kirby has internal routing, multi-language support (with different domains and subdomains per language), mail function and automatic image processing for responsive sizes on board. The very active community, the large assortment of plug-ins, a nearly complete documentation as well as various step-by-step examples are additionally a big plus, making development a breeze.
Of course, users don't have to rely on constantly uploading text files to their servers via FTP: Kirby has a backend that is created using YAML files, making it completely customizable. Example: You need an additional field for the name of a blog author's pet? Just add
label: name of your pet
into the so-called "blueprint" of the page and the field is available in the backend (and accordingly also frontend). In addition, the whole CMS can be extended with self-written plug-ins, if the on-board resources are not enough. To write frontend plugins, a rudimentary understanding of PHP is sufficient, for the backend you also need some knowledge of Vue.js.
Kirby is open source and a license costs just under 100 €. For development and testing purposes, there is a perpetual, free and full trial period. I can highly recommend Kirby!
By the way: here are some code blocks that might come in handy when you start working with Kirby.
2. Coast CMS for the static "business card on the internet
Yes, a website is the digital flagship of a company and, if you believe the wise words of various web gurus, should at least be equipped with an email list, newsletter, blog and webshop to have any right to exist. And then there are people and businesses whose income is not dependent on the Internet and who simply do not have the (time, monetary or human) resources or the need to deal with content creation. In these cases, there is no need for an elaborate backend with fine tuning options en masse. On the contrary, a simple WYSIWYG editor for a well-designed "one-pager business card on the web" covers all needs.
Coast CMS is made for this: With simple class names, like
content-section-wrap, a static HTML5 page is equipped with inline-editable fields, which can be edited via a simple editor on the page itself. The installation of the CMS is also quite simple: The files are transferred to the server via FTP and are then ready for use - no database needed.
The only downer is that the last update of the CMS was at the beginning of 2018. If you can live with that, you get a simple, free (MIT licensed) and absolutely sufficient solution to implement static pages with occasional content changes without having to send any clients to the HTML code for it.
3. webEdition for extremely detailed user rights and consistent data structures.
webEdition and I have an intimate love-hate relationship. The open source CMS does many things right - but unnecessarily complicated. This is mainly due to the fact that WebEdition is written in PHP, but uses so-called we:tags, which exchange conventional PHP code with HTML-like syntax. This would not be a problem in itself, if there was a reasonable documentation. However, the documentation is very rudimentary in many places and you are forced to use trial-and-error or a long search in the webEdition forums to find a solution. Granted, you could also work around the we:tags using PHP, but in the end this only pays back to the prevailing feeling when programming with webEdition: everything is a single workaround.
Nevertheless, the CMS also has its bright sides: Those who have experience with object-oriented programming and have always wondered why the content of websites can't simply be an object, too, will get their money's worth here. webEdition has its roots in a store system (which can still be added via module) with a class system for various goods. These classes are still present and can - once defined - be instantiated in the backend. So there is nothing against having different classes for different blog article types, from which the content objects can then be created. The data is stored in a database and is cleanly separated from the layout of the website.
In addition, webEdition convinces with built-in multi-language support, backup function, a relatively intuitive menu builder as well as a clear template content structure that allows backend side page builders. But the biggest advantage of this content management system is clearly the ultra-small rights management. You want a certain user group to have access only to the blog and the privacy page, to create articles but not publish them, and to select only images in .jpg format for upload? This can be set without any problems. You want a certain user from this group to be able to change her username on her own? This can also be set without any problems. You want a support account that can edit everything except content in the backend? Adjustable! The assignment of rights is almost TOO small. But this makes it possible to let people without technical background loose on the backend without fear that someone "deletes the internet".
If you put some time into webEdition, you will be rewarded with a free CMS that meets the requirements of corporations or hospitals with all their stakeholders. If you can spare a little money for a membership in the developers' association, you will even get a version without a footer watermark. And if you still have the nerve to go deep into the content management system, you will first get gray hair and then absolute moments of happiness.
I hope this article could help you to choose the right CMS. If you have any questions or suggestions, feel free to write them in the comments. Otherwise I can recommend my newsletter to you. I don't send it often, but when I do, it's worth it. :)