What is a content management system and why does your web site need one?

Definitions

CMS - a content management system is a program that, typically using a database, stores, organizes and manages the information on your web site
WYSIWYG - what you see is what you get, often used to describe software that lets you create something and view it as you are creating it

What is a content management system?

A content management system is a computer program, usually running on a web server, that stores, organizes and retrieves information and displays it to the user. The "information" in this case is the content of your web site; your products or services, prices and descriptions, calendar of events. The "user" can be the visitor to your web site. A content management system typically will store the information you enter, and present it to the user when they try to view that particular "page" of your web site.

Static vs. Dynamic

If you hire an artist, or a traditional "web designer" to build your site they will often make you a "static" web site. While sales types love to throw these terms around, static and dynamic, I think specifying what they mean can be helpful.

A "static" page is one where the information for each web page is stored in a file. If you want to make a change to a "static" page, you must first obtain a copy of the page, make your changes in a WYSIWYG editor (something like Dreamweaver or FrontPage), and then "upload" the new file to your web site. While many people are capable of this process, it is not always as easy as it sounds.

Think about sites like Facebook and MySpace, many people are familiar with these and are used to being able to add and edit content directly on a web site. A "dynamic" page is one where the information can be easily changed. The process of making changes can be as simple as logging in to your site, finding the information you wish to edit by navigating to that page, typing in your changes, and pressing a "Save" button. Editing content on a dynamic page is much easier. It also can abstract you away from the formatting of the page and allows you to focus on the content. For example, if you are entering in a list of information that consists of titles and descriptions, you can focus on just typing in the content where the content management system will worry about formatting it to "look like" the rest of the page.

Information Changes - Ease of Maintenance

One of the major benefits of using a content management system is that it allows you to make changes at your discretion. You are not stuck waiting for a third party to make some small modification to your site.

If you have information that is going to change often, or even once a year, it can be helpful to use a CMS. Perhaps you have an extensive products catalog that you are planning on putting on your site. If your cost goes up once a year you do not want to have to "hire" someone to update all of your prices.

Major changes involving a content management system often do require someone skilled to make them. If you want to change around your whole layout, or add new functionality or product "fields", you may not be able to do everything yourself.

The example of an image gallery should be helpful to illustrate this point. Imagine you have a "static" image gallery portion of your site. If you want to add a new image, you must first create a thumbnail. Then you upload the image itself as well as the thumbnail. Then you create a page for the "large" version of the image. You must then add the thumbnail image to the "list view" of the images on the site as well as link it to the full size view. With a decent CMS, you press a button, find the image you want to add and press "Go". The software can automatically create the thumbnail, add it to the list page and prepare the "large" view of the image. Now imagine if you need to add 1000 images, using a CMS sure beats doing it manually!

Major site changes made easier

Let us picture a fairly complicated site. It may have hundreds or even thousands of pages. Using a CMS you can make changes across all of the pages at once. Now a "web designer" may tell you that using cascading style sheets they can alter the appearance of an entire "static" site at once. This may be true, but it does not allow the same degree of flexibility as a CMS.

One could change the background color or a particular font/size across an entire site (provided it was set up sufficiently) without a CMS, but what if one wants to change around the information in the header or footer completely? What if your company gets bought out or decides to change it's name? Using a CMS, a developer can make a change in one place and have it replicate throughout an entire site. With a "static" site one would have to go and manually make the change to each page.

Reducing Cost and Delays Down the Road

Using a CMS also saves you the cost of having to pay someone else to make changes. You or your employees can take over the maintenance of your site.

On numerous occasions I have come across clients who had a site developed by someone else who was either no longer in the business or unwilling to go back and do work on an "old" project. Many people who build web sites have moved on to other projects and could care less about your site. They made their money and now they have moved on.

Even if you hire someone dependable who is willing to make changes to your site content, you can be held back by their schedule and you still need to pay them for it.

Reuse of information

Another benefit of using a CMS is the opportunity to reuse information. Let us imagine a situation where you have entered in over 1000 products. There is obviously a great deal of time involved in that process.

In many cases, and if the CMS is structured properly, you can use that data in many ways. Examples would include:

  • Producing nice looking, printable product sheets for each product that you can give to your customers
  • An excel spreadsheet showing each of your products with prices and other information
  • Submit a feed of product information to Google Products

Once your information is stored in a database, there are many possible uses limited only by your imagination and the skills of the programmer.

Which CMS should I choose?

There are many different content management systems in use. Many are free to use and modify. That does not equate to free web sites. Exploring the pro’s and con’s of the different content management systems is beyond the scope of this article.

Drupal is a very popular, free CMS that is in use by tons of sites. It has many great features and many people contribute more features every day. You can use it to build powerful web sites. Wordpress is another free CMS that is useful for maintaining a blog.

Please be aware that free programs do not mean free web sites. Most computer users would have a difficult enough time even getting one of these programs installed, let alone setting it up properly. Customizing the appearance and functionality of these systems also requires specific expertise.

Even if you are determined to use one of these systems to build your site yourself you will still need to spend some money. You will need to buy your domain name (whatever.com) as well as find a web hosting package (usually a subscription) that supports the CMS you intend to run.

Conclusion

When a developer starts talking about using a content management system and starts throwing around a ton of acronyms and abbreviations it can be confusing.

If you only need a one page site using a CMS may not make sense. But if you are going to have information that you want to be able to change at your convenience, without waiting for someone else or having to pay to have it done, a CMS may be the way to go.

Almost any web site with any reasonable level of complexity should be built with a CMS rather than a bunch of "static" pages.

About the author

Bob Lindquist is an expert consultant with extensive experience building web sites, databases and performing internet marketing work for his clients.  He has over 20 years of experience working with clients from a wide variety of industries along with a degree in Computer Science.  Bob is a professional member of the Association for Computing Machinery.

In his free time, Bob is a volunteer Firefighter / EMT and has served on the boards of several not-for-profit groups.

If you are interested in talking about a potential project, use the contact form on www.boblindquist.com