Skip to content
Now accepting new projects — limited slots available. Get started →
Capability

Core Web Vitals Optimization Service for Next.js Sites

If your Lighthouse score has been stuck below 70 for months, patches won't fix it. We diagnose the real bottleneck -- images, fonts, or JavaScript -- and rebuild what's broken in production.

Stack
Next.js App Routernext/imagenext/fontVercel Edge NetworkSupabase ISRChrome DevToolsLighthousePageSpeed InsightsCrUXWebPageTestScreaming FrogAstro

Core Web Vitals optimization is built for teams whose Lighthouse scores, LCP, CLS or INP numbers are hurting rankings and conversions even though the pages look fine on the surface -- marketing and engineering leads who've already tried caching plugins and still watch Google Search Console flag 'Poor' or 'Needs Improvement' in the Core Web Vitals report. We audit the production site with Lighthouse, PageSpeed Insights, CrUX and WebPageTest to find the actual bottleneck -- unoptimized images, render-blocking fonts, or JavaScript sitting on the main thread -- and fix the code itself instead of adding another caching layer on top. On a site already running Next.js or Astro that means swapping in next/image, next/font, server components and edge caching; on WordPress or another legacy stack with a hard performance ceiling, the fix is migration instead.

Audits start at $800 and take 3-5 days to produce a prioritized fix list, and implementation timelines vary by scope from there: image and font fixes run 1-2 days each, JavaScript reduction runs 3-7 days, a full platform migration runs 2-6 weeks. Because CrUX field data updates on a 28-day rolling window, the ranking and Search Console impact shows up 30-60 days after the fixes ship -- fixed fees throughout, no hourly billing surprises.

