When I started building websites in 2004 it was the good ‘ole days of Dreamweaver, HTML and cowboy coding directly onto web servers. When I found out what a content management systems (CMS) was, I was hooked. It’s obviously much easier for your clients to edit their content in a wysiwyg editor than having to learn code!
Joomla was our first CMS. It was pretty clunky and complicated, but it served us well enough in the early years. When we discovered WordPress in 2008-2009 (around the time it started supporting custom post types) we switched and that’s been my platform of choice ever since. We’ve now build hundreds of WordPress sites and some that we first built back in 2009 still running today happily (although with many design revisions along the way).
WordPress and the WordPress ecosystem have grown into a behemoth in the intervening years. It currently powers 43% of the web, an astonishing statistic given the sheer number of platforms you could choose to use now days.
WordPress has been great to us over the years
We’ve build some great projects on top of WordPress and the plugin ecosystem that has grown around it. We’ve got excellent WordPress specific hosting that loads sites fast and management tools that help us keep everything up-to-date and secure.
We love our current tech stack:
Bricks Builder - hands down the best visual building tool in WordPress today
Advanced Custom Fields - powerful field creation and management for custom content
Core Framework - A fantastic CSS framework that integrates with WordPress and Bricks Builder seemlessly
WS Forms - The most powerful form tool we’ve every had the pleasure of using
All these tools make us fast and efficient and we can build complex and information heavy sites very easily.
Nothing is “wrong” or “broken”. WordPress is still great for many sites and purposes.
So why try something new?
The web design space is evolving
WordPress has some issues that need addressing
WordPress has governance issues
I need to get out of my comfort zone
Let’s explore each of these in a bit more detail.
An evolving website design environment
Website design has been through big and small revolutions many times over the years. It feels like we’re at another interesting time right now. The market feels like it’s bifurcating and heading in two different directions
With the rise of no code tools like Squarespace and Wix, the lower end of the website design market and websites built and managed directly by clients are easier than ever for people with low to no website skills. AI is only fuelling this further. These tools have an inherent functionality limit but are good for many small sites. They also have big marketing budgets and are steadily gaining traction with people managing their own sites.
Agencies that work with medium/larger organisations want more control over content and the ability to lock down the design. These clients want easy to use, time efficient admin panels and integrations with services they use for other parts of their business. Business results for these clients depend on a modern and secure platform with fast load times. These agencies are increasingly moving in one of two directions, professional “no code” builders like Webflow or Framer OR to professional level CMS solutions like Statamic, Craft CMS, Strapi + Astro or other headless CMS + your javascript front end framework of choice. While all these tools differ in how they approach web design they all have one thing in common. They are aimed at professional users who can get the very best out of them.
Older platforms like WordPress are starting to get a reputation as not really being modern enough. We hear it regularly now “why are you using WordPress?”, “isn’t WordPress insecure?”. There’s lots of good reasons why those perceptions are not really true. But, there is a strong feeling in the market place right now. Because of WordPress’s beginnings as a blogging platform, it falls pretty squarely between these two markets. It’s starting to feel like there is a risk it will fall through the widening cracks between these two camps at some point.
WordPress has some technical issues / technical debt
WordPress was born in 2003 as a blogging platform. It added support for custom post types in v3, in 2010. With Custom Post Types (CPTs) now a core integrated feature, WordPress became a viable CMS platform for all kinds of sites, not just simple businesses and blog sites.
There are some legacy factors that date right back to it’s inception that I feel are holding the product back.
It is overly blog focused for the modern world of web design
First and foremost, since the beginning of the platform, it has been blogging focused. That causes a number of challenges we feel today:
It is assumed that you will always need the blog functionality. It is not possible to disable the blogging part of WordPress without code. Most small businesses are not blogging at all, many use social media for their news distribution.
The database structure is built with blogs in mind (not the variety of data structures that more complex sites need). This forces round pegs into square holes and doesn’t always work the best for performance on large sites. It’s hard work building custom database structures and integrating them with the rest of the platform as you are “off the rails” and needing to build it all yourself. It seems that is only something that larger teams like WooCommerce do with any regularity.
The editing environment is primarily focused on long form content writing. It is possible to build out more complex page designs with Gutenberg (the WordPress content editor) but it’s not at all ideal. Support for custom fields in this new interface feels like an after thought. It feels like the core team assumed that you mostly won’t need them, that the new editor would solve all your content needs.
The majority development effort since 2018 seems focused on the Gutenberg editor. That’s to the detriment of the rest of the platform, especially for all the tools around managing content and media.
The admin panel is getting old and creaky
It’s a long time since the last major admin overhaul. While the editor has had most of development work, list views of pages, posts and any custom content have lagged behind largely untouched. You’ll need a plugin or good code skills if you want to:
Add a custom column to the page list with data from your custom fields
Create a saved filter of your posts for easy access
Manage more than the very basics of your content in bulk operations
Organise the media library in categories/folders
See what content media is linked to
Login as a client to see what they see
Change defaults for display settings (e.g. how many posts show in a list before paginating) globally not one user at a time
Some of these issues are being worked on by the core team but given the glacial pace of improvements, we’re not holding our breath for a complete overhaul any time soon.
There’s a plugin for everything and that creates conflicts
Because of the reluctance to build out features in WordPress core, plugins have sprung up for every feature under the sun. Multiple options exist for each type of functionality. I don’t think there is a single site we’ve built for clients over the years that could have been built with WordPress core and no plugins installed (without some serious custom code work and basically creating all the plugin functionality our selves). At a bare minimum for a business website you need:
A caching plugin so that WordPress is actually performant when the site gets lots of traffic
An SEO plugin so that you can inform search engines about your content and get your clients to rank
A form plugin so you clients get content enquires
A plugin to create and manage custom fields easily so at minimum you can manage global content like the businesses phone number from one central place
If you want a better experience for your clients in the admin editor you’ll also need:
Performance optimisation (for images and for JS and CSS files)
A way of organising the admin menu so the content they need is “front and center”
A way of getting actually helpful content on the dashboard when they login
A way of changing which columns of information they see in the list views and better filtering options
And that’s before you even consider custom functionality needed for a specific project like, project listings, team directories, events listings, ecommerce, donations platforms or any other complex content that they might need to manage.
Once you start putting a lot of plugins on the site, the conflicts start. Sometimes you know right away. Sometimes a bad update with a piece of new code from one plugin introduces issues in another. Managing WordPress sites in the long haul is no joke and requires skill and a sound knowledge of best practices. We’ve all become experts at trolling through the WordPress plugin repository looking for the “good” ones.
WordPress core definitely shouldn’t have every feature under the sun. However, the balance is wrong in my opinion, you have to add far too much functionality in a default install to make it truely usable for anything other than blogging. More functionality in core would also reduce choices that site builders make and ensure that more of WordPress worked the same way for every user.
It’s not designed to separate content and design by default
This is more of an issue for agencies and freelancers, we don’t want to build something beautiful and then have the client come and put some content up in bright purple text. WordPress was never designed with the idea of separation of content and design in mind. Styling tools are built into the editor and Gutenberg assumes (like all the WP page builders as well) that you’ll work on design and content/layout in the same place. This is an issue for larger organisations who need to be able to keep content and design “on brand”.
Don’t get me wrong, there is a place for the Squarespace and Wix’s of the world for people who need to manage their own site completely. However, it’s harder than it should be in WordPress to create true CMS interfaces that create a separation between the work of the content editors and the website designers.
WordPress most definitely has some major governance and direction issues
Recent events surrounding the fight between WP Engine and WordPress.org + Automattic have highlighted some key issues in the Governance of the project. I won’t cover the fight here, others have done a better job than I could. Here are some links for you to read into it more:
Jonathon Jergin - https://jonathanjernigan.com/you-cant-single-out-just-wpengine/
Brian Coords - https://www.briancoords.com/the-wcus-closing-i-wish-wed-had/
Josh Collinsworth - https://joshcollinsworth.com/blog/fire-matt
I’m not defending WP Engine, I’m not their biggest fan. However, I’ve been totally appalled by the behaviour of Matt and Automattic in this process. I’ve lost a LOT of trust in the governance and oversight of the WordPress project. When you talk to people outside the ecosystem / echo chamber they think it’s completely crazy.
UPDATE (17/10/24):
It’s gotten much worse since I first wrote this. THE major plugin in the ecosystem has been “forked” or stolen if you prefer and the whole thing is just getting more toxic.
Here’s a running summary: https://mullenweg.wtf/
As result of the fight between these two multi million dollar companies, a few key truths have come home to roast. Not all of them are new, but they are in stark relief right now.
Matt Mullenweg, co-founder of WordPress has almost complete control over all the organisational structures of WordPress. This includes both the commercial side and the non-profit side. He can do anything he wants.
There needs to be proper governance where one person doesn’t control the future of the platform.
There’s not a lot of clarity over the distinction between the commercial entity (Automattic) and the non-profit side. We don’t really seem to know which entity pays for what to keep the lights on.
Contributions are being asked for from all companies making money from WordPress. That’s as it should be. However there is very little ability for anyone outside Automattic to have a strong say in the future direction and development of the core software. Contribution needs to come with a voice.
Matt / Automattic are not afraid to weld the “nuclear” option when in dispute with another company. He appears to not be bothered about the number of end users affected by those decisions (1.5 million sites in the case of WP Engine). This is an existential threat to the platform as a whole. Clients won’t care who started what, if their site breaks or loses functionality, next time they rebuild it, they’ll like consider non WordPress options.
The head of the project has threatened a business in the space with hostile corporate take over and also uplifting one of their key commercial products and integrating it into core. That sort of attitude, if left unchecked, will stifle innovation in the ecosystem. Who’s going to want to invest in a business that Matt might decide he doesn’t like.
Matt is very resistant to outside influence. Various community driven marketing and governance initiatives have been folded or curtailed.
Ultimately the decisions driving progress in the WordPress space are totally aligned with the business needs of Automattic the commercial company. Sadly Automattic’s needs are not the needs of the other half of the community of agencies and freelancers building sites for business clients.
We need developer focused features. Automattic needs to compete with Squarespace and Wix. That leads to very different product needs. This disconnect is a major source of frustration in the community at large.
WordPress’ massive market share will see it ride on inertia for a few years. However, it needs to evolve and if it doesn’t, I hold less hope for the future of the platform that has been the majority of my working life so far.
I need to evolve my skills and get out of my comfort zone
Finally, for me personally, it is important to get out of my comfort zone and learn new things. I’ve been in the WordPress ecosystem for 15+ years and it’s time to explore the web design world more broadly. I want to learn some new skills and tools like Statamic, Tailwind and Alpine.js. It’s time to explore how the rest of the professional web development community does their work. It will be good for me to develop skills and opens the door to new possibilities.
There are a number of possible outcomes
I might be building in an entirely new system in 12 months.
OR I may not abandon WordPress in the long term, I might bring these new perspectives / learnings back into a WordPress context.
OR I might decide that the grass isn’t greener and stick with things exactly as they are.
We’ll definitely still be building new sites in WP for the next 12 months anyway as I get up to speed with new platforms. You never know, WordPress might even get its “A into G” and deliver some of the features we’re so keen on seeing.
Where to from here?
All I know for sure is that I’m writing this post on a brand new Statamic website I’ve been working on. I’m enjoying the process of building and writing on Statamic a LOT more than I have on WordPress in a very long time. It feels like a system where all parts are pushing forward with one clear vision and that’s super refreshing.