I have built a large number of websites over the last 10 years or so, and in that time I have experimented with different platforms, content management systems (CMS), and languages, always attempting to find the best one to meet my needs, and later on the needs of my clients. In this article, I'm going to tell you about the top 4 content management systems that I use most frequently when building websites.
Processwire CMS is my most recent find, and is quickly becoming a favorite. The brainchild of Ryan Cramer, Processwire is a PHP-based CMS that offers great flexibility and versatility to web developers. You don't need to know much PHP to get into developing with it, although you may find yourself inspired to learn how to program. This low barrier to entry makes Processwire quite appealing to web designers or front end developers with a knowledge of HTML and CSS who prefer to build their sites themselves.
Processwire employs a jQuery-like syntax and has a beautiful and well documented API that is easy to learn and grasp. It also has an active community that is very friendly and engaging, and a constantly growing library of addons, plugin, and modules for additional functionality. There are also site profiles to accelerate your site build.
One of my most favorite things about Processwire is that it doesn't employ a special templating language or tag syntax, so there's nothing new or proprietary to learn. In addition, while being extremely powerful and versatile, it's also fast and lean, loads incredibly quickly, and is just an absolute pleasure to use.
I foresee Processwire having a great future and growing into a widely used and loved CMS. I know I'm going to be using it for a long time to come, and at this time cannot think of anything I don't like about it.
Drupal is a CMS that's been around for a long time. Created by Dries Buytaert, Drupal is now a well established platform with incredible functionality, a huge library of free modules and themes, and a dedicated and active community of users and developers. Drupal also has a vast amount of online and offline documentation. Drupal courses (paid and free) are available on the web as well as in local offline communities/schools.
It's history and vast community and resources is one of Drupal's greatest strengths. The other thing I find impressive about Drupal and that adds to its credibility is how widely it's been adopted by governments and been used to run government websites. Drupal also powers a lot of large scale enterprise, educational, and civil websites.
There is a general perception that Drupal has a steep learning curve, but in my opinion that only applies once you start digging deeper, which most regular users may not need to do. Because of the way Drupal is built, it's completely possible to go from zero to a complex website with multi-user blogs, a forum, complex user permissions, and a generally amazing website without fiddling too much with code or adding anything to the core install.
The steep learning curve has become a reality for me when I have needed to customize or create custom themes and modules. To get to that next level of Drupal development you do need to become intimately familiar with the API and know a decent amount of PHP. I'm also not a fan of how difficult and tricky it can be to upgrade a Drupal site. Most of this difficulty arises from the fact that not all module developers keep their modules updated. With the exception of the larger, more widely used modules, it's very easy to find yourself using a module that will break on the next Drupal update. However, if you can arm yourself with enough skills to be able to fix, update, and maintain the modules yourself, then you're in a sweet spot.
WordPress, created by Matt Mullenweg, was originally intended to be a blogging platform. In it's last few iterations it has transitioned more into the CMS space, and is now used more widely as a CMS rather than "just a blogging platform".
WordPress is undoubtably one of the most widely adopted platforms on the web, for the simple reason that it's very easy to use, has a huge community, lots of documentation, and lots of free themes and plugins available to use. Just like Drupal, you can find and enrol in numerous courses, both free and premium, and it doesn't take much to go from zero to hero when learnin WordPress. In addition, it seems to me that WordPress developers are a dime a dozen, which means you can get WordPress services for a decent price.
I find WordPress websites so much easier to maintain than Drupal websites. You can update everything with one click on the backend, without ever having to deal with downloads and FTP uploads or any of that. Everything has a downside though, and the popularity and wide adoption of WordPress means that it's a prime target for hackers. Because many of the people who adopt WordPress tend to be non-technical users looking for a low cost solution that they can install and use without needing to hire a developer, they tend to not be as vigilant about security as a seasoned developer would be, and so WordPress sites tend to get hacked more frequently than other platforms.
As long as you remain vigilant about security and learn to be careful about where you get themes and plugins, WordPress is probably one of the best and most cost-effective choices for building your website.
MODX CMS was created by Ryan Thrash, Jason Coward, and Shaun McCormick as a fork of Etomite. The first version eventually became known as Evolution, and was later followed by a complete rewrite known as Revolution.
MODX Evolution is quite lightweight, easy to use, fast to load, and easy to learn. However it is no longer officially supported by the core development team, and for this reason is probably not the best option to start with. MODX Revolution, while being more powerful, is a lot "heavier", requires more server resources, and can be slow to load in the backend because of its use of ExtJS. Because I still use Evolution and also use Revolution, I can tell the difference in load times and efficiency, but someone coming straight into Revolution may not notice this.
MODX has an active community, and a large repository of addons - snippets and modules. One of the things I like most about MODX is how easy it is to template. You do have to learn the tag syntax but once you do it's not difficult at all to translate any HTML/CSS theme into a MODX template. Navigation and other functionality is handled by snippets such as Wayfinder and others.
While it is possible to build a website from start to finish with MODX without knowing much PHP, you will find yourself quite restricted without if you need to build any custom addons. Once you grasp the basics of working with MODX, it's a nice CMS to work with.
In summary, these four are my top content management systems when building websites, not because they are the best, but because I am familiar and comfortable with them, and because I find that for the most part I can build most of what I need to with one of them. I aim to always learn more systems and add tools to my arsenal, and I think that the more you know the wider the range of jobs you are able to do.