Use a Content Management System (CMS) for Your Website

Recently I worked on what seemed like a very simple project. My client wanted to create a form based ordering system. The user would check off boxes on a form and include contact information so that a PayPal invoice could be sent to complete the order.

My client's needs were few so I thought that I would save him some money and save myself some time by just creating a few static pages, a form, and a script to handle the form, but as I got more involved I found that this deceptively simple specification was really a bit more complex.

For example how would my client keep track of orders? What if he wanted to update prices, add new products, or remove outdated items? As I discussed and considered the various functionality needed I realized that the application was best suited towards a CMS and a shopping cart.

Fortunately I was able to easily and quickly put together a solution using Drupal and Ubercart. In the end this saved me lots of time and kept the cost low for my client.

Thinking about this I realized that just about any website, no matter how seemingly simple or small, could benefit from being deployed in a CMS. Here are some of the reasons why:

Low Cost

Many content management platforms such as Drupal are available as free, open source software. As such there is no cost for licensing the products and typically they are available to install on many hosting platforms and with many popular commercial, low cost hosting providers.

From the developer's perspective these platforms are to varying degrees simple to customize. It is very easy to implement a custom design or theme. Usually a skilled developer can create a custom theme for little more effort than is required to build out a static site. Also many pre-built themes are available that allow for quick deployment.

Easy to Add and Organize New Content

Once set up the user can directly add new content or update existing content by use of a web-based administration page. Most CMS platforms have already included a WYSIWYG editor, so that new content can be added and formatted using tools that are familiar to anyone that has created a document using word processing software.

Tagging or taxonomy systems are usually available that allow content to be grouped by category. Additionally content can be added as a page, blog post, or a section of a page as most appropriate.

Easy to Add Functionality

If you choose an open source platform like Drupal there are usually many, many free user contributed modules available that can be installed to add all types of functionality to the website. These include photo galleries, shopping carts, search engine optimization tools, and more.

Search Engine Visibility

Drupal is especially search engine friendly, although many of these features are available on other open source CMS platforms. Because the code generated is standards compliant and very clean it is easy for the search engines to index these sites.

Also there are many modules available that allow content to be created that is very visible for search engines. The standard editing interface allows for the creation of meaningful headings and internal links. Also included is a module for creation of friendly urls and url aliases that allow the content creator to place keywords directly in the address of the page. Other modules allow for meta tag creation at the time content is published. Another useful module allows for the automatic creation and updating of an xml sitemap that is ready to be submitted to the search engines.

Security

If a CMS is chosen that is open source and that has a vibrant community of engaged developers, typically software updates are frequently made available to address functionality and to fix security issues as they are discovered. This maintenance represents only a minimal amount of overhead, and notifications of new releases are typically automated.

Conclusion

The availability and maturity of free, open source platforms such as Drupal has lowered the cost and other barriers to the point that it makes sense for even a small website to be deployed using a CMS. This allows the website owner to take advantage of the benefits of scalability of content, scalability of functionality, improved search engine visibility, and security. From the developer's standpoint the use of an open source platform such as Drupal allows for quicker turn around times, lower development costs, better value for clients, and a better user experience through more effective functionality.