In the past few months, I’ve been working a lot in Joomla and WordPress content management systems for various clients. I’m not quite ready to call myself an expert (yet), but it’s getting to be that way.
Recently, a couple of my clients have either a) asked me to convert their current sites to a CMS, or b) asked me to add some extra feature to their static site that in my opinion might have been easier to do if their site were CMS-driven. So it got me thinking: what’s the difference? Why not make all Websites into CMS-driven sites?
The short answer is, pretty soon that’ll be the case. But we’re not quite there yet, and even when we are, the decision points will still apply (needs, timeline, and budget versus available features of each product or method). Both static HTML and CMS sites can use design/layout templates to easily manage the overall look and feel of the site. Both can work with scripting and programming code (although differently). Both can manage traditional content (text, photos, media, etc.) as well as more active items (slideshows, dynamically generated items, etc.)
So what’s the diff?
CMS Advantages and Disadvantages
- Back-end editing of content is entirely web-based — no separate licenses, nothing else to install.
- Most CMS products now work with plugins, which add specific functionality to the basic product. For many open-source CMS products including Joomla and WordPress, hundreds of plugins are available. Some are very specific and others are vast and complex.
- Many cool features become available out of the box or with little programming with CMS systems. It varies, but in addition to Web-based editing, I’ve used: dynamic event calendars, slideshows, dynamic content (latest news), scheduled content (publish on or remove on dates), dynamic membership lists, featured stories, blogs, easy photo galleries, and more.
- Sites are fully dependent on the CMS that runs them. Inherent programming limitations of the CMS are yours to deal with. Your site content is probably woven into the CMS, making it much harder to get out if you change your Web site strategy. Likewise, when plugins are used to add specific functionality, the site becomes dependent on the quality and stability of each plugin.
- Upgrades to the CMS and all plugins must be considered. Will you always upgrade, only upgrade when there’s a critical security risk, or only perform major version upgrades? Remember that any upgrades can break things on your site, so plan for complete testing before and after every upgrade.
- The template system can be fairly rigid — your template defines the outer design elements of your page, while the CMS handles the content in the center. Works great for sites with consistent layouts, but it can be a problem if you occasionally need to break outside that template.
- Oftentimes, CMS products lean heavily on the site navigation; crosslinking between various pages on your site can be difficult, and if content is edited or moved, the other links usually break.
- You must plan your SEO strategy from the beginning: since many CMS URLs are not search engine friendly, newer CMS versions have SEO options available (rewriting the URLS and usually adding per-page meta/keyword options). These systems work pretty well as long as you plan for them.
All those extra features are cool… but they also add complexity. For simpler sites, you can do it all yourself, but you might also need to have a Web dude in your back pocket for those times when the simple stuff ends up not being so simple.
On the other hand, you can build a pretty awesome non-CMS Web site using HTML, Dreamweaver templates and CSS, custom coded scripts where needed to accomplish specific advanced functionality such as calendars and so on. Once built, with a little advanced training, you can manage it all through Dreamweaver and live a long and happy life. So while the CMS offers a number of advantages, I don’t think it’s (yet) the answer to all Web site needs.