SEO

Core Web Vitals: What They Are and Why They Affect Your Google Rankings

Core Web Vitals are three Google performance metrics that became ranking signals in June 2021: (1) LCP (Largest Contentful Paint) — the loading speed of the largest visible element, target under 2.5 seconds; (2) FID (First Input Delay) — how quickly the page responds to a user's first interaction, target under 100 milliseconds; (3) CLS (Cumulative Layout Shift) — how much content unexpectedly moves during loading, target under 0.1. Check your scores in Google Search Console (Core Web Vitals report) or PageSpeed Insights. The most impactful fixes: optimise and properly size the hero image (LCP), remove render-blocking JavaScript (FID), and specify image and ad dimensions in HTML (CLS).

Published: 2021-02-18 | Last Updated: 2021-02-18 | 9 min read

Key Takeaways

  • LCP (Largest Contentful Paint) is the metric most sites fail — the hero image or main content block must load within 2.5 seconds for a 'Good' score; the most common fix is image format (WebP) and preload the hero image.
  • FID (First Input Delay) measures JavaScript blocking — the page can't respond to user input while JavaScript is executing; the fix is deferring non-critical JavaScript and reducing main thread blocking.
  • CLS (Cumulative Layout Shift) is caused by content loading without reserved space — images without dimensions, ads injecting into the layout, and late-loading fonts all contribute; the fix is always specifying dimensions.
  • Google Search Console's Core Web Vitals report shows field data from real Chrome users — this is what Google measures for ranking, not lab scores from PageSpeed Insights.
  • Content relevance remains the primary ranking factor — Core Web Vitals improve rankings most in competitive SERPs where multiple pages have similar content quality.

In May 2020, Google announced that Core Web Vitals — a set of specific, measurable metrics for page loading experience, interactivity, and visual stability — would become ranking factors in Google Search. The rollout began in June 2021, making Core Web Vitals the most significant new ranking signal Google had introduced in years. For website owners and SEO practitioners, Core Web Vitals represent a shift from vague performance guidance ('make your site faster') to specific, measurable targets with clear diagnostic tools. Google Search Console shows which pages fail, PageSpeed Insights shows why, and Google's own documentation explains how to fix each issue. This guide explains what each Core Web Vital measures, what scores to target, and which improvements have the highest impact — starting with the factors that move the metrics most significantly.

Definition: Field Data vs Lab Data in Core Web Vitals

Field Data (also called Real User Measurement or RUM) is performance data collected from actual Chrome browser users visiting the page over the past 28 days, aggregated in the Chrome User Experience Report (CrUX). This is what Google Search Console shows and what Google uses for ranking. It reflects real-world conditions — varying devices, network speeds, and browser states. Lab Data is performance measured in a controlled test environment (like Google's PageSpeed Insights or Lighthouse) with fixed conditions (simulated network speed, device, no browser extensions). Lab data is reproducible and useful for diagnosing specific issues, but may not match field data because real users visit from different conditions. When field data and lab data diverge, prioritise improving lab data issues — the controlled improvements typically improve field data over the 28-day averaging window.

LCP, FID, and CLS: What Each Metric Actually Measures

Each Core Web Vital isolates one aspect of page experience — loading, interactivity, and visual stability — with specific thresholds that distinguish 'Good', 'Needs Improvement', and 'Poor' performance.

Largest Contentful Paint (LCP) measures how long it takes for the largest visible content element — typically the hero image, the H1 headline text block, or the main content image — to fully render in the viewport. LCP is the Core Web Vital most websites fail and the one most closely correlated with perceived load speed. The 'Good' threshold is under 2.5 seconds; 'Needs Improvement' is 2.5–4 seconds; 'Poor' is above 4 seconds. The most common LCP elements are above-fold images (hero images, featured product images), large text blocks, and video thumbnails. Identifying your LCP element is the first diagnostic step — PageSpeed Insights shows which element is the LCP in the Diagnostics section.

First Input Delay (FID) measures the delay between a user's first interaction with the page (clicking a link, tapping a button, pressing a key) and when the browser begins processing that interaction. High FID typically indicates the browser's main thread is busy executing JavaScript and can't respond immediately to user input. The 'Good' threshold is under 100 milliseconds — nearly imperceptible. FID above 300ms is considered 'Poor' and produces a noticeably unresponsive feel. The fix is almost always JavaScript-related: too much JavaScript executing during page load, third-party scripts (ads, analytics, chat widgets) consuming main thread time, or large JavaScript bundles that take time to parse. Note: FID is being replaced by INP (Interaction to Next Paint) as a Core Web Vital in March 2024, which measures all interactions, not just the first.

Cumulative Layout Shift (CLS) measures how much the page's visual content unexpectedly moves during and after loading. A CLS score of 0 means nothing shifted; a score above 0.1 indicates visible, potentially disruptive layout movement. Common causes: images loaded without specified dimensions (the browser doesn't reserve space, so the image pushes content down when it loads), banner ads injected into the page after initial render, web fonts causing text to reflow when they load (FOUT — Flash of Unstyled Text), and dynamically injected content (cookie banners, chat widgets, promotional bars) that appear after initial layout. The fix for most CLS issues is specifying width and height attributes on all images and iframes.

  • LCP target: <2.5s — most commonly the hero image or main H1 text block
  • FID target: <100ms — caused by main thread JavaScript blocking; fix with deferred and reduced JS
  • CLS target: <0.1 — caused by content without reserved dimensions; fix by specifying image/ad sizes
  • Google Search Console shows real-user field data per URL — use this as your primary diagnostic
  • PageSpeed Insights shows specific element-level recommendations for each failing metric

