Building a CMS based website

CMS Types

There are many benefits in having a CMS (Content Management System) based website.

One of the major advantages, and the reason I have changed to using one, is the ease for a non technical person (read Sharon) to add content to the website.

A CMS easily separates content from the “back-end engine” that drives and styles the website. Unlike a normal HTML based website, content is not stored in individual pages, rather it is stored in a database and server-side scripting (normally PHP or ASP) is used to render the page for the browser. The CMS user interface normally includes a simple to use WYSIWYG editor (What You See Is What You Get), allowing anyone to easily add new content without knowing HTML or how the website actually works.

If you were an “über nerd” you could probably write your own CMS from scratch, but there are many free CMS’s available out there so, unless you had very specific needs, why would you?


Three of the most popular free CMS’s are WordPress, Joomla and Drupal. The complexity of the website and what you want it to do should be the driving force behind choosing the appropriate CMS to use. Basically, what works for me may not work for you, and vise versa.


I looked at all three of the CMS’s I mentioned and finally ended up going with a self hosted WordPress install.

Drupal is arguable the most powerful of these three, but the learning curve getting across everything is quite steep; basically, I did not have the time. Joomla is also a powerful CMS, and the one I initially chose to use, but I must admit to getting very frustrated trying to work around the little idiosyncrasies it had. Fixing what I would normally consider as a simplistic issue proved very time consuming and in the end it turned me off Joomla. WordPress has its issues too, but for what I wanted to do it ended up being the “best fit”, even though it was not my first choice.

I also chose not to use one of the many free themes that are available, electing to write my own. The theme is what determines the “look” of the website. There are positives and negatives here; the nerd in me prefers to have as much control over the environment as possible, so writing my own code is what normally works for me. This is really only an option if you have some knowledge with HTML, CSS and PHP programming. If you don’t understand PHP, which most people don’t, but you can work with HTML and CSS, then customizing an existing theme is not all that difficult, and I would recommend giving it a try.


If you are thinking about setting up a website of your own, you have many options.

As an example, WordPress offers two alternatives. You can host your website on their servers or you can install a self hosted version, which you can setup on your own web host. Using the self hosted option has absolutely no restrictions, and you will be able to change anything you want and use it for your own domain, should you have one. The WordPress hosted sites have some restrictions; but they are free!

If you have a design for a website that only has a few pages, and you don’t intend to constantly update the content, then a CMS is probably overkill. A simple HTML based website would more than suffice in this situation, and it would probably be easier to setup.

Whichever way you go, having your own web presence is, in my opinion, a must these days, and it is relatively easy to setup.


Over the years I have helped numerous people build or modify their websites; I figured it was time to put a little effort into building a new website for myself, and one that was easy for my wife to use. Hopefully I have accomplished that with this site…