Blog

WordPress, Done Properly: Custom Themes and Blocks vs. Plugin Sprawl

Build June 16, 2026 | 8 min read

A WordPress site rarely starts as a mess. It starts clean, and then it grows one requirement at a time. The marketing team wants a slider, so a slider plugin goes in. Someone needs a contact form, so a forms plugin goes in. Then an SEO plugin, then a page builder to make the layouts easier, then the three add-ons the page builder needs, then a caching plugin to claw back the speed all of that just cost. Every install solved a real problem that week. A year later the site is thirty plugins deep, loads slowly, breaks when anything updates, and nobody wants to touch it.

That site didn’t fail because it runs WordPress. It failed because every requirement was answered the same way: install a plugin. WordPress powers around 41% of all websites for good reasons, and this isn’t a post about leaving it. It’s about the difference between a WordPress site built with architecture and one assembled out of plugins, because that difference is the whole game.

Where plugin sprawl actually comes from

Plugin sprawl isn’t a sign of a careless team. It’s the default path WordPress nudges everyone toward, because plugins are the fastest way to ship the thing due this week. Each one is a reasonable local decision. The cost is cumulative, and it shows up later, on someone else’s watch.

Here’s what you actually take on with each plugin. It’s third-party code running inside your site with broad access to your database and files. It updates on its own schedule, set by its own author, with no regard for the other twenty-nine plugins it shares a site with. A combination that works today can break on the next round of updates, and the more plugins you run, the more often that happens. None of this is hypothetical: in 2025, 91% of newly disclosed WordPress vulnerabilities were found in plugins, not in WordPress core itself.

The point isn’t that plugins are dangerous and you should fear them. Plenty of plugins are excellent, well-maintained, and worth every byte. The point is that each one is attack surface and maintenance burden you chose to take on, and a sprawl site has taken on far more than it needs, usually without anyone deciding to.

The heaviest case is the page builder. It promises to make layouts easy, and it does, right up until you want to leave it. Page builders store your content wrapped in their own markup and shortcodes. Move off the builder and that content has to be rebuilt, the same way content embedded in markup forces a rebuild instead of a refresh. You didn’t install a layout tool. You installed a dependency that now owns your content.

What should be a plugin, and what should be architecture

The useful question isn’t “how many plugins is too many.” It’s “what is this plugin doing, and should it be doing it.” Plugins are the right tool for functionality that is genuinely external: mature, maintained by someone else, and not specific to your business. They’re the wrong tool when they stand in for the parts of the site that are specific to you.

Right for a plugin (external, mature, not specific to you): payments (WooCommerce, Stripe), form handling, SEO tooling, backups, security scanning, analytics.

Build it, don’t bolt it on (specific to you, changed often): your content model, your templates, your layout and section system, your design system.

The dividing line is ownership. If a piece of the site is specific to your business and you’ll change it often, it should be code you control, not a plugin you configure around. Payment processing is something you’d never want to build or maintain yourself, so a plugin is the right call. Your page layouts are the opposite: they’re yours, you change them constantly, and handing them to a page builder means renting back control of your own site. A page builder used as your layout system is the textbook case of putting architecture in a plugin.

What WordPress done properly looks like

A clean WordPress build isn’t a different CMS or a secret technique. It’s the same WordPress, built with real architecture: a few decisions made deliberately at the start, before the plugin reflex kicks in.

A custom theme. Templates written for this site, not a purchased theme carrying a thousand options you’ll never use and can’t safely remove. A custom theme is smaller, faster, and shaped to the content it actually renders. It’s the same logic as building from reusable components instead of page by page: the structure is yours, and changing it is a known quantity.

Custom blocks built for your content. WordPress’s block editor lets you build editing components shaped to your actual content types. A team that publishes case studies gets a case-study block with exactly the fields a case study needs. Editors get the blocks they need and nothing they can misuse, and the content stays structured data rather than getting locked inside a page builder’s format. Custom blocks are the modern answer to the page builder, and they keep the content portable.

A short, deliberate plugin list. Plugins chosen for the jobs that genuinely call for them, each one earning its place, each one kept current. Fewer moving parts means a smaller attack surface, fewer update collisions, and a site you can reason about. The goal isn’t zero plugins. It’s no plugin that’s there by accident.

Performance treated as a build concern. A caching plugin installed to undo the weight thirty other plugins added is a symptom, not a fix. A site built lean doesn’t need rescuing from itself. Plugin-heavy sites ship JavaScript and run database queries the page never needed, which is exactly what tends to fail INP, the Core Web Vital that measures how fast a page responds to interaction. You can’t cache your way out of code that shouldn’t be running.

When WordPress is the right call, and when it isn’t

WordPress earns its market share on a specific job: content-heavy editorial sites. A team publishing regularly, non-technical editors who need to manage their own content, a deep ecosystem built for exactly that work. For a blog, a news site, a marketing site with a real content operation, WordPress done properly is hard to beat. That’s the job it was built for, and it does it well.

It stops being the right call when the product is more application than content. Authentication, payments, role-based access, custom workflows: once those are the core of what you’re building, you’re working against WordPress’s content-management grain, and every requirement turns into another plugin or another custom table that breaks on the next update. That’s the central finding from migrating a real site off WordPress, and it’s the same line that runs through the broader decision of when to build custom versus use an off-the-shelf platform. The question is never “is WordPress good.” It’s “is your thing mostly content, or mostly application.” The same question decides whether a marketing site needs a JavaScript framework, from the front-end side.

There’s a real tradeoff even when WordPress is right. A custom theme with custom blocks costs more on day one than a purchased theme and a stack of plugins. You’re paying for architecture instead of assembling around it. That cost is collected back over every change after launch, the same five-year ownership math that decides whether any site refreshes in weeks or has to be rebuilt. The cheapest WordPress site to launch is rarely the cheapest one to own.

The decision is made once

WordPress done properly isn’t a different platform. It’s the same platform with the discipline to decide what should be code and what should be a plugin, made deliberately, at the start. Build the parts that are yours, the theme, the blocks, the content model, and reach for plugins only where the work is genuinely external. A site built that way is fast, secure, and cheap to change for years. A site built by installing a plugin for every requirement is none of those, and the bill comes due the first time someone asks for a redesign.

If you’re sitting on a WordPress site that’s become slow and fragile, or you’re commissioning a new one and want it built to last, tell us what you’re working with. We’ll give you an honest read on what’s architecture and what’s just plugins holding the place together.

Have a project like this?

Tell us what you're building. We respond within one business day with scoping questions and a rough plan.

Get in touch