The Highest-Impact Core Web Vitals Improvements

The fixes with the largest LCP, FID, and CLS improvements are image format optimisation, JavaScript execution reduction, and dimension specification — in that order of implementation priority for most sites.

For LCP, the fastest wins are: converting the hero image to WebP format (30–50% file size reduction vs JPEG at equivalent quality), adding a 'preload' link tag for the hero image in the HTML head so the browser discovers and fetches it immediately rather than waiting for the render path to reach it, and ensuring the image is served at the correct display size (not a 2000px image displayed at 800px). On WordPress sites, enabling a caching plugin with image optimisation (WP Rocket, Smush, ShortPixel) addresses most of these automatically. On Shopify, the theme's Liquid templates should use the image_url filter with explicit width parameters to serve appropriately sized images.

For FID/INP, the primary fix is reducing JavaScript execution time during page load. Audit third-party scripts — each analytics tool, chat widget, ad pixel, and tracking tag adds to main thread load time. Tools like Google Tag Manager can consolidate script firing, but accumulating dozens of tags in GTM produces the same problem. For custom-built sites, defer all JavaScript that isn't required for initial render (add defer or async attributes to script tags). For WordPress sites, a performance plugin (WP Rocket's 'Delay JavaScript Execution' feature) defers third-party scripts until user interaction.

For CLS, systematically add width and height attributes to every image in your HTML and CSS. Modern browsers use aspect ratio reservation — if an image has width=800 and height=600 specified, the browser reserves exactly that space before the image loads, preventing content shift. For dynamic content (ads, cookie banners, promotional bars), either load them from the server-side (avoiding client-side injection that shifts content) or reserve a fixed-height container for them before they load.

Experience Signal

The Core Web Vitals audits where we find the most significant LCP issues are on WooCommerce and WordPress sites running a page builder (Elementor, Divi, WPBakery) — these builders generate substantial render-blocking CSS and JavaScript that delays both LCP and FID. The LCP image is often being loaded as a CSS background image rather than an HTML img element, which means it can't be preloaded. Moving the hero to an HTML img tag with a preload hint, combined with builder-specific optimisation settings, typically moves these sites from 'Poor' (6–8 second LCP) to 'Needs Improvement' (3–4 second LCP) without any infrastructure changes — and a caching/CDN layer gets them to 'Good'.

Frequently Asked Questions

The three Core Web Vitals are: (1) Largest Contentful Paint (LCP) — measures loading performance; specifically, how long it takes for the largest visible content element (usually the hero image or largest text block) to fully load. Target: under 2.5 seconds. (2) First Input Delay (FID) — measures interactivity; how long between a user's first interaction (click, tap, keypress) and when the browser actually responds. Target: under 100 milliseconds. (3) Cumulative Layout Shift (CLS) — measures visual stability; how much page elements shift position unexpectedly during loading. Target: under 0.1. Google considers 'good' as meeting all three thresholds, 'needs improvement' as partially meeting them, and 'poor' as failing one or more.

Sources

Core Web Vitals Failing? We Can Fix Them.

Webnixon audits and improves Core Web Vitals scores — identifying the specific LCP, FID, and CLS issues on your site and implementing the fixes that move your field data into 'Good' territory.

Book an SEO Consultation

About the author

David Okafor

David Okafor

Developer

David is a full-stack developer at Webnixon with expertise in React, WordPress, and custom web application development. He contributes to complex front-end builds, API integrations, and performance-focused engineering for Webnixon clients. He writes about web development best practices, WordPress, and the technical side of building fast, maintainable websites.

Related Articles

Technical SEO in 2026: Core Web Vitals, Structured Data, and Google's Evolving Signals

SEO

Technical SEO in 2026: Core Web Vitals, Structured Data, and Google's Evolving Signals

Core Web Vitals, structured data for AI Overviews and rich results, and indexing coverage define the technical SEO landscape in 2026. This guide covers the technical factors that determine whether your website ranks and how it appears in search — and what to prioritise in a technical SEO programme.

December 12, 2019David Okafor10 min read
Featured Snippets and Zero-Click Search: How to Win Position Zero

SEO

Featured Snippets and Zero-Click Search: How to Win Position Zero

Zero-click searches — where Google answers the query directly on the results page — now account for over 50% of all searches. Featured snippets, knowledge panels, and People Also Ask boxes are the mechanisms. Here's how to structure content to win featured snippet placement and capture visibility even when users don't click through.

March 19, 2020David Okafor8 min read
What Is Local SEO? How to Get Your Business Ranking in Local Search

SEO

What Is Local SEO? How to Get Your Business Ranking in Local Search

Local SEO is the process of optimising your business's online presence for geographically-relevant searches — 'plumber near me', 'best accountant in [city]', 'coffee shop open now'. It covers your Google My Business profile, your website's local signals, local citations, and reviews. Here's how to do it.

May 16, 2019Jai Paek9 min read