How to Sell Website Speed Optimization: Productize CWV Fixes

By Cameron Kirdzik — Founder @WebHunt.ai

· 10 min read

Illustration of an AI-assisted web performance tuning dashboard with LCP, INP, CLS improving from red to green on mobile.

TL;DR

  • Core Web Vitals make speed a measurable, contract-worthy deliverable with clear pass thresholds.
  • Sell a 3-tier menu: Audit-Only, Critical Fixes, Full CWV Overhaul — priced on outcomes and turnaround.
  • Use AI tools to compress implementation to hours; your ceiling is prospecting, packaging, and proof.
  • Prospect trades with phone-first conversions; qualify with quick PSI checks and field-focused targets.
  • Standardize the before/after report and convert wins into a monthly Web Health retainer.

Why sell speed now: Core Web Vitals are rank- and revenue-linked deliverables

Core Web Vitals (LCP, INP, CLS) sit inside Google’s page experience signals, which makes performance a measurable SEO deliverable you can scope, price, and prove — not a vague “make it faster” promise.1 In March 2024, INP replaced FID, moving the focus from initial input delay to full input responsiveness and main-thread work over the entire interaction.2 Pass thresholds are crisp: LCP ≤ 2.5s, INP ≤ 200ms, and CLS ≤ 0.1 for a “Good” status in field data (CrUX).3

Local businesses don’t buy performance theory; they buy calls and form fills. A one‑second improvement in page load can measurably lift conversions in local funnels — enough to justify a mid-tier fix engagement from a single extra booking.4

AI changed the delivery math. Tools like Cursor, Windsurf, Claude Code, and Framer AI can generate and refactor performance fixes in hours. That moves speed optimization from a bespoke dev project to a high‑margin, repeatable product. The constraint isn’t build time — it’s packaging, proof, and consistent prospecting.

Key takeaway: Speed is now an outcome you can contract on: “pass CWV on mobile for top templates in 28 days.” Price on that, not hours.

Define the measurement stack: what you’ll score, fix, and prove

Scope the three metrics with field‑first discipline:

  • LCP: hero content render time (largest element above the fold)
  • INP: end‑to‑end input responsiveness for real interactions
  • CLS: cumulative layout shift across the session

Lab is for diagnosis; success is measured in CrUX (field) movement over the 28‑day window.5

Tools by job:

  • PageSpeed Insights (PSI): quick pulse with both field + lab, plus JSON you can archive.
  • CrUX History (API/Data Studio): trend mobile/desktop field data over 28–90 days.
  • Lighthouse CI: regression guardrails on a staging URL and key templates.
  • WebPageTest: filmstrips and request waterfalls to pinpoint blocking resources.
  • Chrome DevTools Performance: main‑thread long tasks, CLS trace, and interaction timings.

Mobile vs desktop: Prioritize mobile. For most local businesses, discovery and conversions skew mobile — and CWV pass/fail can diverge by form factor.

AI-era assist:

  • Parse PSI JSON with AI to auto-generate issue lists, grouped by LCP/INP/CLS impact.
  • Paste CLS trace or long‑task stacks into Cursor/Claude Code to draft targeted patches (e.g., event delegation, deferring non‑critical CSS, splitting a 600ms task).

Deliverable standard (use this in every SOW):

  • Pre‑fix baseline: screenshots + PSI JSON archive for top pages (mobile/desktop)
  • Prioritized fix list: ranked by estimated impact on LCP/INP/CLS
  • 14‑day post‑fix lab check: verify Lighthouse deltas and regressions
  • 28‑day field proof: CrUX deltas + pass status screenshots

Build a 3-tier speed service menu (pricing, scope, timelines)

Tier 1 — Audit‑Only ($150–$350, 24–48h)

  • Deliverables: PSI/CrUX baseline (mobile/desktop), prioritized fix plan tied to LCP/INP/CLS, code‑level recs per page type, 5–7 min Loom walkthrough. No implementation.
  • Buyer: owners who want clarity before committing; perfect foot‑in‑the‑door.

Tier 2 — Critical Fixes ($500–$1,200, 2–5 days)

  • Scope: top 3–5 pages, image compression + next‑gen formats, defer render‑blocking CSS/JS, font loading optimization, hero LCP element optimization, basic CLS fixes (dimension attributes), limited INP wins (event delegation, debounce hot listeners).
  • Target: move at least one failing CWV metric to Good on mobile lab and show an upward field trend.

Tier 3 — Full CWV Overhaul ($1,500–$3,500, 1–2 weeks)

  • Scope: sitewide perf budget, code splitting, critical CSS, server‑side caching/HTTP/2, image CDN, third‑party script governance, INP work (break up long tasks, yield to main thread), template‑level CLS eradication, cart/lead‑form interaction tuning.
  • Target: pass CWV on mobile across key templates in field within 28 days.

