Content management systems can be amazing. They offer off-the-shelf functionality for free (kind of) and they leverage a large community of users and programmers to continually add new functionality and improve the product.
But is using a CMS like WordPress right for you?
Whenever we consult with a client on a web design project, one of the first things we try to determine is whether or not an off-the-shelf solution like WordPress, Joomla, or Drupal is a good fit. If it is, it can be a great way to speed up and simplify the process.
However, it seems that more often-than-not these are not the best solution for clients that come to us for help.
What tends to happen when a client comes to us (or any external agency) for a web design and development project, it's because they either have very specific needs, limited resources available to do the work in-house, or because they have nobody on staff that's technically proficient enough to handle it for them.
On the other hand, a CMS like WordPress is great in situations where you have more generalized needs, resources available in-house to handle web design/development and maintenance activities, and someone on staff that's fairly tecnically savvy.
WordPress is relatively easy to use but there is still a fair amount of technical knowledge required to handle deploying a WordPress website yourself.
(Although I haven't actually played with either in the last year or so, Joomla and Drupal typically represent a much larger barrier to entry so we'll focus on WordPress in this article as it's also the most popular.)
Even the process of finding and securing the right domain name is best handled by someone with some experience doing so. Then there are the awful shared hosting environments that tie your email and your website hosting together - two things that have no business existing on the same server ever.
Once you've deployed a WordPress site, you need someone to help you configure your static pages and your blog pages (if you're not going to use the blogging funcitonality, definitely question whether WordPress is the right solution for you).
You need to customize your skin, install your plugins, and then continue to maintain the environment. All of this requires time and knowledge.
The other issue we come across with WordPress installations is that because of the popularity and openness of the platform and the contributions from the community, it seems like anybody and everybody has taken a shot at building a WordPress plugin.
While this provides a wealth of resources to choose from, it also opens up a tremendous amount of security holes.
First, the platform itself is a target because of how popular it is and the fact that the source code is completely open source, anybody that wants to can scan the source code for exploits.
Second, how well do you know the developer of the plugin you just installed? Was it built by someone with 15 years experience in software engineering and a solid grasp of digital security, or by your 17 year-old neighbor who just learned some PHP and wanted to build something with what he/she just learned?
I've seen enough hacked WordPress sites to be extremely cautious in allowing my clients the ability to install their own plugins or to install ones myself that haven't been proven over a very long period of time.
The problem is that this defeats on of the main purposes for using WordPress in the first place.
Thinking that you'll only use popular plugins then?
The catch-22 of the situation is that the more popular a plugin is, the more of target it becomes for hackers.
The other problem I see a lot when clients request a CMS as the backbone for their website is that it often gives too much control.
For example, we were recently contracted to replace a WordPress installation with a completely custom content management system because the employees of the organization in question had so much control over the website that they destroyed it.
After a couple years in production, just about every page had display issues (especially on mobile devices), different fonts and colors, and just a complete lack of any consistency across the board.
It was slow both for users and admins, and had become almost unusable. By building out a custom solution, we were able to take 100% control of the look and feel while providing the staff with just the right amount of administrative access to make the content changes they needed.
Lastly, it's important to remember that content management systems are database driven. This is great for functionality like full-text search indexing, blogging, and fast front-end changes, but it presents challenges when running updates or staging changes and testing them before they're available publicly.
Is a CMS ever the right solution?
The purpose of this article is absolutely not to indicate that content management systems aren't a viable option for your website.
There are some amazing websites built on top of content management systems, and we even have a few ourselves, both for our own products and for clients.
For example, if you need the ability to quickly deploy new sites without too much effort, DNN (formerly DotNetNuke) is a great option that allows you to manage multiple websites ("portals" in DNN) in a single installation.
If you need a basic website with a blog, WordPress is an awesomely powerful tool to help get you up and running quickly. Built-in industry standards like RSS/ATOM feeds, open graph tags, advanced SEO features, and more make these platforms a great way to get up and running.
It boils down to a few key items.
The first is not to have a pre-conceived idea of what platform (if any) you want before you start working with your web developer. Instead, it's better to come in with an understanding of what functionality you want and need.
Next, make sure you're working with a web designer or developer that will evaluate your individual needs and recommend the solution that works best for you, not them.
I've seen plenty of website built in WordPress that shouldn't have been simply because that's just what the designer knows and uses to build all of his/her websites in. On the other hand, I've also seen custom built websites that would have added far more value to the client as a CMS.
Every client, every website, every situation is different, and there's not a one-size-fits-all solution when it comes to web design.
Make sure you're being provided with the solution that's right for you, and that you're working with someone who is capable of helping you come to that decision together.