DEV Community

Jack Warner
Jack Warner

Posted on

Why We Build Every Client Site with Next.js Instead of WordPress

Four years ago, I made a decision that most web developers thought was mad: I stopped building WordPress sites entirely. Every client site from that point forward would be built with Next.js. No exceptions.

I run WebDev Wales, a small web development studio in South Wales. My clients are local businesses - plumbers, restaurants, accountants, tradespeople. The kind of people who used to be the bread and butter of every WordPress developer.

Here's what happened and why I'd make the same choice again.

The breaking point

I was maintaining about fifteen WordPress sites when the tipping point came. Three of them got compromised in the same week through a vulnerability in a popular contact form plugin. I spent two full days cleaning malware, restoring backups, and explaining to clients why their website was showing pharmaceutical ads.

That same month, a client called asking why their site was slow. Their WordPress install had 34 plugins. Thirty-four. Most of them were doing things that could be handled with a few lines of CSS or a small script. The site was making over 90 HTTP requests on page load and scoring 23 on PageSpeed Insights.

I realised I was spending more time managing WordPress problems than actually building things.

What changed when we switched

The first Next.js client site I built was for a local cafe. Static pages, a menu, contact details, opening hours. Nothing complex. But the results were striking:

  • PageSpeed score went from ~40 (their old WordPress site) to 98
  • Time to First Byte dropped from 1.8 seconds to under 200ms
  • Zero security patches needed in 12 months
  • Hosting cost dropped from around £10/month to effectively free on Vercel's free tier

For a small business, those numbers translate directly into real outcomes. Faster sites mean lower bounce rates. Better Core Web Vitals mean better Google rankings. And not having to worry about plugin updates means the site just works, month after month.

"But what about the CMS?"

This is the first question every developer asks. Small business clients need to update content. WordPress gives them a familiar admin panel. How do you handle that with Next.js?

The honest answer is: most small business clients rarely update their website. I tracked this across my client base and found that the average small business makes meaningful content changes about twice a year. The rest of the time, the admin panel just sits there being a security risk.

For the clients who do need regular updates, I use a headless CMS. Sanity and Contentful both work well. The client gets a clean, simple editing interface without any of the WordPress complexity. No plugin conflicts, no update notifications, no "your PHP version is out of date" warnings.

For the majority who update infrequently, they just email me. It takes me five minutes to push a content change and it's live instantly.

The performance reality

I've now built over thirty client sites with Next.js. Here's what the performance data looks like across the board:

  • Average PageSpeed score: 94 (mobile)
  • Average Time to First Byte: 180ms
  • Average Largest Contentful Paint: 1.2 seconds
  • Security incidents: zero

Compare that to the WordPress sites I used to maintain, where the average PageSpeed score sat around 55 and I was dealing with at least one security issue per quarter.

Static generation is the key. Most small business websites are fundamentally static content. There's no reason for a server to dynamically build the same "About Us" page thousands of times. Next.js generates the HTML at build time and serves it from a CDN. The result is a site that loads almost instantly from anywhere in the world.

What I lost

I want to be honest about the trade-offs because this isn't all upside.

The plugin ecosystem. WordPress has a plugin for everything. Need a booking system? Plugin. Need a gallery? Plugin. Need an events calendar? Plugin. With Next.js, I either build these features from scratch or integrate third-party services via APIs. This takes more development time upfront.

Client self-service. Some clients genuinely want to manage every aspect of their site themselves. WordPress lets them do that (for better or worse). My Next.js setup requires more developer involvement for structural changes.

The talent pool. If a client ever wants to move away from me, finding a WordPress developer is trivial. Finding someone comfortable with Next.js and React is harder, especially outside of major cities.

Initial build time. A basic WordPress site with a premium theme can be up in a day. A comparable Next.js site takes me 3-5 days. I've built enough components now that I have a solid library to draw from, but it's still more work upfront.

Why it's worth it anyway

Despite those trade-offs, the long-term economics work out better for both me and my clients.

My clients pay less for hosting, spend nothing on premium plugins, never deal with security scares, and have sites that genuinely perform well in search results. Their total cost of ownership over three years is significantly lower than a comparable WordPress setup once you factor in plugin licenses, managed hosting, and emergency security fixes.

For me, I spend almost zero time on maintenance. No more "WordPress has an update available" notifications across fifteen sites. No more plugin compatibility issues after updates. No more database optimisation. That time goes directly into building new features and taking on new clients.

Who this works for (and who it doesn't)

I wouldn't recommend this approach for every developer or every client.

It works well when:

  • Your clients are small businesses with relatively static websites
  • Performance and SEO matter (which is almost always)
  • You want to minimise ongoing maintenance
  • You're comfortable with React and modern JavaScript

It doesn't work well when:

  • Your client needs heavy e-commerce (Shopify or WooCommerce are still better for this)
  • Your client insists on managing everything themselves without developer support
  • You need to hand off the project to a team that only knows WordPress
  • Budget is extremely tight and the client needs something live tomorrow

The bottom line

Switching to Next.js for all client work was the best technical decision I've made as a developer. It forced me to write better code, think more carefully about what features clients actually need, and build sites that genuinely serve their purpose rather than being bloated with unused functionality.

If you're a developer who's tired of fighting WordPress and you primarily build for small businesses, it's worth trying Next.js for your next project. Start with a simple brochure site. See how it feels. You might not go back.


Jack Warner is the founder of WebDev Wales, a web development studio based in South Wales. He builds modern, fast websites for small and medium businesses using Next.js and specialises in helping Welsh businesses establish a strong online presence.

Top comments (0)