Which CMS Is Best?
Which Content Management System (CMS) is Best for You?
A CMS gives a non-technical business person ("aka website administrator") the ability to make quick and easy changes to a website without learning to code. From addressing a typo to creating a new menu item or uploading the latest product image, a CMS gives people the flexibility to make minor changes without a website developer!
The most popular open-source CMS tools are Joomla, WordPress, and Drupal. They can even add sophisticated functionality by downloading and installing free pre-programmed packages. There are also many popular entreprise solutions, such as Interwoven or Stellent, however these tend to be cost-prohibitive for many small-to mid-size companies.
The typical website visitor will be unaware of which CMS platform is being used. However, it is important for the website administrator and developer. Here are some important technical considerations when selecting the right tool.

...from the Website Administrator's perspective
A Joomla website uses Content and Menus.
- Content can be articles that you write, a Google map to show your location, a picture gallery, or a newsletter sign-up page
- Menu are used by your visitors to navigate to various Content (pages) on your website
The semantics are straight forward and most people will become confortable managing their content after a few hours.
...from the Web Developer's perspective
A Joomla website is organized as Components, Modules, Plugins, and Templates. Components are the web page. The web page might be an Article, list of Articles in a Category, or something more complex like a Google Map. Modules appear in Positions on the page defined by the Template.
A Menu is a type of Module, so is a rotating banner, or other items you might typically find in the left-hand or right-hand side bar on a web page.
Plugins are PHP scripts which handle events in Joomla (e.g. a visitor opening an article for view). Templates are the HTML/CSS/Javascript that style the website. There are special tags for positioning the Component (one per page), and any number of Modules.
Joomla's Template language is designed so that it's not necessary to access the lower-level PHP code (the PHP references the Joomla! API).
Our recommendation
Use Joomla! if eCommerce functionality is the most critical element to your website. It doesn't hold up as well with blogging functionality.

...from the Website Administrator's perspective
A Wordpress site uses Pages, Posts and Widgets.
- Pages
- Posts
- Widgets
The semantics are geared toward blogging and work well for that purpose, but the semantics are a bit odd for website content. Most people can get comfortable with Wordpress quickly for certain tasks, but other tasks are a bit confusing even after long term use.
...from the Web Developer's perspective
WordPress templates are extremely flexible with virtually no restrictions when designing the layout. The flexibility comes from the way WordPress divides the theme up into several different PHP files (for example, header.php, page.php, footer.php, sidebar.php, etc.). However, this flexibility comes with a hefty price! Because the HTML is spread across several files, it is difficult to keep track of corresponding open and close tags, making it easy to generate malformed HTML.
Also because many of the files are very similar (many will be the same except for a few lines of code), designers are encouraged to copy and past duplicate HTML, making the template somewhat difficult to maintain.
There are a couple imperfect alternatives. One alternative is having more PHP files to contain the reusable code - but that adds even more complexity to the already complex file structure. Another alternative is to write "if - then" code to handle the small differences ("if archive or search, show excerpt, else show content"). However this adds complexity too.
Wordpress has no template language. The template designer has to directly reference the WordPress API for any functionality.
Our recommendation
Use Wordpress if blogging is the most critical element to your website. It doesn't hold up as well with eCommerce functionality.
...from the Website Administrator's perspective
A Drupal site consists of Nodes and Modules.
- Nodes
- Modules
Semantics are somewhat geared more toward software developers rather then toward website owners - like the terms "node", "core", or "taxonomy".
...from the Web Developer's perspective
Drupal templates are fairly flexible with few restrictions when designing the layout. Drupal divides the theme up into a handful of different PHP files (for example, page.tpl.php, node.tpl.php, comment.tpl.php, etc.). Drupal has no template language. The template designer has to directly reference the Drupal API for any functionality.
Scoreboard
| Joomla | WordPress | Drupal | |
|---|---|---|---|
| Website Owner | A | B | C |
| Designer | A | C | B |
| Programmer | A | C | A |
| Community Support | A | A | A |
| Features | A | A | A |

