We use Next.js every week. We love it. And that's exactly why it hurts to watch services businesses — lawyers, architects, consultancies, small agencies — rewrite a perfectly working WordPress site into Next.js because someone on their team watched a Theo video. If your site isn't a product, Next.js is almost certainly overkill.
What Next.js actually gives you
Server-driven React with smart caching. Great build-time static generation. First-class image optimization. A deployment story that's genuinely one command. All of that is real and good — when you're building an app that benefits from it. A corporate five-pager does not.
The hidden bill
- —Every client edit goes through a developer — or you build a CMS, which IS the job you were trying to avoid
- —Hosting cost from $20/mo Vercel team plan (minimum) vs $5/mo WP shared that actually works
- —Deploys take 45-90 seconds minimum — clients expect edits to show up NOW
- —Node.js dependency upgrades every 6 months — the client has no idea what that means
- —Fragmented content — copy lives in Notion, images in Cloudinary, stats in a Google Sheet, and you glue them together forever
One short email every few weeks. Like this note, but in your inbox.
"Next.js is a fantastic tool. We just don't reach for it when the job is 'show what this lawyer does to 400 Google-search visitors a month'."
When we DO use Next.js
- —SaaS landings that share a design system with a product
- —Custom apps (internal tools, dashboards, bespoke directories)
- —Sites with heavy scroll-driven motion that would be a war on WordPress
- —Multilingual editorial where the routing tree has real logic
- —Experiences where performance of the interactive part is a business metric
An honest decision tree
Ask yourself, in this order: 1) Is this site edited weekly by a non-developer? If yes, WordPress. 2) Is there an e-commerce with >20 SKUs? If yes, WordPress. 3) Does the interactive part require state, auth, or real-time? If yes, Next.js. 4) Is there a product adjacent to this site that shares design tokens? If yes, Next.js. 5) Did nothing above match? WordPress.