This is not a guide. It's an autopsy. We take a real WordPress —one of the more than 12,000 sites in our practice bank—, open it up and show you what was inside. Anonymised data (no business name, no identifiable screenshots), but real numbers measured with the browser, not made up.
The patient: a services website, five pages, a blog abandoned since 2023 and a contact form. The usual. What happens to half of Spain.
Data sheet · before / after
- Active plugins · WordPress (before): 38 · Next.js (after): 0
- Home page weight · WordPress (before): 4.8 MB · Next.js (after): 480 KB
- Time to interactive · WordPress (before): 4.2 s · Next.js (after): 0.6 s
- Network requests · WordPress (before): 112 · Next.js (after): 14
- Lighthouse (mobile) · WordPress (before): 41 · Next.js (after): 99
- Hosting cost · WordPress (before): €29/month · Next.js (after): ~€0
The plugin graveyard
38 active plugins. We counted and classified them:
- Nine did the job of a single line of code (a WhatsApp button, a cookie notice, a "back to top").
- Six were performance plugins —cache, minification, lazy-load— trying to fix the slowness caused by the other thirty-two. A dog chasing its own tail.
- Four were half-deactivated: they were still loading their CSS.
- Two hadn't been updated since 2022, one of them with a known, published vulnerability.
- The rest: a page builder pushing 300 KB of JavaScript into every page to render three columns.
The page builder is the usual suspect. It's not "a plugin": it's a whole layer that rewrites your HTML, drags along its own CSS and its own JS, and ties you to it forever. Migrating to Next.js is, very often, above all getting the page builder off your back.
What was really slowing the site down
It wasn't "WordPress". It was the sum: every plugin injected its CSS and its JS, the page builder bloated the HTML, and the shared hosting served all of it with 800 ms of TTFB before painting a single pixel. A mobile user on 4G waited 4.2 seconds to be able to touch the screen. Google knows it, and penalises it.
And the detail nobody had noticed: the contact form wasn't sending anything since a PHP update. It had been silently swallowing messages for weeks. On a services website, that's lost clients, not a minor bug.
How it ended up
Rebuilt in Next.js, static, served from the edge. Same design, same content, same URLs (zero redirects needed because none of them changed). The form, rewritten, with an instant email notification. Home page from 4.8 MB to 480 KB. From 41 to 99 in Lighthouse. And a hosting bill that went from €29 a month to practically nothing.
The interesting part isn't the 99. It's that 99 is normal once you clear out everything that's surplus. WordPress slowness is almost never a mystery: it's baggage.
Want to know what the autopsy of your WordPress would reveal? The audit is free and we deliver it with numbers, like this one. If you'd rather get straight to the point, set up your migration or check the prices.
Get every autopsy in your inbox
One article a week about websites that work (and the ones that don't): real costs, WordPress, speed and AI. No fluff; unsubscribe in one click.