AI-era implementation:

  • Use Cursor/Windsurf to refactor blocking CSS/JS and remove sync work.
  • Reach for Base44/Bolt/v0 to scaffold lean templates when legacy themes block goals.
  • Framer AI or Lovable for rapid theme rebuilds if a hard reset is the faster path to green.
  • Price on outcomes and turnaround — not hours. Your fulfillment time is compressed; protect margins.

Guarantees and scope locks:

  • One re‑test window per tier; explicit exclusions (e.g., legacy plugins you won’t modify).
  • Add an escape hatch to escalate from Tier 2 to 3 if host/theme constraints surface (credit prior spend).

Prospecting and qualification: who actually buys speed work

Prioritize high‑LTV, phone‑first trades where a single extra booking repays Tier 2–3: HVAC, roofing, plumbing, pest control, personal injury.

Qualification signals you can verify in minutes:

  • PSI mobile < 50
  • No image CDN / oversized hero images
  • Render‑blocking CSS/JS and unused bundles
  • Heavy third‑party embeds (chat, tag managers, recording scripts)
  • Template CLS from carousels/headers
  • TTFB > 800ms on mobile (often a host/CDN config issue)

Lead at volume:

  • Batch‑run PSI for a niche/city; auto‑tag red/yellow/green.
  • 3‑message outreach (email/SMS/VM) promising a 24–48h audit and a live demo page.

Prospect data to grab before outreach:

  • CMS/host (WordPress, Shopify, Wix, Squarespace)
  • Theme/plugin/app list
  • Top‑converting pages (service + city, contact, cart/checkout)
  • Access ask: temporary GA/Site Kit/Search Console for field verification

Local proof offer:

  • Build a single optimized hero page (service + city) in your AI builder and show a side‑by‑side filmstrip vs their current page. Anchor value to interaction time and above‑the‑fold render.

Where to source leads fast:

  • If you’d rather not compile lists by hand, WebHunt.ai scores local businesses for website weakness signals (HTTPS, mobile, speed, freshness) and review momentum so you can filter by trade and city. Use its lead ranking to focus on likely buyers.
  • When you’re ready to call owners directly, WebHunt.ai can enrich leads with owner names, direct phones, and emails — with confidence scoring and mobile/landline checks — so your speed pitch reaches decision‑makers.

By the numbers: Your ceiling is pipeline. At a 5% close rate on 40 qualified speed leads/month, a few Tier 2–3 wins outpace a month of referral‑only work — with <20 fulfillment hours when AI does the heavy lifting.

Fix library by metric: concrete plays you can ship fast

LCP plays (fast hero render):

  • Serve next‑gen images (AVIF/WebP) with width‑based srcset and sizes; compress aggressively.
  • Inline critical CSS; defer non‑critical CSS; preload hero image and the key font.
  • Collapse above‑the‑fold DOM; remove render‑blocking scripts; preconnect critical origins.
  • Move CSS background heroes to with decoding=async and fetchpriority=high.
  • If TTFB is the bottleneck: enable server caching, edge cache, HTTP/2/3; upgrade hosting tier.

INP plays (responsive interactions):

  • Find long tasks > 200ms; split bundles; lazy‑hydrate non‑critical components.

  • Remove sync third‑party scripts; load analytics with defer and sampling.

  • Event delegation on lists; debounce/throttle expensive listeners.

  • Move heavy work to Web Workers; scheduleIdleWork/yield via requestIdleCallback.

  • Prefetch and preconnect critical origins before user input.

CLS plays (visual stability):

  • Explicit width/height on images/video/iframes; reserve space for embeds and ads.
  • Avoid FOIT/FOUT by using font-display: swap and setting fallback metrics.
  • Stabilize dynamic components (accordions/carousels) with transforms instead of layout shifts; avoid inserting DOM above the fold after render.

Platform recipes:

  • WordPress: Perf plugins (e.g., caching + image CDN), theme swap checklist, dequeue unused styles, limit builder bloat, Woo cart INP fixes (debounce validations, async fetch, prevent layout jank on notices).
  • Shopify: Use built‑in image CDN; extract critical CSS to theme.liquid; govern app scripts (load on pages that need them); replace heavy app UIs with lighter sections where feasible.
  • Wix/Squarespace: Fewer levers — optimize media, cut apps, simplify above‑the‑fold blocks. If CWV goals stay blocked, rebuild a lean front in Framer AI/Lovable and re‑host while preserving URLs/meta.

