Auditite
All playbooks
Playbook Technical SEO Specialist

Core Web Vitals Optimization Playbook for SEO

Actionable playbook for improving LCP, INP, and CLS scores to pass Google's Core Web Vitals assessment consistently.

Overview

Core Web Vitals are a confirmed Google ranking factor. This playbook provides a structured approach to diagnosing and fixing LCP (Largest Contentful Paint), INP (Interaction to Next Paint), and CLS (Cumulative Layout Shift) issues across your site.

Understanding the Thresholds

MetricGoodNeeds ImprovementPoor
LCP≤ 2.5s2.5s – 4.0s> 4.0s
INP≤ 200ms200ms – 500ms> 500ms
CLS≤ 0.10.1 – 0.25> 0.25

Focus on the 75th percentile of real-user data (CrUX), not lab scores alone.

Step 1: Baseline Measurement

  1. Pull your CrUX data from Google Search Console’s Core Web Vitals report.
  2. Identify page groups (templates) that fail: homepage, category pages, product pages, blog posts.
  3. Run Auditite’s performance audit on representative URLs from each failing template.
  4. Record baseline scores in a tracking spreadsheet with dates.

Step 2: Largest Contentful Paint (LCP)

Common Causes of Poor LCP

  • Slow server response time (high TTFB)
  • Render-blocking CSS and JavaScript
  • Unoptimized hero images
  • Client-side rendering delays

Optimization Steps

  1. Reduce server response time. Ensure TTFB is under 800ms. Use a CDN, enable server-side caching, and optimize database queries.
  2. Preload the LCP resource. Add <link rel="preload"> for the hero image or critical font that forms the LCP element.
  3. Optimize images. Serve images in WebP or AVIF format, use responsive srcset attributes, and compress aggressively.
  4. Eliminate render-blocking resources. Inline critical CSS, defer non-critical CSS with media queries, and async/defer JavaScript.
  5. Use server-side rendering or static generation for above-the-fold content instead of relying on client-side JavaScript.

Step 3: Interaction to Next Paint (INP)

Common Causes of Poor INP

  • Long JavaScript tasks blocking the main thread
  • Excessive DOM size
  • Heavy event handlers on interactive elements
  • Third-party scripts competing for execution time

Optimization Steps

  1. Break up long tasks. Use requestIdleCallback or setTimeout to yield to the main thread during heavy processing.
  2. Reduce DOM size. Keep the DOM under 1,500 elements. Remove unnecessary wrappers and hidden elements.
  3. Optimize event handlers. Debounce scroll and resize listeners. Use passive event listeners where appropriate.
  4. Defer third-party scripts. Load analytics, chat widgets, and ad scripts after the page is interactive.
  5. Use web workers for computational tasks that do not need DOM access.

Step 4: Cumulative Layout Shift (CLS)

Common Causes of Poor CLS

  • Images without explicit dimensions
  • Ads and embeds that load asynchronously
  • Fonts causing FOIT/FOUT
  • Dynamic content insertion above existing content

Optimization Steps

  1. Set explicit width and height on all images and video elements, or use CSS aspect-ratio.
  2. Reserve space for ads and embeds. Use min-height on containers where dynamic content loads.
  3. Use font-display: swap with size-adjusted fallbacks. Match the fallback font metrics to the web font to minimize layout shift during font loading.
  4. Avoid inserting content above the fold after initial render. If you must load dynamic banners, push existing content down before it becomes visible.
  5. Use CSS containment (contain: layout) on elements that should not affect surrounding layout.

Step 5: Validate and Monitor

  1. After implementing fixes, wait 28 days for CrUX data to reflect changes.
  2. Use Auditite’s continuous monitoring to track lab scores in the interim.
  3. Set up alerts for any page template that regresses below “Good” thresholds.
  4. Test on real devices — emulated throttling in DevTools does not capture all real-world issues.

Step 6: Communicate Results

Build a before-and-after report showing:

  • The percentage of URLs passing Core Web Vitals before and after optimization
  • The estimated impact on search visibility (pages in “Good” status are eligible for ranking boosts)
  • Specific improvements by template type
  • Ongoing monitoring plan to prevent regressions

Stop copy-pasting. Start automating.

Auditite turns playbooks into live audit workflows. Get started to see how.

Get insights delivered weekly

Join teams who get actionable playbooks, benchmarks, and product updates every week.