The discussion over using WordPress as a CMS platform in the development world is largely old news. In many comparisons WordPress has shown it not only stacks up against the other major competitors like Joomla and Drupal, but has gone on to become the most popular development framework in the world (estimates suggest it was powering 20% of the top 10 million websites in 2013).
But here's one thing I didn't expect. It turns out developers aren't the only people any more who have an opinion on which CMS framework is used to develop the next project, well... not if you mention WordPress that is.
"We won't be able to do this in WordPress, I've used it before..."
So here's the problem - while the developers were busy discovering just how far they could push WordPress for larger commercial websites, every man and his dog were installing blogs on WordPress.com. WordPress isn't just known to techies anymore, it's a household name. Unfortunately this association can devalue WordPress as a serious option for development projects to your company or clients.
It took years for developers to see past the blog stigma and fully adopt WordPress as viable option for a full CMS, now there's a whole new audience to convince... Clients have been going to WordPress.com, setting up and using blogs, and now you're telling them that you're going to create their business application in the same thing - are you crazy!?
When I'm usually met with WordPress Resistance when discussing a project, I'll start by explaining that WordPress shouldn't be viewed as an end-product but rather a head-start. It is after all, just a lot of PHP code with a title. Why re-create the same old functionality like account and page management when it's all right there?
"But... isn't WordPress just for blogs?"
The key, I think, is to be able to differentiate between the blogging service, and the open-source software to put some distance between what non-technical users may understand as 'WordPress', and what is used for development. WordPress.com is for blogs. WordPress.org is for developers to download the source code that they can build on. Clients need to understand that the WordPress code and database infrastructure is extremely flexible and allows developers to create larger and more complex systems on top of the core code.
10 years ago this would have been true, and WordPress.com is still a blogging platform. But the code-base that powers WordPress.com, available open-source on WordPress.org, is a powerful CMS framework.
Morten Rand-Hendrikson wrote an excellent article about the pitfalls of labelling WordPress as a good option because it's 'easy'. This leads to an array of unrealistic expectations that a commercial website to suit your needs can be created in a few clicks, or by a developer promising the world for $200. The reality is, WordPress is an easier framework to learn compared to the alternative CMS options, but if you want to harness it's power to develop larger commercial websites - it's only as good as the developer's skills in the language it's written in.
The biggest concern of most non-developers is that they've used WordPress before, they've seen what it can do and can't imagine how their requirements are going to fit into the classic CMS stucture. Don't get me wrong, I'm not suggesting that all projects should or could be done in WordPress, but rather that WordPress is incredibly flexible for developers to build a great range of different applications beyond simple blogs or classic five-page business websites.
From a businesses perspective using WordPress as a framework makes a lot of sense:
- Significant reduction in development time due to starting infrastructure
- Highly robust core code through global testing
- Wide range of additional functionality that can be added for free via widgets and plugins
- End-user familiarity - non-technical users elsewhere in the company are likely to already be familiar with the admin area
- Contstant updates to the core code means you're getting free features without developers even doing any work
- You can't shouldn't change the core code. Doing this means you lose the ability to update WordPress and opens you up to security vulnerabilies. This may make it more difficult to integrate very bespoke requirements into the core CMS.
- The core code is open source - if there are vulnerabilities in the WordPress code then hackers can find them, but on the flip side it also means it's been tested by millions of people. If WordPress is kept up-to-date and bespoke code is being written on top of WordPress rather than installing plugins left, right and center, this is unlikely to be any more of a threat than an entirely bespoke system would be.
I've discussed some of the common concerns of clients in this article and pointed out some of the pros and cons of WordPress as a solution for commercial applications, but the bigger issue with all this is that the discussion is now entirely about the platform. The second that WordPress is mentioned, suddenly the attention turns from focussing on the requirements of a project are to a debate about technology - will this work for what we need? What capabilities and restrictions does the platform have? How does this affect the cost?
The client should be focussing on what they need first and then letting the developers propose the best technical solution, suddenly it's all the wrong way around.
In Brent Weaver's article titled 'Never Say WordPress When Selling a Web Design Project', he promotes selling your solution and avoid mentioning any technologies you intend on using until as late in the process as possible - avoiding the 'technology debate'.
For any project, developers should always choose the best CMS or framework for the job, but it should ultimately be a decision that developers are making based on knowledge of these frameworks. The client's role is to focus on the requirements of what they need, and to allow them to do this developers should steer clear of discussing the technologies too early on in the process.