CMS Systems Review
Arguably the top three open-source CMS systems, popular with developers these days are Wordpress, Drupal and Joomla.
Each of these software packages has different feature sets and specific limitations. In order to make the right decision for your project, we have reviewed each of them below:
Wordpress is one of the most popular CMS systems among young and novice developers, due mainly to its ease of setup and user-friendly, intuitive back-end interface. Many non-technical people are able to develop websites quickly and easily using Wordpress, as well as manage the sites themselves after development.
Wordpress was originally designed as a blogging tool and this is where it really shines as the perfect tool for a blog-style website. The posts feature is great for SEO and organic search results. Meta data can also be controlled easily from each of the posts or pages.
There are a lot of beautiful themes available (free and fee-based) for Wordpress so the developer or end-user can put together a very professional, polished-looking website in just a few minutes. Many of the themes include built-in animations and widgets to achieve rather sleek and sophisticated style and functionality.
There are also thousands of feature-rich plugins offering everything from e-commerce, slideshows, photo galleries, SEO boosting, event management and everything in between.
Wordpress is extremely vulnerable to hacking and a lot of plugins expose insecurities in the code, making it dangerous to use for a professional or business website
In many areas of the database, Wordpress data is stored in a non-relational manner making customization or data interface very complex and sometimes impossible.
The organization of files is rudimentary and inefficient especially for the media library where developers and users upload content.
For high-end developers, Wordpress is less intuitive and more restrictive to achieve the unique features and results that their clients require.
Some missing basic functionality such as the ability to copy or clone a page or post requires a plugin.
Widgets are limited and you do not have the ability to assign pieces of content to any specific areas in the theme, unless the theme has it built to support that feature. For developers this is huge and can cost a lot of extra development time coding in identical content on every page, much like the pre-CMS classic coding days.
Wordpress requires frequent updates and often an update to a theme or plugin will completely unhinge the website, requiring troubleshooting and repair by a seasoned programmer.
For simple websites and blogs, Wordpress is a solid choice especially if you are a young developer just starting out. However, if your client wants complexity and customization, Wordpress is probably going to be more trouble than help.
Drupal is often called the developer’s CMS system. It has the most complex back-end of the three, and uses terms (like node) to describe content elements, not often understood by the layman.
Drupal is considered one of the most secure CMS systems in the development world. It has a lot of great security features on the back-end and can easily be configured to control access to content and administration.
It includes a lot of flexibility with tags, categorization and arrangement of content so that your pages are well indexed for good SEO. This is also very helpful in searches for large amounts of data being stored on the website.
It is highly and easily (for a developer) customizable to produce very complex websites with specific functionality or unusual features.
The Drupal core allows custom fields and custom content types which is amazingly powerful in developing different types of front-end content areas for a large corporate website.
There is a strong library of plugins available and a very active support community if you need help.
Out of the box, it is quite bare-bones and before development can begin, you have to install dozens of plugins to arrive at the same starting point you would have with either Wordpress or Joomla.
The data is stored in arrays in the database and so any customization requires extra coding to break those arrays down and parse them into normalized data before use.
There is a strong learning curve to the back-end interface and developing even a simple website takes full development understanding and programming knowledge.
Drupal is an excellent choice is you have a highly complex, unusual project requiring a lot of customization and front-end features. However, if you are just starting out with programming, Drupal is not the CMS system for you.
Joomla is somewhere in the middle between Wordpress and Drupal, combining a lot of the same features and limitations.
Joomla comes packed with a lot of features which the other CMS systems require plugins for, such as the built-in ability to copy content elements, menu items and plugin instances with the click of one button.
The plugin feature, called modules allows you to easily turn on or off content per page and assign content items to specific areas on chosen pages. This is a feature lacking in both Wordpress and Drupal and is a highly efficient way to manage content, customize pages and minimize development time.
There are thousands of great templates available for Joomla, most template companies offer a license fee for all their templates for a specific time-frame.
The Joomla development community is very strong so support is just a few clicks away and there are hundreds of thousands of add-ons, some are very well coded and others are junk; you have to be discerning when choosing plugins for Joomla.
Updates are handled with one-click and never distort or disrupt in any way, the live website.
The data is stored relationally so interfacing and customizing code is very straightforward and easy for a developer with database knowledge.
There is no support yet for custom content types, although you can add that functionality through plugins.
Joomla is a fairly strong and secure platform however, it can be hacked and vulnerabilities do exist so in order to be safe, extra precautions need to be taken at the server level.
It can be difficult to customize template features and also plugins. You should be well versed in PHP coding before undertaking development of a Joomla website.
Joomla is lacking in any built-in support for animations and css customization so hand-coding might be necessary in order to produce specific results for client requirements.
Overall, Joomla is a sound choice for CMS system for professional and business website projects. The interface is fairly intuitive and easy for clients to use to manage their own websites after development. However, it may require some basic html, css and php knowledge to effectively develop within.