Why I Avoid Over-Engineering Client Websites
It's easy to build something clever.
It's much harder to build something that still works in two years, on a phone, on a 3G connection, after a developer you've never met has left the country and the WordPress plugin you depended on stopped updating.
Most small business websites I'm asked to fix don't have design problems. They have over-engineering problems.
What over-engineering actually looks like
Over-engineering on a small business website doesn't mean the developer was incompetent. It usually means they built something appropriate for a much bigger company - and the small business is left maintaining it.
Common examples I see:
- A custom headless CMS for a 12-page brochure site
- A complex build pipeline the owner can't run on their own laptop
- Twenty WordPress plugins doing what five would do
- A homepage with seven animations that takes 8 seconds to load on mobile
- A "scalable" architecture for a business that has 200 visitors a month
Every one of these is fine in isolation. Together, they create a website only the original developer can maintain - and the moment that developer moves on, the business is stuck.
Why this happens
Over-engineering isn't malicious. It usually comes from three places:
1. Developers building portfolios, not businesses
A new framework looks great on a CV. It looks less great on the invoice when the next developer charges £700 to figure out how it works.
2. "Future-proofing" that never gets used
The site is built to handle 100,000 users a day, multiple languages, and a CMS migration that will never happen. The complexity is real today; the future need isn't.
3. Quoting by hour, not outcome
The longer a project takes, the more it bills. Simple isn't profitable for everyone.
What I prioritise instead
When I build for a small business, I default to the boring choice every time:
- Clear architecture. A new developer should be able to read the codebase in an afternoon.
- Minimal dependencies. Fewer plugins, fewer services, fewer external accounts to renew.
- Predictable behaviour. What you see in staging is exactly what you get in production.
- Standard tooling. Tools that are popular and well-supported, not whatever's trendy this quarter.
- Owner-editable content. Prices, services, team members, photos - all editable without a developer.
This isn't laziness. It's the difference between a website that ages well and one that becomes a liability.
A concrete example
A typical small business website I'd build today:
- Stack: Next.js, static export, hosted on a £5/month server
- CMS: Either MDX files in the repo, or a hosted CMS like Contentful for non-technical clients
- Forms: A simple POST to an email service - no plugins, no databases
- Analytics: Plausible or GA4, one line of script
- Total moving parts: 5–8 things
Compare that to a typical "agency build":
- WordPress with custom theme
- Page builder (Elementor / Divi / WPBakery)
- 15–25 plugins for forms, SEO, security, caching, backups, popups
- A separate CDN, a separate database, a separate analytics stack
- Total moving parts: 30+ things, each with their own update schedule
Both can produce the same-looking website. Only one of them is still working without intervention in three years.
What this means for clients
When I build something simple, it has real, practical consequences for the business:
- Hosting costs less. Static sites run on the cheapest tier of any platform.
- Updates are faster. A new service page takes 30 minutes, not three days.
- Less can break. Most "broken website" emergencies are plugin conflicts. Fewer plugins, fewer emergencies.
- You're not locked in. Anyone can take over the site if you decide to move on.
- It loads instantly. Speed isn't an accident - it's a result of not bolting on unnecessary weight.
The right tool for the job
Most small businesses don't need cutting-edge tech. They need:
- A site that loads fast on mobile
- A clear path from "stranger" to "enquiry"
- The ability to update content themselves
- A developer who answers the phone when something breaks
That's a low bar - and yet a huge percentage of UK small business websites fail it because they were built to impress, not to work.
Frequently asked questions
What is over-engineering in web development?
Over-engineering means adding unnecessary complexity to a website - more frameworks, more plugins, more layers - than the business actually needs. The cost shows up later, in maintenance, in fragility, and in lock-in to a specific developer.
Why is simplicity important for small business websites?
Simpler websites cost less to maintain, break less often, load faster, and are easier to hand over to a new developer. For most UK small businesses, simplicity is a feature, not a compromise.
How do you build maintainable websites?
I use a small number of well-supported tools, keep dependencies minimal, document the code clearly, and make sure the client can update content themselves without code changes. Most of my client sites can be handed over to any competent developer in under an afternoon.
Is WordPress over-engineered for a small business?
WordPress isn't inherently over-engineered, but it often becomes that way. A WordPress site with 25 plugins, a heavy page builder, and a custom theme is dramatically more complex than the same site built as a static export - and far more likely to break.
What's the cheapest reliable small business website setup?
A static site (Next.js, Astro, or similar), hosted on a budget platform (Vercel, Netlify, Cloudflare Pages), with a simple form service. Total monthly cost is usually under £15, sometimes under £5.
Want a site built to last, not to impress?
If you're looking for a UK small business website that loads fast, costs little to run, and doesn't need a developer every time you want to change a phone number, let's talk.
Book a free call →
Helpful next steps
If this article was useful, these are the pages most people open next: