WordPress runs a large part of the web on a big promise: whatever you need, there’s a plugin for it. That promise is one of its greatest appeals, and its most costly trap.
Almost everything that harms a WordPress site arrives looking like help: a plugin that solves a problem, an extra setting that hands the client more freedom. Both are additions, and both lead to sluggish performance and a diluted brand. So we treat a build as a question of what to leave out, as much as what to put in.
Plugins are the clearest case. The instinct is to install one the moment a gap appears, because installing is easy and only takes a minute, so it feels like a quick win. But this can leave you with a bloated site, and a dependency you no longer control, looked after by someone you will never meet who last touched it six years ago. The bill comes later, and it keeps coming. And the client is the one who pays it, in slower pages and a site that slips off-brand while no one’s looking.
Before anything goes in, I ask whether it needs doing at all, and whether we should be the ones to build it. We work on a framework refined over years that acts as our tried and tested recipe, blended with the best open-source tools the ecosystem relies on, and modern, native WordPress features like Gutenberg blocks. The rest we write ourselves, ensuring no unnecessary weight. The few plugins we keep earn their place, because rebuilding them would be the wasteful addition. Advanced Custom Fields, which shapes how content is built and edited, unlocks too much to ignore; WooCommerce Memberships runs the whole subscription flow from the back end, recurring payments and cancellations are all taken care of.
A pared-back editor, with a live preview so clients can see a page take shape as they build it
This same restraint shapes the editing experience we hand over to our clients. A thousand options don’t make a site flexible; the right ones do. We build bespoke building blocks and give the controls that matter, leaving out the ones that only get in the way. Take away the chaotic colour pickers, fiddly layout controls and plugin screens, and the backend remains simple, the content workflow stays fast, and the site stays looking exactly as intended week after week.

When Greenpeace needed functionality which the off-the-shelf Pardot connector lacked, we didn’t bolt on another third-party dependency. Instead, we engineered it as a custom extension controlled entirely within our codebase. The same adaptable framework moves from one project to the next, Greenpeace to Parloa and on to whatever comes after, its variables keeping each change quick.
A client ends up with a fast site that stays theirs and stays on-brand, one that does not run up a bill while they get on with their work. The kind of project any team would happily inherit, defined as much by what we kept out as what we put in.
Read more about how we standardised the brand foundations for Primary Venture Partners