Should my company use a CMS?
Wednesday, April 2nd, 2008Content Management Systems are not for everybody. I’ll explain why high-traffic, high-income websites should hire a professional web firm to manage their website and online presence rather than using a CMS. At the end of the article, I suggest a solution to companies looking to do content updates themselves.
Here’s the story …
As a software developer for Standing Dog Interactive, I have been tasked with managing a website for a large corporation. Another web firm managed the site previously; however, the corporation has changed their mind and decided to have us manage the site because we’re awesome. Somewhere along the line, the decision to use a CMS (Mambo) was made.
Obviously, I’m biased. As a software developer working with professional designers, copywriters, and SEO specialists, I would prefer not to use a CMS and instead use conventional methods – HTML, CSS, PHP, Javascript, etc. I’m positive my coworkers would agree with this statement. At the same time, I understand why someone would prefer to update content themselves. Before you decide to implement a CMS, please allow me to point out the tradeoffs you will be making.
The wonder that is a Content Management System
CMS’s are a truly ingenious idea. When used correctly, they allow anyone to quickly and easily update a website. This means anyone can create a web presence with very little technical knowledge.
As a side note, I would like to say this:
I was the lead developer on a CMS project at my previous job. I understand all of the complexities that go along with developing such a system, so I would like to applaud the efforts of everyone working on these systems.
The ugly side of Content Management Systems
Most, if not all, CMS’s try to solve a monumental task: trying to allow non-technical users manage a highly-technical system. While CMS’s make valiant efforts to empower non-technical users, their results are very rarely ideal. A competent web firm will employ a very large, very diverse set of skills to build and update websites, including but not limited to the following.
- User interface and graphic design – making your site beautiful, clear, concise, and easy to navigate.
- Copywriting – professional writers (English majors) writing truly enticing, informational content.
- SEO – making sure people can find your site in the internet cloud.
- Programming ( PHP, Javascript, etc ) – simplifying complex or annoying tasks and empowering users.
- Typography – making users enjoy reading content on the website.
- Cross-browser compatibility – because certain browsers display particular parts of websites differently.
- Accessibility – accommodating the visually impaired and supporting unconventional browsers such as cellular phones.
The only way to accommodate all of these at one is to implement very complex layers of abstraction. At the same time, all of these layers will affect one another, so they must play nicely together. While CMS systems try to avoid it, this abstraction inherently places restrictions on the skills listed above. Below are various techniques commonly used to address the complexity of a website and how they affect a website.
HTML templates
These attempt to separate graphic design from website content by creating a reusable skeleton to which page-specific content can be added. Forcing the reuse of common templates make it very difficult to fine tune every detail of a website. These obsessive tweaks are what gives a website a truly polished look and feel.
URL rewriting
This mechanism attempts to make dynamically-created pages appear static. Search engines have a hard time indexing sites with dynamic content, and most refuse to do so. URL rewriting is usually done automatically, making it very difficult to relocate or rename individual pages.
Also, while URL rewriting can make it easy for search engines to read content from a website, it cannot even begin to do this if it cannot find the site in the first place. SEO specialists use very creative techniques to ensure that your website will be at the top of search engine results pages. Many of these techniques are trade secrets.
Widgets
These are commonly called modules, plugins, components, or addons. These items are created to provide custom functionality without any programming knowledge. While this is very empowering, most of the time, one size does not fit all. Often times managers are looking for a very specific feature, cannot find a module to provide this feature, and are instead forced to use a widget that only sort of works.
Obviously, features that only sort of works can hardly be called features. If a website manager chooses to have a custom module built for them, the same mechanism that allows for drop-in features also restricts programmers to working with only the inner-workings of the site that are made available to them by the CMS. If the CMS doesn’t allow them to modify a particular portion of the site, much more time and effort must be spent to implement features that uses this largely inaccessible area. When this happens, deadlines and budgets become very superficial.
WYSIWYG editors
Editors used to create stylized text without any knowledge of markup languages (HTML) and styling syntax (CSS). While this makes content management easy for people familiar with word processing applications, again, this forces managers to use only the tools and functionality they are provided. Often, this functionality is clunky and incomplete. From a software developer’s perspective, this is one of the hardest and most involved features to implement in a CMS.
There’s more
A competent web firm will employ professionals capable of building ideal solutions for every single one of the issues listed above. This is one of those instances where you really do get what you pay for. If you are fine with making tradeoffs in some of these fields, then use a CMS.
You may have noticed that I did not mention solutions to professional copywriting, cross-browser compatibility, or accessibility. This is because I have never seen a system that addresses these issues worth mentioning. To be honest, I’ve never seen a CMS that even attempts to address these. Perhaps someone will show me one after reading this article.
The economics of it all
It is impossible to generalize the value of professional services. If two companies looking to improve their web presence spend the same amount of money for the same quality of work, one company may see dramatically increased revenue, while the other may see little or no increase in revenue. Some websites are just in a more profitable position in the online marketplace.
Also, users may ignore the shortcomings of one site, but not the shortcomings of another site, even if both sites have the same flaws. For example, if you are buying socks online, do you really care what the online store looks like? What about if you’re buying new furniture? More expensive products demand higher quality websites. A web firm can help you determine your online market position and suggest possible improvements.
Market positions aside, there are a few more quantifiable expenditures. Changes to sites using CMS’s will naturally be more expensive than sites that don’t use them. This is because CMS’s add yet another layer of complexity to the entire equation. Aside from all of the skills listed in the beginning of this article, web firms must also learn to work with something unfamiliar to them. This creates an expensive learning curve, and somebody has to pay for the time spent learning this new system. It may be possible to hire a specialist that is familiar with a particular CMS, but specialists naturally charge a premium.
Also, CMS’s only allow specific types of modifications. If the CMS does not allow a certain change, firms must explore uncharted waters. Digging around in the guts of something as complex as a CMS is very confusing and time consuming. This translates to highly “dynamic” development costs which someone must pay for. Managers should know exactly what features they require, and ask a professional which CMS would support such modifications if any.
Finally, the future is unpredictable. You may eventually decide to have someone else manage your site. Be aware the changing hands like this will impose the CMS learning curve mentioned above. The new webmasters must familiarize themselves with the system. New features may also be desired that were not accounted for initially. Again, if the CMS doesn’t support these features, be prepared to pay high premiums.
On the upside, it is often very easy to convert a site that uses a CMS to a completely static site. This means that you will lose the ability to update content without technical knowledge; however, professionals can update content for you just as quickly as someone using a CMS can.
A middle ground
Add content management only to content that needs to be managed. As I’ve explained, it is much easier to restructure, redesign, or otherwise optimize an entire website if it is not built on a CMS. It is also fairly simple for a software developer to create custom software to manage content on a page by page basis. Instead of building an entire website using a CMS just to manage the content on a few pages, a more effective long-term solution would be to have a software developer create a very minimal program to update specific text in specific places of the website.
So what does this mean?
CMS’s work great, but only for what they were intended. I recommend using a CMS in the following instances.
- If you have very simple, conventional website.
- If you are unfamiliar with the web technologies used to build a website and cannot justify paying professionals.
- If you do not foresee any major changes or additional features in the future and are prepared to pay the premiums for these.
- If the restrictions created by using a CMS will not affect your online presence in a dramatic way.
One more thing. There is one scenario where CMS’s are essential: large groups of individuals managing many different parts of a website. If more than just a few people will be managing a website, it is often impossible to perform updates without problems. The access restrictions and conflict management systems employed by some CMS’s can address these issues.
Imagine trying to use a gingerbread man cookie cutter and a reindeer cookie cutter to create centaur-shaped cookies. This not what these tools were meant for, and you will have a difficult time stitching together the pieces. While CMS’s often make valiant efforts to allow freedom such as this, they are never ideal and frequently make tradeoffs to accommodate this flexibility.