This is still a frequently asked question among small business owners when the time comes to overhaul their website.  There are lots of quick responses, but the complete answer requires a bit of historical context.

The Dark Ages

In the early days of the internet (up until about 6-8 years ago) if you visited a web page with your browser, there was a pretty good chance that the page you were looking at was actually an HTML document on a server somewhere.   If you changed the document, then the page was updated.  For smaller static sites that was fine, but as sites got larger and the need to regularly update the site became more critical, (both to maintain your Search Engine Ranking and to keep traffic coming to the site) there needed to be a way to move past having individual documents for each page in your site.

Enter the CMS

The Content Management System (CMS) is the tool you use to provide scalability and consistency to your site.  It is an application that runs on your webserver (in much the same way that a program would run on your computer)  This application is connected to a database that stores all of the content for your website as well as images and templates.


The templates are the structure of your webpages and contain standard HTML tags to form the basic layout of your pages.  The templates also have code in them called variables.  These variables are containers that can be replaced with your site content on demand.

Sites typically have many templates for different areas such as: the home page, primary, secondary, listing and contact pages.  The idea of separating the content from the structure is an important one.  By creating a set of templates that can be reused over and over, you can easily maintain the site, and adding and modifying pages becomes a simple task.

Within the CMS, you enter content into a form that is much like Word.   Add your text, images and create links without having to be an expert in HTML.  Assign the content to a template and you are done.  Modifying an existing “page” is as easy as selecting it from a list and making your changes.  Most modern CMSs maintain an archive of prior versions of your content, so you can always revert to an earlier copy.

How does my audience see it?

When someone goes to your site and requests a webpage, the CMS looks at the structure of the URL (the web address) and determines what template should be used and what content should be included in it.  Those elements are all combined and sent from your web server as if it’s a single HTML page.  For instance: an address of would pull together your basic site page (with menus, headers and footers), then create a list of your last blog entries.  An archive of prior entries would be placed in a sidebar and the page would be served.

Do I need Special Software on my Computer?

Since the CMS runs from the web server, you can access it from anywhere where you have internet access.  Many have apps for connecting from a mobile phone or tablet.  Access to your content requires that you login to the CMS so your site is secure.  You can also give others access so that they can update parts of the site as well.  The site administrator can limit the pages that other users can modify or create workflows so that one person can write the content and another can approve and publish it.

Is it Expandable?

Absolutely.  Nearly every CMS can be expanded to provide additional functions.  E-Commerce, video streaming, subscriptions and Mailing Lists as well as Document Management are typical modules that are part of a modern website.  The CMSs that we prefer to work with are built in a framework that allows for easy customization of both the look and feel of your site, as well as the functions that it performs.

Which brings us to today.

All of the projects we build today use a CMS to support the site.  There are a number that we use since one size does not fit all.  Our go to CMS for most small to midsize sites is ExpressionEngine.  There is an awful lot to like about it for both developers and end-users.  It has an advanced multi-site module that allows multiple websites to be driven from a single installation.  This is real advantage with sites such as schools and Colleges which typically have a single site comprised of many microsites.  It’s now built on a popular framework that makes advanced customization very easy.  We also support OpenText (RedDot) and Drupal for larger sites as well as WordPress, and Concrete5 for smaller sites.