Who This Is For (and When It's the Wrong Choice)

This is for teams running Next.js, Astro, or WordPress sites where Search Console is flagging Poor or Needs Improvement Core Web Vitals and rankings or conversion rates are sliding as a result, including teams who've already tried the easy fixes -- a caching plugin, a CDN, image compression -- and hit a ceiling well below what Google rewards. If you're a marketing lead watching a competitor outrank you with a faster page, or an engineering lead who inherited a WordPress build that a client keeps asking you to speed up, this is the right call.

It's the wrong choice if your Core Web Vitals are already Good in CrUX and the real ranking problem is content, backlinks, or technical indexing -- speed won't fix thin content or a messy sitemap. Needing a quick patch before a launch tomorrow is also a mismatch, since proper diagnosis and fixes take days, not hours. And if your site gets under 100 sessions a month, CrUX won't have enough field data to report on, so lab scores are all you'll have to go on regardless of what we do.

How We Do It

We run a four-stage process, and we don't skip the diagnosis step just because a client is impatient to start fixing things.

Audit (3-5 days). We pull data from Lighthouse, PageSpeed Insights, CrUX, and WebPageTest, and crawl the site with Screaming Frog to catch structural issues that affect TTFB and rendering. You get a prioritized fix list ranked by impact versus effort, not a generic 40-point checklist.

Prioritize. A 3-second LCP delay from an unoptimized hero image gets fixed before a marginal CLS improvement. If your current platform has a hard ceiling -- and WordPress usually does somewhere around Lighthouse 70 on mobile, even with WP Rocket and Cloudflare in front of it -- we tell you plainly whether optimization or migration gets you to 90+ faster.

Implement (1 day to 6 weeks, depending on scope). Font subsetting and font-display: swap fixes run about a day, and image optimization with next/image, responsive srcsets, and priority hints for above-fold assets takes 1-2 days. JavaScript reduction -- code-splitting, dynamic imports, moving logic into Server Components -- runs 3-7 days, and a full platform migration off WordPress or another legacy CMS onto Next.js or Astro runs 2-6 weeks; more detail on that last one is on our WordPress to Next.js migration page.

Verify. We re-run all audits post-implementation and then watch Google Search Console's Core Web Vitals report through a full 28-day CrUX cycle. If lab scores improve but field data stays flat, that's a third-party script -- a chat widget or analytics tag -- that doesn't load in Lighthouse but does load for real visitors.

You receive the audit report, a documented fix list, before-and-after Lighthouse and CrUX comparisons, and (where relevant) the migrated codebase itself, deployed to Vercel. Fixed fee, agreed before work starts. See our Next.js Core Web Vitals service page for the version built specifically around a Next.js stack.

What We've Shipped

SleepDr.com came to us on WordPress scoring 35 on Lighthouse mobile. We migrated it to Next.js 15 with Payload CMS and Supabase, built a HIPAA-safe architecture (patient forms handled via a HIPAA-compliant Jotform, no PHI touching our servers), and added medical schema, 20 city landing pages and four-language support -- Lighthouse went from 35 to 94. Full breakdown here: SleepDr WordPress to Next.js migration.

A similar story played out with bdManagedIT, a Central-Georgia managed IT provider also stuck on WordPress. We rebuilt it on Astro and Sanity with Netlify hosting, landing on 95+ PageSpeed with zero-JS static pages across service, industry, and location pages, plus HIPAA/PCI-DSS/CJIS/SOX compliance guides and HubSpot CRM integration. Case study: bdManagedIT WordPress to Astro rebuild.

Neither of these was purely a speed fix. Both were full rebuilds where Core Web Vitals came along as a consequence of choosing the right architecture in the first place -- which is often the real answer when a client asks us for a performance audit and the honest recommendation turns out to be a rebuild.

Sources

Google's own Core Web Vitals documentation confirms these are a ranking signal within Page Experience, and web.dev's Vitals guide is the canonical reference for how LCP, CLS, and INP are measured and scored. Our implementation work follows the patterns documented in the Next.js App Router docs and Vercel's deployment docs, which is where the edge caching and ISR behaviour referenced above comes from.

Next Step

If your Lighthouse score has been stuck for a quarter and you're not sure whether the fix is a few days of work or a full migration, that's exactly the question an audit answers. Get in touch and we'll tell you which one it is, or check pricing for the current audit and implementation bands.

Social Animal

Need help with core web vitals optimization service for next.js sites?

Get a free quote
FAQ

Common questions

What is the difference between Lighthouse score and Core Web Vitals?

Lighthouse is a lab test that simulates a page load under controlled conditions. Core Web Vitals (LCP, CLS, INP) are measured from real users through the Chrome User Experience Report (CrUX), and that field data is what Google actually uses for ranking. We optimize for both, but CrUX is the number that matters.

Can you fix Core Web Vitals on a WordPress site without migrating?

Yes, but there's a ceiling. Caching plugins like WP Rocket typically take a WordPress site from Lighthouse 35-50 to around 60-70; getting past 90 is rare because jQuery and plugin JavaScript can't be fully removed. We took SleepDr from WordPress Lighthouse 35 to Next.js Lighthouse 94, and sometimes migration is the only real path.

How long does a Core Web Vitals optimization project take?

An audit with a prioritized fix list takes 3-5 days. Implementation varies by scope: image optimization runs 1-2 days, font subsetting about a day, JavaScript reduction 3-7 days, and a full migration 2-6 weeks. Because CrUX data updates on a 28-day cycle, expect ranking impact 30-60 days after fixes ship.

Why is my INP failing and how do you fix it?

INP measures the delay between a user interaction, like a click or tap, and the browser's next paint. It usually fails because of long JavaScript tasks blocking the main thread, synchronous third-party scripts, or heavy event handlers. We fix it by breaking up long tasks, deferring non-critical scripts, and moving logic into Server Components so less JavaScript ships to the client.

Do Core Web Vitals actually affect Google rankings?

Yes -- Google confirmed Core Web Vitals as a ranking signal within Page Experience. Sites with Good Core Web Vitals get a ranking boost over equivalent sites with Poor scores, and Google crawls fast sites more aggressively. The SleepDr migration from Lighthouse 35 to 94 correlated with a real increase in organic impressions within 60 days.

What Lighthouse score do I need to rank well?

Google doesn't rank on Lighthouse scores directly -- it uses field data from CrUX. But lab and field data correlate strongly, so our target is Lighthouse 90+ on mobile, which typically produces Good Core Web Vitals ratings (LCP under 2.5s, CLS under 0.1, INP under 200ms) in the field. We don't stop at 80.

Ready to get started?

Free consultation. No commitment. Just an honest conversation about your project.

Book a free call →
Get in touch

Let's build
something together.

Whether it's a migration, a new build, or an SEO challenge — the Social Animal team would love to hear from you.

Get in touch →