Trying to determine the best open source CMS is a lot like choosing the best shoes. In the end, it's a matter of perspective. However, it’s accurate to point out that the real differences between each open source CMS are usually feature related. The main items of concern range from add-ons to security and are factors you should consider when choosing the best CMS for your needs.
In this article, I'll share what I believe are the best open source CMS options available today. Bear in mind that not everyone is willing to sacrifice ease of use for security or security for ease of use. There is no single answer for everyone. Let's get started, shall we?
WordPress – Contrary to popular belief, WordPress isn't the security nightmare people will have you believe. Setup correctly, WordPress can actually be as secure as any other database driven web application. The core issues we see with WordPress security come down to three common issues:
- Poorly secured databases and overall configuration.
- An out of date WordPress installation with known vulnerabilities.
- Running plugins that put your site's security at risk.
The first two items are easily avoidable by applying a touch of commonsense. The latter (plugins) isn't quite so easily avoided. Fact is, people love WordPress because plugins allow them access to advanced functionality without the need for hiring a developer. It's a horrid security model, but it's far more accessible to the common user. Point being, make sure to abide by the following guidelines when running WordPress. Avoiding security issues with WordPress is easier than most people realize.
Why is WordPress a great CMS? It's overall ease of use, abundance of themes, documentation and community make it very attractive to use. The number one thing that makes WordPress appealing to folks is that it's customizable. What started out as a simple blogging platform has evolved into a full CMS. WordPress allows you to create a static front page, assign page/post specific templates, and easily setup a custom permalink structure. And all of this can be done without installing a single plugin, too.
Drupal – Jumping immediately from easy to complex, Drupal is both more difficult to use while also providing a very secure experience for the website owner. Like WordPress plugins, Drupal has modules that allow a talented developer to custom build a solution for themselves or their clients. See, Drupal modules are more like glue allowing the developer to create a desired result. In short, Drupal modules are designed for custom development rather than drop-in plugin code. Obviously there are exceptions for Drupal that might feel like drop-in plugin code, but generally this isn't the case.
Why is Drupal a great CMS? Despite not being a turn-key solution, its reliance on customization and skill tends to attract developers with a stronger set of skills. Drupal also has a far greater security record than other alternatives out there. Drupal is an enterprise CMS platform that is customizable enough to suit the needs of just about anyone. The learning curve is steep and the structure 'feels' archaic. But once mastered, there's almost nothing that can't be done with Drupal.
Joomla – For anyone looking for solid middle ground between the ease of WordPress and the functionality of Drupal, Joomla may be a good option for you. I should point out that Joomla is an excellent option for building websites for enterprise entities, schools and government (like Drupal). Like WordPress, Joomla has the ability to install extensions to add to its existing functionality. However unlike WordPress, multilingual support is provided out of the box with Joomla.
Why is Joomla a great CMS? Joomla is an excellent option for complex websites. It has deep level navigation, with no distinction between pages or posts and modules for managing your written content. If building up a serious community/enterprise website is your goal, Joomla should absolutely be on your short list of considerations. It's learning curve is far less extreme that Drupal, but it's also more flexible out of the box than WordPress. An ideal website offering with Joomla would be one with a lot of active users and contributors.
Jekyll – Admittedly, I have a love/hate relationship with Jekyll. If you're starting up a blog from scratch, Jekyll might very well be a good option for you. To be blunt, Jekyll is best suited for those familiar with markdown and Github. For newcomers, it's extraordinarily confusing. For folks with existing Github accounts however, it's a neat way to startup a static website.
Why is Jekyll a great CMS? Using an editing tool like Prose.io, Jekyll proves to be a powerful solution for casual blogging. There is no database to be exploited, plus you're free to host your Jekyll website on Github if you like. For any company website with content that's not being updated too frequently, Jekyll makes a lot of sense.
While it's not appropriate for more complex CMS duties, Jekyll is a decent blogging platform. One of the neatest aspects of Jekyll besides its lack of a database is its use of markdown in place of a rich text editor.
Other open source CMS options
I should point out that the CMS titles above are a mere sampling of the various CMS options available. But I’ll also note that each of the CMS's listed above are capable, proven and stable solutions that I feel good about recommending to folks. This isn't to say that other CMS solutions are bad, rather, I feel these are the best choices overall in terms of getting work done.
Honorable mentions go out to ExpressionEngine (open to modify – not open source), Ghost and Plone. My reasons for forgoing them in this article are that I feel the above options more than address the needs of most use case situations. In my opinion, WordPress and Joomla cover Ghost/Expression Engine functionality. And Drupal most definitely covers areas where Plone might be used.
What say you? Perhaps you feel strongly that I should have mentioned other CMS options? Maybe you'd like to share your own CMS stories and tips? Whatever your thoughts may be, hit the Comments below and share your own experiences.