One of the more important lessons I took out of my University courses is that you have to use the right tool for the right job. Every tool was designed with a different purpose in mind and while you can use the same one for many different jobs, you might not be getting the most out of it.
The software you decide to use to power your sites is no different. There are many different option available and you shouldn’t always stick to the same one. Currently, I’ve been using both WordPress and Drupal. They are able to fill most of my needs quite well. For very simple blog websites, I chose WordPress. It’s fairly simple, straight forward, and light weight. For everything else, I have been using Drupal. Since it is very modular, it can scale up and be used on fairly large websites with a range of different functionality.
I have noticed that a lot of people tend to stick with WordPress for most things. According to builtwith.com, it is the most used CMS. While it does work, I have to wonder if it’s the best tool for anything other than basic blog sites. Wordpress has evolved from a simple blogging system to one with many of the features full-featured CMS’s have today. I don’t mean to sound too negative towards WordPress. I really think it is great for certain types of websites however I can’t help but feel like some if its more advanced features have just been tacked on. It wasn’t originally built with a lot of these features in mind so developing for it feels a little bit clunky.
I think the biggest grief I have when working with WordPress is the lack of good support for creating different types of content. I feel this is a very important aspect to a modern CMS in order to have full control and flexibility. After all, CMS stands for Content Management System. A CMS should simplify the process of managing all sorts of different content but beyond posts, WordPress makes managing content rather cumbersome. The newest version of WordPress has added the ability to create different content types but I find it to be a strange process and adding new fields is downright frustrating.
On the other side of things, Wordpress does have many strengths. I think those are found in its popularity and in its simplicity. It’s popularity means that there are thousands of great plugins available to use. For simpler sites, no large amount of custom development is really needed since you can probably just go download a plugin to do what you need. It’s simplicity is great for clients using the site. The back-end administration interface is very clear and easy to use. It is also great for developers because while there is still lots to know, the basics are very easy to grasp.
Drupal is very close in ranking with Joomla! as the second most used CMS. It is no secret that I am a huge fan of Drupal. There are many reasons for this. Firstly, it has many of the features I would expect from a CMS. Custom content types (out of the box with D7, with modulse in D6), support for plugins/modules, and a fairly easy to use interface. I think what makes Drupal especially great however is in it’s modularity. With Drupal, you can have as many or as few features as the site you are building requires. It was built with a system to make modules easy to develop so that they never feel tacked on.
Drupal isn’t perfect; It has its downsides as well. Firstly, the learning curve for developers is quite high. Drupal does use a system of conventions and eventually you do catch on but there is lots to know. I am still learning new tricks. Also, it isn’t the fastest CMS out there. The ability of having so much functionality means that there is quite a lot going on in the back end. It isn’t slow by far. It even utilizes a great caching system to help speed everything up. It just isn’t going to win the race for fastest CMS.
I have dabbled a bit in Joomla! and from a developers perspective, It looks great. They are making use of object oriented programming as well as the MVC architecture. To me, it almost felt like it fell somewhere in between WordPress and Drupal on all accounts (being closer to Drupal than WordPress). While Joomla! looks great on paper, I just couldn’t get myself to really like it. I might have to give it another shot.
There are many other CMSs out there. Right now, WordPress and Drupal are filling my needs wonderfully but I intend to give some of the other CMSs a try since they will all have different strengths and weakneses. What CMSs are you currently using? What are they good at and what could be improved? Tell me more in the comments!