5 Reasons Your CMS Sucks
I've work with a lot of different companies in different industries who use a content management system (CMS). When I ask them why they want a new website, to often I hear, "Our current CMS just sucks." or something along those lines. To a potential developer, this doesn’t help at all. Why does it suck? There are obviously reasons they say that. Here are the top five things I usually find when I investigate why people say "it sucks".
1. Not using (correct) available modules or tools to achieve the goal
All too often when I start digging into a client’s current website, the core code base is usually solid, stable, and functions as designed. The problems come when things are rushed and, just because it’s quicker, they throw in some code to bypass the system rules to get what they need. This leads to a host of residual side-effects like duplicating code, difficulty finding/changing code when problems arise, and even security vulnerabilities. If there’s not a module or there’s something close to what you need but not exactly, you can most likely find someone within the CMS’s community that will build a custom module or modify/extend an existing module to achieve the functionality that you require in a manner that conforms to your platform’s structure.
Nearly all CMS's have some sort of access control built in that is extensible. Each user on your site fills one or more roles on the site from general user to various admin roles. What I find is that most companies haven’t structured or defined the user roles and permissions correctly if at all. This leads to administrative interfaces being cluttered and confusing not to mention the security risks involved. If an administrative or general site user (Gasp!) have capabilities for areas that don’t fit their role, they can even potentially break the entire site. Worse, they could hijack it all together. (Your attorney is going to love getting you out of that mess, I promise!) All organizations have a structure already in place, use it and most of all ENFORCE it.
3. Mixing layout with content
4. Forcing content to be something it isn’t
Similar to #1 and #3 above, to many times content is forced into something that it isn’t. A product page is close to a basic page but it has very different pieces of information that need to be made available at different times. Sure, you could create a product page from a basic page by shoving a block-level element in the content area with the product options. But wouldn’t it be better to extend the basic page or make a totally new page type that contains all of the data elements separated from the body content? That way, it could be reused and have different layouts applied depending on the display requirements.
5. Lack of or deviation from the plan
The top four items on this list all root from a single cause or variation of a single cause -- lack of planning. Modern websites are not stale inanimate objects. By the nature of business alone, they have to be able to expand and grow over time or will become irrelevant.
This is perfectly fine if there is a plan for that growth and expansion. Don’t just throw something in because there is a new feature or service or an "expert" suggestion that a new social media platform will boost your customer base.
Take the time to analyze what the business objectives and requirements (two very different things) are to implement whatever it is that is needed. Then execute a new or revised plan to meet these new requirements. This alone will save you time, money, and your sanity over the long term. By fixing these five things, you, the business owner or project manager, can fix your current CMS and possibly save thousands of dollars.
Examine your current CMS closely and identify the problems that cause you to say "Our CMS sucks." It may be painful within the organization, but changing a few business processes or workflows will help your CMS work for you rather than against you.
Need help sorting it all out, contact me and we will get your website back on track...for your team AND your customers.