Building a Website with a Content Management System
An effective business website must be flexible enough to scale up or scale down (quickly add and/or subtract new pages) and update its content (change ads, change promotions, change prices, and so on). The way to do this is to rely on just a handful of page templates — such as a category page, a landing page, and a detail page — and populate them dynamically with appropriate content that resides in a database.
For example, if a user is browsing an online store and visits the Gardening section, the single category-page template displays the images and text and any promotions associated with the Gardening department. If the user visits the Home Décor section next, that same category page template updates with the new content.
The real task for this online store example, therefore, is managing the content that resides in the database. The company database must allow effortless access and fast updates — on a daily, if not hourly, basis. Of course, databases don’t have the friendliest of interfaces — so websites often have a middle layer between them and their databases called a content management system, or CMS for short.
A CMS is often a separate, secure website that only administrators have access to. An administrator logs in to the web-based CMS, makes changes to the content, and pushes the updated content to where it has to go: either to a staging server (a private preview website where the company can verify the information) or to the live main site. A successful CMS interface is neatly organized and easy to use, which empowers a team of non-technical people (such as brand managers and product managers) to manage their content efficiently.
There are a lot of factors to consider that drive what type of content management system is right for the new site. Some factors to consider are as follows:
Platform: What development platform is the site being built on? And here are a couple of related questions: What databases are you drawing content from, and where is the site being hosted? Can the CMS you’re considering integrate well with all these technical factors?
Language: Should the website support multiple countries and languages? Will administrators around the world need to manage translated content and custom products — and the accompanying imagery — for their respective regions or countries?
E-commerce: Does the website need to tie into the company’s existing product or sales databases? Does the site need to integrate with multiple systems? Does it need to tie into SAP — the business software platform used to manage products, supply chain, sales, and inventory levels?
Administration: Do you need to set up multiple levels of site administration access? For example, will some users be able to change fundamental site structures, while other users can only change the content of certain pages?
Unique product or services: Does the website offer unique products and services (for instance, a site that lets users create and distribute their own online books) that don’t fit the mold of off-the-shelf content management systems?
Many off-the-shelf solutions are available that may be just fine for the size, scale, and content of the site you’re building. Popular ready-made solutions are customizable enough to make them economical choices for most sites. One reason these solutions are popular is because they’re open source: Any developer can access the source code and use it to create custom modules that extend functionality. These modules can then be made available to everyone else who uses the source code. The result is an ever-growing library of features to draw from. Some open source modules are free; others are licensed — in the end, an open source solution generally results in a wide feature set to choose from or customize further. The only drawback, however, is that because open source applications are community-supported, you’re not going to find the official tech support you see with proprietary solutions offered by Oracle and Microsoft.
Open source solutions, for all their versatility, are not exactly one-size-fits-all. In some cases, a site’s complexity, uniqueness, or scalability requires a custom solution. Many open source offerings provide a basic feature set to get you started in that direction, so you don’t really have to build entirely from scratch — but sometimes the engineering team must undertake a substantial customization effort.