AI-era workflows:

  • Paste janky components into Claude Code/Cursor and ask for non‑shifting refactors.
  • Use v0/Bolt to scaffold a clean template if technical debt is immovable; port content.
  • Generate PRs with commented diffs and a rollback plan; attach a short Loom for the client.

Packaging the sale: offers, proof, and the before/after report

Offer structure that converts:

  • Free/low‑cost Audit‑Only with 72‑hour expiry to decide.
  • Tier 2 money‑back if agreed lab targets aren’t hit within 7 days (scope it tightly).
  • Upgrade credit: apply Tier 1 spend toward Tier 2/3 if they move within 14 days.

Sales assets you must include:

  • One‑page proposal: baseline PSI screenshots (mobile/desktop), target metrics by tier, fixed fee, and a 10‑day calendar.
  • 90‑second Loom: filmstrip before/after and click‑to‑first‑interaction improvement.

Before/after report template (standardize this):

  • Side‑by‑side PSI mobile/desktop screenshots
  • LCP/INP/CLS deltas (lab + field) and “pass” badge when achieved
  • Filmstrip frames; long‑task breakdown pre/post; list of implemented fixes
  • Remaining backlog + field‑data plan: “Expect CrUX to reflect improvements within 28 days”

Retention move:

  • Convert wins to a monthly Web Health retainer ($99–$299): uptime, monthly PSI/CrUX snapshot, script bloat watch, perf budget guardrails, and hosting/CDN margin.

AI assists for packaging:

  • Autogenerate the report draft from PSI JSON and git diffs; have AI write the client summary.
  • Clip 10‑second social proof highlights from Looms for your proposal follow‑ups.
  • If you want pitch angles auto‑summarized per lead, WebHunt.ai provides AI opportunity briefs that audit current web presence (with screenshots) and suggest concrete hooks for your speed offer.
  • Prefer to automate first touches? The AI Voice Agent SDR from WebHunt.ai can call leads, pitch your 48‑hour audit, and book qualified meetings directly onto your calendar.

Pricing math and margins in the AI era

Cost model:

  • AI‑assisted fixes + modest tooling/hosting means Tier 2 often clears 70–85% gross margin; Tier 3, 60–80% depending on rebuild scope.

Volume model:

  • At a 5% close rate on 40 qualified speed leads/month, two Tier 2s + one Tier 3 is a $2.5k–$6k MRR‑equivalent — with <20 fulfillment hours when AI refactors most of the work.

Anchor pricing to outcomes:

  • Promise specific lab targets within 7 days and document the 28‑day CrUX lag in the SOW to prevent scope creep.3

Upsell paths:

  • Host/CDN resell, monthly health retainer, template rebuilds, content refresh (LCP‑friendly above‑the‑fold), local SEO add‑ons (GBP tuning, review velocity).

Risk management:

  • Exclusions: legacy builder lock‑in, mission‑critical third‑party scripts.
  • Rollback points on each change; feature flags for risky pages.
  • Paid discovery clause if custom apps or opaque themes surface mid‑engagement.

Fulfillment and QA: a 7‑step delivery playbook

  1. Baseline
  • Capture PSI JSON, WebPageTest filmstrip, Lighthouse (mobile) for top 3–5 pages; export CrUX history.
  1. Prioritize
  • Choose 3–5 fixes mapped to LCP/INP/CLS with estimated impact; set a perf budget per template.
  1. Implement
  • Stage branch; AI‑assisted code changes; rationalize plugins/apps; enable image CDN; set cache headers.
  1. Verify lab
  • Run Lighthouse CI until targets are met (LCP < 2.5s, INP < 200ms, CLS < 0.1); record deltas and screenshots.3
  1. Rollout
  • Deploy with feature flags; monitor RUM; mark the start date for field validation.
  1. Report
  • Send the before/after package; schedule a 28‑day check‑in when CrUX updates land.
  1. Guardrail
  • Add monthly checks; set alerts on regressions; govern scripts so marketing adds don’t erode gains.

Outreach snippets you can paste

  • Email 1 (subject: Your [City] service page is failing CWV on mobile) “Noticed your [service + city] page scores a 38 on PSI mobile with slow LCP and unstable CLS. I can deliver a fixed‑fee 48‑hour audit with a live demo page and a plan to hit LCP ≤ 2.5s and CLS ≤ 0.1. Want the audit link by Friday?”

  • SMS/VM follow‑up “It’s [Your Name]. I built a side‑by‑side filmstrip showing your page vs an optimized version — 1st click is responsive in under 200ms. Can I text you the Loom?”

  • Close nudge “We lock pricing to outcomes, not hours. If we don’t hit the lab targets in 7 days, you don’t pay Tier 2. Field (CrUX) proof follows within 28 days.”

