The owner of a small accounting office told us on the phone that her WordPress site was "as slow as the office internet" and she wanted it replaced. We work in Next.js and no longer take on new WordPress builds. She got a list of fixes instead, and her site is still on WordPress.
WordPress has a point that developers like us tend to skip over. Somebody in the office can log in and post a notice without calling anyone, and for a small company that matters more than it sounds. It also still runs 39.5% of all websites according to W3Techs.
A slider from 2019 and a QR code plugin from one campaign
Her site had 23 plugins in 2025. Nine of them no longer did anything: an old slider from 2019, a QR code plugin left over from a single campaign, and seven more of the same kind.
The JPG images weighed 2 to 3 MB each. Three external scripts loaded on every subpage. Mobile PageSpeed, the Lighthouse mobile test, came out at 41.
We removed the unused plugins, converted the images to WebP and deferred the scripts, which took seven hours in total. The same test then gave 78.
The office stayed on WordPress because the layout suited them, and because one employee posts the tax deadline notices in the panel herself.
The four checks we run before saying "stay"
A site can stay on WordPress when all four of these hold:
- One person in the company logs into the panel at least once a month and runs the updates.
- The site has a dozen or so plugins at most, and each one has a known job.
- The theme is still developed by its author and has had an update within the last year.
- The contact form, the phone number and the key subpages work on a phone without errors.
Our rough line for the opposite case is more than 20 plugins with nobody responsible for updates. At that point the cost of keeping the site running grows faster than whatever the site brings in.
What annoys us most is page builders. Switch one off and every subpage is left with hundreds of shortcodes in square brackets, which the client then sees on the page as plain text.
The form that said "Message sent" for 11 days
The second case was a garden company. In 2025 it went 11 days without a single inquiry, and nobody knew why.
An update to the plugin that sent the mail had disconnected it from the contact form. The form kept showing "Message sent", so customers believed they had written to the company, and the inbox stayed empty the whole time.
The site had 31 plugins. The log in the panel showed about 150 updates during 2024, and mobile PageSpeed was 34.
Each plugin comes with its own author and its own release schedule, and those counts fit the wider picture. Patchstack found 11,334 new WordPress vulnerabilities in 2025, with 91% of them in plugins and only 6 in WordPress core.
89, with the drone video left in
We rebuilt the garden company's site in Next.js and moved all the content over, with redirects from every old URL. Each subpage is generated ahead of time and reaches the browser as finished HTML. Headers, structured data and the sitemap have been in the code since day one.
Mobile PageSpeed after launch was 89. It would be a few points higher without the drone video on the home page, and the video stayed anyway, because the owner shows it to clients at their first meeting.
What the client gives up when we move them
Moving costs the client something. On our Next.js sites the client edits text, images and posts in a panel, and a new section on a page goes through us.
One client calls us about that roughly four times a year. In WordPress she would add the section herself in about fifteen minutes. With us it turns into an hour-long job.
If you want to build new subpages from ready-made blocks every month, WordPress gives you more freedom.
The second cost is who else can touch the site. For a WordPress site you will find someone in every county, freelancers included, while a Next.js site needs a developer who knows React and Next.js.
Upkeep stays too, in a different shape. On WordPress you update the core, the theme and each plugin separately. On our Next.js sites the dependencies get updated once a month.
Before anyone decides either way, we look at the number of plugins, the number of pending updates and the mobile PageSpeed score. All three are easy to check on a site you look after today.
If you maintain client sites, I would like to hear your version. What made you keep a client on WordPress when a rebuild was on the table, or what was the moment you decided one had to move off it?
Top comments (0)