A good Content Management System, or CMS, can be a powerful tool. They are all the rage in the current web atmosphere because their strengths are obvious and significant. What are not so obvious, but equally or even more powerful, are their disadvantages. CMS applications such as WordPress, Joomla, Drupal, and their ilk are no-brainers for the right project and the right application. In the right context, they are a wonderful tool. Outside of that context, they are more problematic than they are helpful. Unfortunately, they are increasingly overused because the benefits are easy to sell.
There are advantages to using a CMS in particular scenarios. These advantages are readily apparent and highly attractive and so often times are over-valued, however. I will list the major ones here in the hope of offering website owners an opportunity to consider the use of a CMS appropriately.
Editing Content Quickly and “Easily”
Perhaps the most obvious advantage is that a CMS allows non-developers an opportunity to edit their website content without knowing how to code. There is always a learning curve for each CMS but some are certainly easier to pickup on than others. A typical CMS allows amateurs and developers alike to build an HTML page and inclusive scripts with point-and-click actions. In a slick and well-developed interface, this could take only minutes. Saving time is a value to everyone. When familiar with a CMS, it is possible to get a fully functioning website online in just a few hours. Certainly, this will be a “canned” production, with little to no customization, but there are oodles of beautiful themes and plugins available ( usually for a price($) ) and a plethora of CMS applications from which to choose to get you started. A good developer can take this starting point and get you to a wonderful endpoint.
Layout and design, SEO, server-side functionality, are all touted by most CMS. They abound in various widgets such as calendars, image galleries, sliders, and the like. And indeed, they do provide for each of them to some degree. Usually this requires installing and configuring plugins. Despite the ‘easy to use’ claims made by the authors of these add-ons, editing source code is usually required as well to get them working the way you want.
CMS Applications Really Shine in Ecommerce
Where a CMS is frequently the best choice is in the realm of ecommerce. So much of what is required for a successful online business is server-side programming that the user never sees. It requires countless hours and lines of code to produce something that does a lot of things well and securely. Many of these needs are common to most ecommerce projects. If you’re selling something online, its almost certain you will need a way to display your product images and description along with pricing and shipping information. So it only makes sense to build something once and continue to improve upon it than to start from scratch each and every time. Hence, the CMS. Programs like Woocommerce for WordPress, Magento, etc. are built to do all of those basic functions and more. Their features are continually improved and added to in the more prolific systems. So why recreate The Wheel?
“With these advantages, why wouldn’t I want to use one?” That question is frequently asked by amateur web entrepreneurs. As the saying goes, “you asked for it”.
Even a Beginner Can Do It
Sounds great, right? Well it is if you’re a hobbyist wanting to get a website. Not so great, when you’re a “developer” looking to bill people for your services but don’t want to or aren’t capable of learning actual code and design. Web and online application development opportunities are tremendous and will continue to grow immensely for the foreseeable future. It can be done from anywhere that you can get an internet connection. And it can pay well, when you’re good at it.
For these reasons, there are throngs of young up-and-comers entering the pool as well as second career types. Many of them do not want to put in the investment required to develop quality productions. And you will just have to trust me, ( or Google it ), it takes a definitive commitment to learn web development. There are numerous skillsets that have to be leveraged and they are all constantly evolving at a high rate of speed as technology continues to explode. Many “developers” choose a CMS to learn that can do everything for them without actually learning about code or design. I cannot stress this enough, these are the types of people you REALLY want to steer clear of. Any developer worth his or her salt can look at one of these productions and almost immediately identify it as such. If we can, it’s because there are some seriously significant problems that you as a non-developer might not notice. Just like a car might look great to you but a mechanic can simply listen to it idle or peek under the hood and advise, “don’t buy that car”.
CMS Content is Dynamic – and Therefore Slow
A custom website will most often have HTML hardcoded to a page file or directly written to via another programming technology. CMS Rely on Database Calls for HTML content. What this means to you, the site owner, is longer times to view pages. There is no denying it or getting around it. If you have 50 viewers per week, you will rarely have more than one or two users at a time making those database calls to view your web pages and so the longer loads will not be too noticeable. If you own a busy site, you can literally track the time between page loads with a stopwatch.
The top three CMS, WordPress, Joomla, and Drupal, take up @ 70% of the market share in all CMS world-wide. That is ENORMOUS considering the thousands of CMS available today. Like many others, these three are Open Source which means everyone has access to the programming files that make them work. You, your competitor, and the hacker who wants to hijack your email all have equal access to the inner workings. Because of their popularity and ease of access, CMS are immensely vulnerable to hackers. Security updates are pumped out with more and more frequency but you don’t want to be among the thousands of users who lose their website to the hacking technique that necessitates Update Version 12.104.7.
CMS are Resource Expensive
This is a slightly fancy way of saying, a CMS website requires a lot more time and energy from the host server when compared to an equivalent custom HTML website. This translates to higher hosting costs and likely operational problems for you as the website owner. CPU usage, bandwidth, and storage are all taxed much more than on an equivalent HTML website. Despite the tricky advertising, no web host offers Unlimited Bandwidth, or unlimited anything for that matter. There are always caps and you have to read some very technical small-print to understand what those limitations are. If you exceed them, you will immediately hear terms like “throttling” and “account suspension” thrown at you.
CMS like WordPress are so resource intensive, and so frequently a cause of conflict between site owners and hosting companies, many hosting providers now offer packages specifically dedicated to them. GoDaddy, showcased above, offers WordPress Hosting Packages. Despite their claims that “it is very rare that a website violates our hosting agreement”, they have decided it prudent to developer hosting packages specifically for the WordPress (one of, possibly THE most popular) CMS. The sheer length of the Stack Exchange response to the question, ‘How to Determine Hosting Requirements’ for a CMS like Magento indicates that it is a significant concern.
Constantly and Frequently Upgrading Software
At times a CMS will simply have new and improved features to share. Many other times, they are fixing bugs or addressing security loopholes that have been discovered when they release updates. The core files are authored and maintained separately from plugins, themes, and customizations. If you own a CMS, it is not a matter of ‘if’ but ‘when’ you are going to have an incompatibility problem. One of the above will be updated and it will not be compatible with the other pieces of the puzzle. This will result in a design bug, functionality breakdown, or a complete shutdown of your website.
Many new clients come to us with a recommendation from a friend of a friend, or their sales partner, or their neighbor Larry, that they use a CMS because it will be cheaper. You take the CMS, you install it, make a few minor customizations so it doesn’t look like every other CMS website in existence and you’re done, right? Wrong. Even for an “easy” or “free” CMS, if you care about your business, you will need a developer to make it look and work like anything other than a beginner’s attempt. If I need a contractor to fix my leaky roof, I’m not going to look for a beginner. So I’m surely not going to look for a contractor that looks like he can only afford a beginner’s website. As noted above, hosting requirements are higher and so you typically need to pay more for it.
Perhaps most notable is the fact that CMS websites are chock full of features that you may never use. That means lots of unnecessary code that can conflict with future changes in your website, browsers, programming version upgrades, new plugins, hosting changes, and on and on. All of this superfluous code can make programming what would be a simple feature on a custom site built just for you, a major undertaking in a CMS. So if you need to make customizations to that CMS, and you do!, you could easily pay more for development than on a custom HTML site. Not always, but more often than most think. Know if this is one of those times before deciding on a CMS as opposed to a custom production that does exactly, and only what you need it to do.
Code Bloat, an Unnecessary Evil
Speaking of superfluous code, what those in the know call ‘code bloat‘, it can be a major bummer. It frequently accounts for poor site performance (viewing speed), declines in SEO, conflicts with future updates and add-ons, unwanted disparities when viewing in different browsers or devices, and more. You want to avoid bloat at all times.
Customization is a necessity for any business related website. If you make use of a template to which the public has access without customization, you are giving the impression that you either do not care enough or are not successful enough to take your impression on others seriously. For the same reasons that business people where suits and medical doctors use the title ‘Doctor’, business owners ought to have a professional -looking, custom website. Even when a CMS is a good choice, it usually requires the skillsets of a professional developer to execute successfully.
Updating Content is Never as Easy as Advertised
The most notable strength of any CMS is that you can add your own content. But should you is more relevant than can you. There is no doubt there is value in being able to update your own content when the changes are frequent (daily or weekly) and your budget is small. The problem is that when non-developers start making changes to their website, they all too frequently do not do it well. Do you know how to optimize images? How to choose good META information or even know what it is? How to properly name and link to files? Do you know how to write good content from the perspective of a Search Engine bot? All of the aforementioned will either improve or destroy both user experience and SEO. I cannot tell you how many times a client has started editing their site via their CMS and not even realized it has bugs or completely breaks down in Safari or on a mobile device because they always view it in Internet Explorer on their desktop computer. Most times we do not long display CMS-developed websites in our portfolio because once the client gets their hands on it, things quickly get ugly.
If you make frequent and simple content updates to your site such as a few paragraphs of text weekly for your news announcements, a CMS is an obvious choice. If you want to open an online store to sell your wares, a solid system like Woocommerce or Magento is worth taking a look at. If you’re a hobbiest and just don’t want to pay someone else to build your “Cat on Cat Love and Aggression” fan site, then a CMS like WordPress is certainly the way to go.
In most every other situation, hire a developer to build a custom website. There’s a good chance it won’t be anymore expensive than a CMS and will likely look and function better. Then go tell your neighbor Larry to fly a kite.