Auditite
All templates
Checklist SEO Manager

Core Web Vitals Optimization Checklist for SEO

Pass Core Web Vitals with this optimization checklist. Covers LCP, INP, and CLS with specific thresholds, diagnostic steps, and fix priorities.

Overview

Core Web Vitals are Google’s page experience metrics that directly influence search rankings. This checklist covers all three metrics — LCP, INP, and CLS — with specific diagnostic steps, fix priorities, and validation procedures.

Metric Thresholds

MetricGoodNeeds ImprovementPoor
Largest Contentful Paint (LCP)≤ 2.5s2.5s – 4.0s> 4.0s
Interaction to Next Paint (INP)≤ 200ms200ms – 500ms> 500ms
Cumulative Layout Shift (CLS)≤ 0.10.1 – 0.25> 0.25

Target: All three metrics must be in the “Good” range at the 75th percentile of page loads (field data).

LCP Optimization Checklist

Server Response

  • TTFB (Time to First Byte) is under 800ms
  • Server-side rendering or static generation is in place
  • CDN is configured for all geographic regions
  • HTTP/2 or HTTP/3 is enabled
  • Server compression (gzip/Brotli) is active

Resource Loading

  • LCP element is identified (usually hero image or heading)
  • LCP image has fetchpriority="high" attribute
  • LCP image is NOT lazy loaded
  • LCP image uses <link rel="preload"> if not in initial HTML
  • LCP image is in modern format (WebP/AVIF) with appropriate compression
  • LCP image srcset provides correctly sized variants

Render Blocking

  • Critical CSS is inlined in <head>
  • Non-critical CSS is deferred with media attribute or loaded async
  • JavaScript is deferred or async (no render-blocking scripts)
  • Third-party scripts are loaded after LCP
  • Web fonts use font-display: swap or font-display: optional
  • Font files are preloaded: <link rel="preload" as="font">

INP Optimization Checklist

JavaScript Performance

  • Total JavaScript bundle size under 300 KB (compressed)
  • Long tasks (50ms+) are identified and broken up
  • Heavy computations use Web Workers
  • Event handlers are debounced/throttled where appropriate
  • requestAnimationFrame is used for visual updates
  • requestIdleCallback is used for non-urgent work

Input Responsiveness

  • Click handlers respond within 200ms
  • Form inputs have no perceptible lag
  • Dropdown menus open instantly
  • Navigation transitions are smooth
  • No JavaScript errors blocking interaction

Third-Party Scripts

  • Analytics scripts are loaded async
  • Chat widgets are lazy loaded
  • Ad scripts are deferred
  • Social embeds are loaded on interaction
  • Total third-party script impact is measured and acceptable

CLS Optimization Checklist

Images and Media

  • All <img> elements have explicit width and height attributes
  • All <video> and <iframe> elements have explicit dimensions
  • CSS aspect-ratio is set for responsive media containers
  • No images load without reserved space

Fonts

  • Web fonts use font-display: swap (or better, optional)
  • size-adjust is configured for fallback fonts to match web font metrics
  • Font files are preloaded to minimize swap time

Dynamic Content

  • No content injected above existing content after load
  • Cookie consent banners use fixed positioning (not push content)
  • Ad slots have reserved space with min-height
  • Lazy-loaded content has placeholder dimensions
  • No dynamically resizing elements in the viewport

Animations

  • CSS animations use transform and opacity only (no layout-triggering properties)
  • No top, left, width, height animations on visible elements
  • Transitions use will-change sparingly and appropriately

Diagnostic Tools

ToolWhat It MeasuresData Type
Google PageSpeed InsightsAll CWVLab + Field
Chrome UX Report (CrUX)All CWVField (28-day)
Chrome DevTools PerformanceAll CWVLab
Web Vitals JS libraryAll CWVReal User Monitoring
Google Search ConsoleAll CWVField
AudititeAll CWV + page-level detailLab + monitoring

Page-Level Audit Worksheet

URLLCP (s)LCP ElementINP (ms)CLSPass/FailPriority Fix

Fix Priority Order

PriorityFix CategoryTypical Impact
1Server response time (TTFB)Improves LCP across all pages
2LCP image optimizationDirectly improves LCP
3Render-blocking resourcesImproves LCP
4Image dimension attributesDirectly fixes CLS
5Font loading strategyFixes CLS + improves LCP
6JavaScript optimizationImproves INP
7Third-party script managementImproves INP + LCP
8Dynamic content handlingFixes CLS

Validation Process

  1. Implement fixes on staging environment
  2. Test with Chrome DevTools (lab data) — verify improvements
  3. Deploy to production
  4. Monitor field data in CrUX / Search Console (takes 28 days for full cycle)
  5. Verify at 75th percentile threshold
  6. Re-audit with Auditite to confirm all pages pass

Auditite monitors Core Web Vitals across every page on your site, alerting you when pages fall below thresholds and providing specific fix recommendations.

Want the how-to behind this template?

Check out our playbooks for step-by-step audit process guides.

Get insights delivered weekly

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