Core Web Vitals are Google’s set of real-world performance metrics that directly affect where your website ranks in search results. Unlike older SEO signals, these are not about keywords or backlinks — they measure how fast your pages load, how stable the layout is, and how quickly your site responds to user interaction. Poor scores can drag down rankings even for content that is well-written and well-linked.
The Three Core Web Vitals
| Metric | What It Measures | Good Score | Needs Improvement | Poor Score |
|---|---|---|---|---|
| LCP (Largest Contentful Paint) | Loading speed of main content | Under 2.5s | 2.5s – 4.0s | Over 4.0s |
| INP (Interaction to Next Paint) | Responsiveness to user input | Under 200ms | 200ms – 500ms | Over 500ms |
| CLS (Cumulative Layout Shift) | Visual stability (layout jumping) | Under 0.1 | 0.1 – 0.25 | Over 0.25 |
Why Core Web Vitals Matter for SEO
Google uses Core Web Vitals as a ranking signal through its Page Experience algorithm. While great content can still rank despite poor scores, all else being equal, a site with better performance will outrank one with worse performance.
More importantly, Core Web Vitals reflect real user experience. A site that takes 5 seconds to load loses visitors before they even read a word — and Google’s data shows a direct correlation between slow load times and higher bounce rates.
LCP — Largest Contentful Paint
What It Is
LCP measures how long it takes for the largest visible element on the page to load. This is typically a hero image, a large heading, or a featured video. It represents when the user perceives the page as “loaded.”
Common LCP Problems and Fixes
Slow Server Response Time
If your web server takes too long to respond, everything else is delayed. Fix this by:
- Upgrading to a faster hosting plan (shared hosting is often the bottleneck)
- Enabling server-side caching
- Using a CDN to serve content from servers closer to your visitors
Render-Blocking Resources
CSS and JavaScript files that load before the page content delay LCP. Fix this by:
- Deferring non-critical JavaScript (add
deferorasyncattributes) - Inlining critical CSS
- Moving non-essential scripts to the footer
Unoptimised Images
Large, uncompressed images are the most common cause of poor LCP. Fix this by:
- Converting images to WebP or AVIF format (significantly smaller file sizes)
- Compressing images before uploading
- Adding the
fetchpriority="high"attribute to your LCP image - Using responsive images with
srcsetso mobile devices get smaller files
INP — Interaction to Next Paint
What It Is
INP (which replaced FID — First Input Delay) measures how quickly your page responds to any user interaction throughout the entire visit — clicks, taps, keyboard input. A high INP means the page feels sluggish and unresponsive.
Common INP Problems and Fixes
Excessive JavaScript Execution
Heavy JavaScript blocking the main thread is the primary cause of poor INP. Fix this by:
- Auditing and removing unused JavaScript (especially from plugins and third-party scripts)
- Breaking up long tasks into smaller chunks using
setTimeoutor the Scheduler API - Moving expensive computations to Web Workers
- Lazy loading JavaScript that is not needed on initial page load
Third-Party Scripts
Analytics scripts, chat widgets, ad networks, and social sharing buttons all add JavaScript that can delay interaction. Audit every third-party script on your site. Remove anything that is not delivering clear value, and load the rest asynchronously.
CLS — Cumulative Layout Shift
What It Is
CLS measures how much the page layout shifts unexpectedly while loading. If you have ever been about to click a button and it suddenly jumped down because an image loaded above it — that is a layout shift. CLS scores the total amount of unexpected movement.
Common CLS Problems and Fixes
Images and Videos Without Dimensions
When a browser does not know an image’s dimensions before it loads, it cannot reserve space. Other content shifts as the image loads. Fix this simply by always including width and height attributes on every image and video element.
Late-Loading Ads and Embeds
Ad networks that inject content after the page loads are a major source of CLS. Reserve fixed space for ad slots using CSS min-height even before the ad loads. This prevents content from being pushed down when ads appear.
Web Fonts Causing FOUT
When custom fonts load, they can cause text to reflow if the fallback font has different dimensions. Fix this by:
- Using
font-display: optionalorfont-display: swapin CSS - Preloading critical fonts with
<link rel="preload"> - Matching fallback font metrics to your web font to minimise shift
How to Measure Your Core Web Vitals
Google Search Console
The Core Web Vitals report in Google Search Console shows real-user data (field data) from Chrome users visiting your site. This is the most important data set because it reflects what Google actually measures for ranking purposes. Check this report first.
PageSpeed Insights
PageSpeed Insights (at pagespeed.web.dev) combines real-world Chrome data with lab data from Lighthouse. It shows your scores and provides specific recommendations for improvement. Run it on your most important pages, not just your homepage.
Chrome DevTools
For developers, Chrome’s Performance tab and Lighthouse audits provide deep diagnostic data. The Performance tab shows exactly which resources are blocking render and how long each phase of page load takes.
Core Web Vitals for WordPress Sites
WordPress sites have specific considerations:
| Issue | Common Cause | Fix |
|---|---|---|
| Slow LCP | Unoptimised theme images, no caching | Use WP Rocket or LiteSpeed Cache, convert images to WebP |
| High INP | Too many plugins loading JavaScript | Audit and remove plugins, use Asset CleanUp Pro |
| High CLS | Images without dimensions, late-loading ads | Add width/height to images, reserve ad space with CSS |
| Slow TTFB | Shared hosting, no server caching | Upgrade hosting, enable object caching (Redis) |
Priority Order: What to Fix First
- Fix your hosting — if server response is over 600ms, no front-end optimisation will fully compensate. Upgrading hosting often gives the biggest improvement with the least effort.
- Enable caching — a good caching plugin (WP Rocket, LiteSpeed Cache) immediately improves LCP for repeat visitors and often for first-time visitors too.
- Optimise images — convert to WebP, compress, add dimensions. This addresses the most common LCP and CLS issues simultaneously.
- Audit third-party scripts — remove or defer anything not critical to the initial page experience.
- Add a CDN — serve assets from servers geographically close to your visitors for faster delivery worldwide.
Final Takeaway
Core Web Vitals are not a one-time fix — they require ongoing monitoring as you add new content, plugins, and features. Set a monthly reminder to check your Google Search Console Core Web Vitals report and PageSpeed Insights scores on your top pages. Small regressions caught early are far easier to fix than a site-wide performance crisis.
The payoff is real: faster pages rank higher, keep visitors engaged longer, and convert better. Performance is not just an SEO signal — it is a direct business advantage.
Need help improving your Core Web Vitals scores? Contact us — we offer website performance audits and optimisation services.