Astro vs Next vs WordPress: when each one makes sense

A client wrote to us recently asking whether they should “switch to Next.js because a friend who codes recommended it.” They had neither a blog nor a product catalog that changed daily. In the end, the conversation turned out to be about what their business actually needed, not about which framework sounded better at a dinner party.
WordPress is still, for most of the small businesses that ask us for a website, the right choice. If you need the client themselves to edit text, upload product photos or publish posts without depending on us for every change, a well-configured WordPress, with a decent theme and without forty unnecessary plugins, does that job better than any modern alternative.
Astro comes in when content changes rarely and what matters is speed and nothing breaking on its own. We use it for presentation sites, landing pages and, increasingly, for blogs with content versioned in Git instead of an admin panel. A fishmonger selling fresh product that we work with, for example, runs exactly like that: nobody logs into a backend to touch anything, the site builds and publishes itself.
We reserve Next.js for when real interactivity is needed: a dashboard, a form with complex logic, something that needs client-side state and not just pages you read. If your website is basically content, adding Next is like buying a delivery van to go buy bread.
No matter how many times I repeat it: the question isn’t which technology is best in the abstract, it’s what this specific project needs a year from now, once we’re no longer talking about launch but about maintenance. That’s where a poorly maintained WordPress turns into a headache of outdated plugins, and where an oversized Next.js turns into a hosting bill nobody expected.
We ended up building that client a WordPress with a custom theme. Three months later they wrote to thank us for not having sold them something more “modern.” That part I really didn’t see coming.