When to Migrate from WordPress to Next.js: Signs Your Site Has Outgrown It
Is WordPress slowing your business down? Here are the concrete signs your site has outgrown it — and when migrating to Next.js is the right move.
Most Quebec businesses start on WordPress. It is fast to launch, cheap to maintain, and the plugin ecosystem handles almost everything. But at a certain scale — usually around the time your dev team starts complaining and your Lighthouse scores start embarrassing you — knowing when to migrate from WordPress to Next.js becomes a legitimate strategic question, not a technical vanity project.
This article gives you the concrete signals, thresholds, and decision criteria to know whether you have hit that point — and what the migration actually involves.
Sign #1: Your Core Web Vitals Are Consistently Red
WordPress with a page builder and 30 plugins will almost always fail on LCP (Largest Contentful Paint). The culprit is predictable: render-blocking scripts, bloated themes, and a PHP server that generates pages on every request instead of serving pre-built HTML.
Here are the thresholds that should trigger a serious conversation:
- LCP above 2.5s on mobile — Google's «good» threshold. Above 4s, you are actively losing rankings.
- CLS above 0.1 — layout shifts caused by late-loading ads, fonts, or image carousels baked into most WordPress themes.
- INP above 200ms — usually caused by JavaScript-heavy plugins running on the main thread.
Next.js solves most of this structurally: static generation (SSG) means pages are pre-built at deploy time. There is no PHP execution per request. Images are automatically optimized via next/image. Scripts load with proper priority hints. The architecture difference is not marginal — it is foundational.
Before committing to a platform switch, check the complete guide to website speed optimization — some WordPress sites can recover ground without a full migration.
Sign #2: Your Developers Are Working Around WordPress, Not With It
This is the tell most business owners miss because it does not show up in analytics. Ask your dev team how much time they spend dealing with:
- Plugin conflicts after core or theme updates
- The WordPress admin UI for content types that do not fit the post/page model
- Custom REST API endpoints bolted onto a system that was never designed to be headless
- Gutenberg blocks that need custom JavaScript but fight the WordPress build pipeline
If the answer is «more than 20% of our sprint,» you are paying a compounding tax. WordPress was built for editorial content management, not for component-driven web applications. When your site needs custom interactivity, complex data fetching, or tight integration with third-party APIs, the abstraction breaks down fast.
Next.js gives developers a clean React environment with file-based routing, server components, API routes, and a build pipeline that does not fight them. The typical result: feature development velocity improves significantly within the first two sprints after migration.
Sign #3: Your SEO Ceiling Is Artificially Low
WordPress SEO plugins like Yoast or Rank Math are genuinely useful — up to a point. But they are working around the platform's constraints, not eliminating them. The problems that surface at scale are structural:
- Server-side rendering bottlenecks: Dynamic pages — search results, filters, user-specific content — cannot be cached effectively. Every request hits PHP and MySQL.
- JavaScript rendering gaps: Some WordPress themes defer scripts in ways that confuse Googlebot's rendering queue, leaving content unindexed.
- URL structure rigidity: Custom permalink structures get messy fast when you are managing thousands of programmatic pages.
- Metadata control: Per-component, programmatic metadata in WordPress requires hacks. In Next.js,
generateMetadata()handles it natively at any level of granularity.
If you are running programmatic SEO at scale — location pages, service combinations, product variants — WordPress will cap your output velocity and your crawl efficiency. The complete SEO guide for Montreal businesses covers how Next.js-built sites typically outperform WordPress competitors in local and long-tail rankings.
Sign #4: Infrastructure Costs Are Scaling Faster Than Traffic
A well-optimized WordPress site on managed hosting costs between $50–$300 CAD/month for moderate traffic. That is fine. But when you need to absorb traffic spikes — a product launch, a media mention, a paid campaign — you are scaling a PHP server. That means vertical scaling: bigger machines, higher bills, still a single point of failure.
Next.js deployed on a modern edge network serves static pages from hundreds of global edge locations. A traffic spike that would take down a mid-tier WordPress server is absorbed without configuration changes. Hosting costs often drop after migration because you are serving pre-built assets, not running PHP on every hit.
The math shifts around 50,000–100,000 monthly visitors, or whenever you have predictable high-traffic events. Below that threshold, WordPress infrastructure is usually adequate.
Sign #5: Your Site Has Crossed Into Web Application Territory
WordPress is a CMS. Next.js is a full-stack React framework. When your site needs features that belong in an application — not a content site — the platform mismatch becomes expensive. Concrete examples of crossing the line:
- User authentication with custom roles and dynamic, per-user content
- Multi-step forms with real-time validation and conditional logic
- Server-side integration with external APIs — payments, CRMs, ERPs, inventory systems
- Interactive dashboards or data visualization components
- Real-time features: notifications, live inventory, collaborative tools
These can technically be built in WordPress with enough plugins and custom PHP. But you are swimming upstream the entire time. Next.js server actions, API routes, and the full Node.js ecosystem make these patterns first-class citizens with far less scaffolding.
When NOT to Migrate
Migration has real costs: developer time, content transfer, URL mapping, 301 redirects, QA. Budget $15,000–$40,000 CAD for a full professional migration of a medium-complexity site.
Do not migrate if:
- Your site is primarily editorial with no custom functionality and clean performance metrics
- Your team has deep WordPress expertise and zero React experience
- Your Core Web Vitals are already in the green and SEO is growing
- You are below 20,000 monthly visitors with no near-term growth plans
WordPress is not a bad platform. It is the wrong platform once you have outgrown it — there is an important distinction there.
When to Migrate from WordPress to Next.js: The Decision Checklist
Run through this list. If you check three or more boxes, a migration assessment is justified:
- LCP above 3s on mobile in Google Search Console field data
- Developers spending 20%+ of sprint time on WordPress-specific workarounds
- Site requires user authentication or complex application logic
- Hosting costs scaling faster than traffic volume
- SEO growth stalled despite strong content — technical ceiling suspected
- Third-party API integrations becoming increasingly fragile to maintain
At MedCode, we work with Quebec businesses migrating from WordPress to Next.js across industries — from professional services to SaaS platforms. The pattern is consistent: companies that migrate when they hit three or more of these signals recover their investment within 8–12 months through reduced development costs and organic traffic gains driven by improved technical performance.
If you are seeing these signs but are uncertain whether your specific site has crossed the threshold, the right starting point is an architecture assessment — not the migration itself.