Pipeline helpers to speed the speed business

  • For consistent top‑of‑funnel, WebHunt.ai can surface local businesses with weak/slow sites and score by buy‑likelihood. Filter by trade and city, then export a week’s worth of speed prospects.
  • Use WebHunt.ai owner contact enrichment to reach the actual decision‑maker. Pair with a 90‑second Loom showing filmstrip and lab targets.
  • When you want to show a fast demo, the one‑click website prompt in WebHunt.ai pre‑fills an AI builder prompt with real business details and photos so you can spin up a lean hero page quickly.

What to put in your SOW (copy/paste)

  • Scope: pages X–Y; metrics targeted (LCP/INP/CLS); lab targets and field validation window.
  • Deliverables: baseline archive, fix list, post‑fix lab report, 28‑day CrUX proof, rollback plan.
  • Exclusions: legacy plugins, third‑party scripts critical to ops, platform‑level limits.
  • Warranty: one re‑test window; performance guardrails for 14 days post‑deploy.
  • Escalation: option to credit Tier 2 fees toward Tier 3 if platform limits block targets.

Common blockers and the fastest path around them

  • Bloated multi‑purpose themes: swap to a lean base (Framer AI/Lovable) and port content; keep URLs.
  • All‑in‑one chat/recording stacks: replace with lighter async alternatives or limit to pages that need them.
  • Host bottlenecks: enable edge caching or move to a plan with better TTFB; HTTP/2/3 and brotli.
  • App sprawl (Shopify/WordPress): audit load locations; remove, delay, or route scripts by template.

Your operating cadence (weekly)

  • Prospect 50–100 leads; qualify 30; send 10–15 audits; book 3–5 calls.
  • Close 2–4 Tier 2s and 0–1 Tier 3s per month to hit $3k–$6k with <20 fulfillment hours.
  • Renew 30–50% onto a Web Health retainer within 30 days of delivery.

Remember the AI‑era lens: building the fixes is cheap; creating a repeatable package and keeping a full pipe is the job. Standardize the offer, automate the proof, and sell the pass.

Frequently asked questions

How long does it take for Core Web Vitals improvements to show up in Google’s field data (CrUX)?

CrUX aggregates real-user data over a 28‑day window. You’ll see early movement in the first 7–14 days if traffic is steady, but use 28 days as the validation checkpoint. Set client expectations in the SOW and share interim lab deltas to show progress.

What if my client’s site is on Wix/Squarespace — can Core Web Vitals still be improved without a rebuild?

You can usually win with media optimization, trimming apps, simplifying above‑the‑fold blocks, and tightening fonts. If the platform still blocks CWV goals, rebuild a lean front with an AI builder (e.g., Framer AI/Lovable) and re‑host while preserving URLs and metadata.

How do you price speed work when third-party scripts (chat, analytics, ad pixels) cause most of the slowdowns?

Scope them explicitly. Offer to load only where needed, defer, or swap for lighter options. If they’re mandatory and block targets, add a variance clause: you’ll optimize around them but can’t guarantee a pass without governance changes. Provide a separate script governance add‑on.

What’s the difference between lab scores (Lighthouse) and field data (CrUX), and which one do clients care about?

Lab scores are controlled tests used for diagnosis and QA before deploy. Field data (CrUX) reflects real users and is what Google uses to determine pass/fail status. Clients should care about both: lab for fast feedback and guarantees, field for proof of impact and SEO eligibility.

Can you guarantee passing Core Web Vitals, and what happens if the theme or host blocks fixes?

Guarantee lab targets within a defined scope and time window. If platform limits block success, your SOW should include an escalation path: credit the current tier toward a theme/host overhaul. Always include rollback points to protect uptime and revenue.

Which fixes move INP the most on WordPress and Shopify without a full refactor?

Remove or defer sync third‑party scripts, split large JS bundles, debounce validation/listeners on forms and carts, and lazy‑hydrate non‑critical components. Profiling to identify >200ms long tasks and yielding to the main thread typically moves INP from Poor to Needs Improvement/Good quickly.

Sources

  1. 1 Core Web Vitals 2026 Explained LCP, CLS & INP Benchmarks
  2. 2 INP and Core Web Vitals: What You Need to Know [2024 Guide] - RebelMouse
  3. 3 Core Web Vitals 2026 Thresholds: LCP 2.5s, INP 200ms, CLS 0.1
  4. 4 Page Load Time and Conversion Rates: Real Data for 2026
  5. 5 Core web vitals guide · Unlighthouse

About the author

Cameron Kirdzik — Founder @WebHunt.ai

Cameron is the founder of WebHunt.ai, where he helps web designers, agencies, and freelancers find local businesses that need a website. He writes practical, field-tested guides on prospecting and closing local clients.