We replaced WordPress + Elementor for client sites — here’s the stack
For six years our client-site stack was WordPress + Elementor + a hosting reseller account. It built slow sites slowly, but clients could edit them, and that mattered more than anything. This spring we replaced it end to end. Here’s the new stack, with numbers.
Why we finally moved
Three breaking points. Builds got slower as AI made everything else faster — an agent can’t drive Elementor, so every site was still hand-clicked. Updates kept breaking layouts: our retainer hours were mostly plugin triage. And Core Web Vitals: builder sites need a caching-plugin séance to pass, and clients noticed the scores.
The new stack
Astro for frontends (Next.js when there’s app-like behavior), Claude Code as the builder, Prelo as the CMS, one Docker container per site on a shared Hetzner VPS. The agent scaffolds, writes the schema, builds pages and seeds real content through the content API. We art-direct and review diffs instead of dragging blocks.
The numbers, first ten sites
Build time: median 21 days → 4 days. Lighthouse performance: 61 → 99 median. Hosting cost per site: $25/mo reseller tier → about $3/mo of shared VPS. Post-handover support requests in the first month: 9 per site → 1. The last number is the business: those requests were our margin leak.
What we gave up
Honesty section: WooCommerce — one commerce client stayed on WordPress, rightly. The plugin buffet — anything custom is now something the agent writes against the plugin API, which is usually better but occasionally slower than buying a $49 plugin. And client-side layout editing — which it turns out no client misses.
If your retainer hours are also mostly plugin triage, start with the WordPress alternative page or grab the starter pack with our templates and prompts.