Why We're Migrating Our Own WordPress Clients to Custom Native Sites in 2026
We still maintain dozens of WordPress sites for clients. Here's the honest operator view from inside the stack — what changed in 2026, why we're moving clients off, and how we're doing it without burning the platform that served them well for a decade.

Most of the websites we run for clients today were not built last quarter. They are five, eight, ten years old. Many of them are on WordPress. They have served their owners well, and the people running them are not making a mistake by being there. For a long stretch of the web, WordPress was the right answer.
But we owe those same clients an honest read of where the web is going, and the honest read is this: in 2026, the architecture that served them well for years is starting to cost them — in speed, in security exposure, and in something newer and harder to see, which is visibility inside AI-driven search. So we've started a slow, deliberate migration of our own book of business onto custom native sites built through the Specloop spec engine. This post is the operator-level explanation of why.
What actually changed (it isn't WordPress — it's the web)
Three things shifted in the last 18 months, and together they moved the goalposts for what a small or mid-market website needs to be.
The first is AI Overviews. Google's AI now answers roughly half of all searches directly on the results page, and 80%+ of those searches end without a click. The sites that survive aren't the ones that rank #1 in the old blue links — they're the ones cited inside the AI answer itself. Getting cited requires clean, semantic, server-rendered HTML, accurate hand-built structured data, and content organized as direct answers. That's an architecture problem, not a plugin problem.
The second is Core Web Vitals. Google's performance thresholds got stricter, and the median plugin-heavy WordPress site we manage now sits well above the 2.5-second LCP limit. Caching plugins help. They don't fix it. The cost isn't theoretical — slow sites lose AI citations, lose conversions, and lose ad efficiency simultaneously.
The third is security exposure. Across the fleet we manage, the overwhelming majority of incidents we've responded to in the last 24 months traced back to a plugin or theme, not to WordPress core. The core team does good work. The ecosystem around it is the problem — and the ecosystem is the reason people choose WordPress in the first place.
This isn't a WordPress problem. It's a stack problem.
WordPress core in 2026 is more capable, more secure, and better maintained than it has ever been. The friction is the plugin-and-theme model that surrounds it. Every plugin is code you didn't write, on an update cycle you don't control, with security posture you can't audit. That model was fine when the web was slower. In an AI-search era that rewards architectural cleanliness, it becomes the bottleneck.
The data from inside our own client base
We'll keep this honest rather than dramatic. Here's what we actually see across the WordPress sites we still maintain:
- Median Largest Contentful Paint of 3.8 seconds — above Google's 2.5s "good" threshold and well above what AI Overviews favor when picking sources
- An average of 14 active plugins per site, with at least one plugin behind on updates at any given time on roughly a third of the fleet
- Roughly 30–45% of total page weight coming from CSS and JavaScript injected by plugins rather than by the site's design
- Schema markup that is either missing, partial, or contradicted by competing SEO plugins on a meaningful percentage of sites
- Monthly operational cost (hosting + premium plugin licenses + maintenance time) that is often higher than what a comparable custom native site costs to host outright
None of this means those sites are failing. Many of them are still doing real work for their businesses. It does mean the trajectory is wrong: every quarter, the gap between what these sites can deliver and what the new web rewards gets a little wider.
What "custom native" actually means
When we say we're moving clients to a custom native site, we don't mean a hand-coded HTML page from 2008. We mean a modern, server-rendered React application built on a clean component architecture, with hand-built schema, first-party analytics, AI-readable content structure, and 100% code ownership delivered to the client.
Practically, that looks like: a Vite + React frontend, server-rendered HTML for the critical path, a managed backend for forms and data, and a build pipeline the client owns the source code to. No plugin marketplace. No monthly licensing for the basics. No third-party JavaScript loaded before the page paints. The result is a site that is faster, lighter, more secure, and — critically — structured in a way the AI engines can read.
| Dimension | Typical WordPress site (our managed fleet) | Custom native site (what we move clients to) |
|---|---|---|
| Median LCP | 3.8s | 0.9–1.4s |
| Plugin/theme attack surface | 12–18 plugins, multiple themes | Zero — no plugin model |
| Schema markup | Plugin-generated, often partial | Hand-built per page type |
| AI-readability of HTML | Variable, depends on theme | Clean, semantic, predictable |
| Code ownership | Shared with plugin/theme vendors | 100% to the client |
| Typical monthly cost | Hosting + licenses + maintenance hours | Flat hosting + light maintenance |
Why we're doing the migrations ourselves
There's a version of this conversation where the agency that built and maintained your WordPress site quietly raises retainers, blames the platform, and keeps the lights on. We're not running that play. We've made the call internally that the right thing for the next five years of these client relationships is to lead the migration ourselves — at a price our clients can absorb, on a timeline that doesn't disrupt their business, with the new site fully owned by them at the end.
The reason is simple. If we don't move them, someone else will eventually have to, and that handoff will be uglier than a planned migration we do ourselves. Doing it now, while we still hold the institutional knowledge of every redirect, every form, every integration, and every quirk of their content, is the version with the least risk for the client.
The migration framework we use
Every WordPress migration we run for an existing client follows the same six-step framework. It's deliberately boring, because boring migrations don't break things.
- Inventory — every page, every URL, every form, every plugin-driven feature, every external integration
- Redirect map — a 1:1 mapping of old URLs to new, so we don't lose a single piece of SEO equity at cutover
- Content port — content is moved into a structured, AI-readable format with hand-built schema for each page type
- Functional parity — forms, search, integrations, and any custom logic are rebuilt as first-class features (not plugins)
- Staging review — the new site is reviewed page-by-page against the live WordPress site before we touch DNS
- Cutover + 30-day watch — we monitor traffic, indexation, Core Web Vitals, and AI citations daily for the first 30 days post-launch
Done right, the client experiences a single weekend of careful coordination — and then a permanently faster, safer, more visible site on the other side. We don't tear anything down until the replacement is proven.
When WordPress is still the right answer
We won't pretend every site needs to move. There are real scenarios where staying on WordPress is the correct call, and we tell clients so:
- A brochure site with low traffic, no growth ambitions, and no dependency on AI-search visibility
- A site whose editorial workflow is deeply tied to WordPress block patterns and would lose more in editor productivity than it would gain in performance
- A site that is genuinely well-maintained, lean on plugins, hand-tuned for performance, and already structured for AI readability (these exist — they're rare)
- A site that is part of a larger consolidation or replatforming roadmap on a longer timeline, where a migration today would be wasted work
If a client fits one of those, we say so plainly. The point of this work isn't to migrate everyone. It's to migrate the clients who are losing measurable ground on the current stack, and to do it before that ground turns into a cliff.
What this means if you're on WordPress today
If you're running a WordPress site — whether we built it or someone else did — the right next step is not to panic, and it's definitely not to fire up a rebuild on impulse. The right next step is to look at three numbers: your Core Web Vitals (especially LCP), your organic traffic trend over the last 12 months, and how often (if at all) you appear inside AI Overviews and ChatGPT/Perplexity answers for queries you should be visible on.
If those three numbers are healthy, you may not need to do anything for another 12–18 months. If two of the three are sliding, you're in the cohort we're prioritizing for migration this year. We'll do the assessment for free for any site, ours or not, so you can make the call with real data instead of a sales pitch.
The honest closing
WordPress isn't the villain in this story. It's the platform that quietly powered a generation of small and mid-market businesses, including a lot of ours. The villain — if there has to be one — is the assumption that the architecture that worked in 2018 will keep working in 2026. The web changed. AI changed how the web is consumed. Performance thresholds got stricter. The honest answer is to change with it, and to bring your clients with you instead of leaving them to find out the hard way.
That's the work the Specloop spec engine is built for: writing the full specification for the replacement site before any code is written, then shipping it in 30 days with the client owning every line. If you're one of our managed clients reading this — yes, you'll be hearing from us. If you're not, and you want a second opinion on your own stack, the door is open.
Sources & references
Next step
Want a spec for your build?
We write the full specification before any code is generated, then ship in 30–60 days at one flat rate. You own every line.