Nuxt 3 reached end of life on July 31, 2026. A new security issue in Nuxt, Nitro or one of their dependencies now stays open on 3.x.
Service·Nuxt 2 / 3 → Nuxt 4·SEO kept intact
Nuxt 2 reached end of life in June 2024, and Nuxt 3 followed on July 31, 2026. Neither gets security patches now. Our senior engineers move your app to Nuxt 4 in small steps and check that every URL, meta tag and rendering mode still does what search engines expect.
When teams call us
Nuxt 3 reached end of life on July 31, 2026. A new security issue in Nuxt, Nitro or one of their dependencies now stays open on 3.x.
Nuxt 2 runs on Vue 2, which reached end of life in 2023. Many Nuxt 2 modules never got a Nuxt 3 or 4 version, so each one needs a replacement or a rewrite.
Your site lives on organic traffic. A careless upgrade changes URLs, drops meta tags or turns server-rendered pages into empty shells, and rankings follow.
Nuxt 2's asyncData, fetch and Vuex store become useAsyncData, useFetch and Pinia. Nuxt 4 also changes some useAsyncData and useFetch defaults, so Nuxt 3 code can behave differently.
Your nuxt.config pulls in modules that won't install on Nuxt 4. Some have a new major, some were replaced by another module, and some you no longer need.
serverMiddleware in Nuxt 2, or server routes added over time in Nuxt 3, hide auth, proxies and redirects. Each one moves to Nitro and needs checking.
How we work
We read the repository and the live site. Every module gets a status, every page gets its rendering mode noted, and we list the URLs search engines already know about.
Nuxt 2 apps go through Nuxt Bridge or move in one step, depending on size and tests. Nuxt 3 apps on 3.12 or later can turn on compatibilityVersion: 4 and fix what breaks before the switch.
We move to the app/ directory layout, update data fetching and swap modules in reviewable pull requests. The Nuxt team's codemods handle the mechanical parts, and we check the rest by hand.
Before each release we compare the old and new site: status codes, redirects, titles, meta descriptions, canonicals, sitemap and structured data. Each route keeps the rendering mode it needs, from SSR to prerendered to client-only.
We ship in stages you control and watch errors after each one. Your team gets a walkthrough of what changed in Nuxt 4 and in your code.
Deliverables
Every Nuxt module and key dependency with its target version, its replacement, or a note that it can go.
The path (Bridge, direct, or compatibility flag first), the order of work, the risks and how each stage rolls back.
Reviewable PRs in your Git host, following your branching and review rules. No code dump at the end.
Old versus new for status codes, titles, meta, canonicals, sitemap and structured data, on the URLs that bring you traffic.
A documented rendering mode per route: server-rendered, prerendered, cached or client-only.
Decision records for what changed, which modules replaced which, and what to watch on future Nuxt upgrades.
Engagement and price
Monthly billing at a flat rate. No onboarding fees, no minimum commitment, and you can pause or cancel anytime. Our hours overlap with US and EU time zones.
Upgrade help next to your team. We take the module swaps and the SEO checks, and your developers keep shipping.
One senior engineer owns the upgrade end to end, from the inventory to the last release on Nuxt 4.
For several Nuxt apps, or a large app where the upgrade and your roadmap have to move in parallel.
A short engagement focused on getting a Nuxt 2 app off Nuxt 2: the inventory and a plan your team can carry out.
Relevant work

Our first job for Craft Music was moving their live site from Nuxt 2.15 to Nuxt 3.10, with pre-rendering and SEO still working afterwards. Then we built their new platform on top.
Read the case study
Pengine moved from Vue 3 + Vite apps to Nuxt one app at a time, with both generations running side by side. Its marketing site runs on Nuxt 4.
Read the case study
Render Engine's storefront is a server-rendered Nuxt 4 app, running next to two Nuxt 3 apps in the same product.
Read the case studyHonest fit
We'd rather tell you now than sell you the wrong engagement.
FAQ
No. Nuxt 3 reached end of life on July 31, 2026, and the Nuxt team no longer ships security patches for it. Your app keeps running, but new issues in Nuxt, Nitro or their dependencies stay unpatched on 3.x.
Yes. There's no reason to stop on Nuxt 3, which is already out of support. For large apps, Nuxt Bridge can let part of the work ship while you're still on Nuxt 2.
Much smaller than Nuxt 2 to 3. On Nuxt 3.12 or later you can turn on compatibilityVersion: 4, fix what breaks while still on Nuxt 3, then switch. Most of the work is the new directory layout, data-fetching defaults and modules that need a new major.
The risk comes from changed URLs, missing meta tags and pages that stop rendering on the server. We compare all three before each release, and any URL that has to change gets a permanent redirect.
Not the way a plain Vue app can. Nuxt 3 can't use @vue/compat, so Nuxt 2 apps move through Nuxt Bridge or a direct upgrade instead.
You pay a flat monthly rate for the engineers on it: $1,499 a month part-time or $2,499 full-time, or a custom price for a squad. After the inventory you'll know roughly how many months to plan for.
Get started
Tell us your Nuxt version, where it's hosted and which pages bring in traffic. A senior engineer will reply with how we'd approach the upgrade and what to protect first.
Matched in 24 hours·48 hours free on every plan·No long-term contract