WordPress now powers over 28 per cent of websites, according to the latest statistics from w3tech. That's an astounding figure, considering the next largest 'known'1 CMS – Drupal2 – comes in at 7 per cent.
So how did WordPress become the most popular content management system? Is it because it is the best? Well, it's one of the best blogging systems, but it's absolutely isn't one of the best CMSs from a development, customisation, documentation, support, code quality or user experience perspective.
The simple answer is that it was in the right place, at the right time.
It's important to remember that even as late as the mid-to-late noughties (2005–2009), companies were almost completely reliant on web developers to make changes to their websites. Even the smallest of changes – like a phone number or an address – could cost hundreds of pounds/dollars.
Editing and maintaining your own site was the preserve of larger companies that could afford their website to be integrated with CMSs like ExpressionEngine and Drupal.
The mid-to-late noughties was also the time that companies were beginning to become aware of the role content played in their visibility on Google. It was at this point the nasicent online content marketing sector got its start.
As more and more companies realised the need to have a blog, they turned to WordPress, which by that point had already established itself as the leader in that market.
Trojan WordPress Horse
WordPress made it easy to add blog articles to a website. Back then, the software was still fairly simple and hyper-focused on blogging. Yet, the ease of editing, adding pages and media made business owners question why they couldn't edit the rest of their website with such ease.
The issue was – and still is to this day – that WordPress was designed as blogging software. Even down to its very core – its database schema – it is, and likely always will be, designed to handle blog posts.
This is where most of WordPress' issues come from. It isn't designed to be an all purpose CMS – which is what most businesses need.
A good example of this is that there is no easy, native way to create template-based custom fields. Yes, they eventually added custom fields – so to speak – but they are unwieldly. And even when they are used, the main content of the page is still added via the WYSIWIG editor. In other words, they're next to useless for managing structured content.
A good CMS should give the developer a way of making the user experience of those using the control panel quick, intuitive and safe. A great CMS makes it possible for the developer to craft every part of the user experience in the control panel, ensuring it is – almost – impossible for the user to break the site.
WordPress achieves neither of those, without adding plugins. And I know that the comments on this post will say "But Ben, you can install ACF or CMB and get that". Yes, but the point is that in a good CMS, that shouldn't be necessary.
The point is, WordPress was in the right place at the right time. But that doesn't mean it was the best option then. And it certainly doesn't mean it is the best option now.
Project Guttenberg | AKA – WordPress is blogging software and always will be
Project Guttenberg is quite possibly the best example of the two forces pulling at WordPress. On the one hand, you have its main commercial backer – Automattic. They are driving the introduction of Guttenberg – a major overhaul of the blogging experience that will likely break hundreds of thousands of sites where the developer – myself included – has used ACF or CMB to make WordPress function like a CMS. It is a flag on the body of WordPress that states firmly that WordPress is blogging software and little more.
On the other, you have thousands of developers who want WordPress to continue moving towards becoming a CMS.
I'm on the side of Automattic here. WordPress needs to stop trying to be something it isn't. It's phenomenal as a blogging platform. But it isn't a CMS. Without a fundemental overhaul of the codebase and database schema, it can't be a true CMS.
My point is, there are plenty of other CMSs out there that do a far better job than WordPress. Craft CMS, Statamic, Perch are all shining examples of what a CMS should look and operate like – from the developer's perspective and from the client's.
If you've only ever used WordPress, I implore you to go and try one of those CMSs. Yes, they're paid, but you can install them locally on your own computer and build sites with them.
As part of that, I'll be writing a series of blog posts comparing how difficult and how much code is required to write a single custom field that is easy to use for users in WordPress compared with major CMSs.
Hopefully you'll find them useful.
1. Not all CMSs report their presence. Indeed, none of the big four paid PHP CMSs – EE, Craft, Statamic and Perch – provide anyway of the browser bots that conduct these surveys to know a website is powered by them.
2. Technically, the second largest 'CMS' is Cisco's WebEx. However, as it is a communications and webinar hosting platform, it doesn't really meet what I'm defining as a CMS here.