At the start of any digital project, we have to decide what platform to work with. At Phoenix, we're good at building big, bespoke websites, for clients who want more than just an "online brochure". This means that we tend to recommend building a site from scratch, using an open-source PHP framework (typically Laravel).
However, clients often ask us about WordPress. They might have used it before and liked it, or they might have simply heard of it.
We almost always advise against using WordPress, and this post explains why. Let's start with the basics.
What is WordPress?
WordPress is a free and open-source Content Management System (CMS).
Essentially, WordPress is an off-the-shelf piece of software, which lets you build a content-managed website very quickly. You create the pages you want, find a suitable visual "theme" online (or build your own), and the site is up and running straight away.
WordPress also comes with a full CMS built-in, meaning that you can start adding and editing content straight away.
This has obvious benefits. The four main ones are probably:
It really doesn't take long to get a simple WordPress site up and running. This means that the cost of building a WordPress site can be very low.
WordPress is a tried and trusted piece of software. It's been around since 2003, and the latest version (at the time of writing) is 4.7. You can be confident that the CMS works, and that it won't contain any major bugs.
WordPress is popular. Very popular. As a developer, this means that there's a lot of documentation and useful resources online. As a business owner, it means that it's easy to find a WordPress developer to work on your site – or if necessary, take over from your existing developer.
There are a huge number of third-party plugins for WordPress, meaning that adding a contact form to your site, or optimising your site for search engines (for example) is very straightforward.
All things considered, WordPress is a good piece of software. It's an excellent choice for a hobbyist looking to build their own website, or for a small business looking to get a simple, content-managed website up and running for few thousand pounds.
So, why don't we recommend it to our clients?
For all its benefits, WordPress has a number of disadvantages. In fact, each of the four benefits above comes with a caveat.
Yes, WordPress is cheap. The software is free. You can learn how to build and maintain a simple site yourself. There's need to pay an expensive freelancer or agency at all, in fact, unless you need some advanced, custom functionality later on.
There are limitations to what this model can deliver, though, and price isn't always the most important issue. Most companies will be investing in their website in order to generate a return. Choosing WordPress because it's "cheap" or "free" isn't always the obvious choice.
Although WordPress itself is reliable, once you add plugins, you're relying on another third-party developer to keep their extension robust and secure. If you then start to extend WordPress itself with custom code, you're very dependent on the quality of the code you're adding in.
We've inherited some WordPress sites that have been extended very badly, and which took a long time to sort out. When this happens, the fact that Wordpress is a reliable, "standard" platform doesn't count for much.
For businesses, this is often the main appeal of WordPress. As it's a well-known, widely-used platform, companies can be reassured that if they ever need to move their website to another developer or agency, it'll be easy for that developer to understand the codebase. A "closed", bespoke system might be harder for a new developer to get to grips with.
There are a few things to stress here though. Firstly, as mentioned above, there's no guarantee that a WordPress site is easy to understand; a WordPress site can still contain a lot of "custom" code, of varying quality.
Secondly, a good bespoke site will be written in a standard framework, which will also be widely-known and well-documented. As with WordPress, a developer with experience with that framework should be able to pick up an existing website without too much difficulty.
Thirdly, though, and perhaps most importantly, a good website should be seen as an evolving product, and an ongoing project. The long-term relationship between client and developer/agency is extremely important.
Moving a digital project to a new agency will always involve a steep learning curve, for everyone, and understanding the codebase on a technical level will only be a small part of that.
Rather than asking how easy it will be to move a website to someone else, the really important thing is to ensure that everyone is committed to supporting the website in the long-term.
WordPress does have a wide variety of plugins available. However, much of the built-in functionality, and even the functionality offered by plugins, is set up to work in a certain way.
If that way of working isn't exactly what you want, then you need to get under the hood of WordPress, and starting patching in your own code. That's not a problem; WordPress fully supports this.
The argument can be made, though, that once you start writing your own WordPress code, you're defeating one of the main purposes of WordPress; the fact that it just works, out of the box, without needing any technical know-how.
As a developer, there can come a point at which you're writing so much code, and patching existing WordPress routines, that it's hard not to think, "It would have been easier to just write this from scratch."
Fundamentally, though, WordPress has limited scope. There's a lot that WordPress can't do, and this limited scope is largely why we don't work with it.
WordPress is great for managing a content-heavy website; it started life as a blogging platform, after all. If your site just needs to deliver rich content to users, WordPress works very well.
If your project needs to push these boundaries, though, then WordPress can struggle. Let's imagine that your users need to register, create their own profile pages, and send messages to other users? This plugin looks good, but gets mixed reviews. What if you need to sell things online? WooCommerce is probably the most popular plugin for this, but what if you need to sell products in multiple currencies? That suddenly looks a bit complicated.
Take things even further, and you might want one of your suppliers access your product data over an API. This plugin might work well, but it's not been updated in over a year. Also, will it integrate with WooCommerce? And so on...
If you have a simple website, and it's going to stay simple, WordPress could work well. If you've got advanced requirements, or if you want your site to work in a very specific way, you might quickly hit a bit of a ceiling.
WordPress is a decent tool. It's certainly worth considering by anyone who needs to build a small website, very cheaply. For bigger projects, though, we can't recommend it.