Core Web Vitals are Google's set of real-world performance measurements that directly influence how your website ranks in search results. Unlike many SEO signals that are indirect or difficult to observe, Core Web Vitals are precise, measurable, and fixable. They measure three specific aspects of how a page feels to a real visitor: how fast the main content loads, how quickly the page responds to interaction, and how much the layout shifts around while the page is loading. Get them wrong and Google treats your site as a poor experience and ranks it accordingly. Get them right and you remove one of the most common technical barriers standing between your pages and the rankings they deserve.
The reason Core Web Vitals matter more than most technical SEO factors is that they are grounded in something real. Google is not asking you to satisfy an arbitrary algorithm requirement. It is asking you to deliver an experience that does not frustrate the people using your site. A page that loads slowly, jumps around as images and fonts load in, or freezes when a user taps a button is a page that loses visitors before they have read a word. Addressing Core Web Vitals is simultaneously good SEO practice and good user experience practice, and the two outcomes compound each other.
At AG Art Studio, performance is built into every site we deliver from the start. Here is a complete, practical guide to what Core Web Vitals are, what causes them to fail, and exactly how to fix them.
The three Core Web Vitals explained
Largest Contentful Paint (LCP): how fast your main content loads
Largest Contentful Paint measures how long it takes for the largest visible element on the page to fully load. That element is typically a hero image, a large heading, or a background image near the top of the page. LCP is Google's proxy for how quickly a visitor perceives the page as being ready to use. A good LCP score is 2.5 seconds or under. Between 2.5 and 4 seconds is flagged as needing improvement. Over 4 seconds is considered poor and carries a ranking penalty. The most common causes of a poor LCP are unoptimised images that are too large in file size, slow server response times, render-blocking JavaScript or CSS that delays the page from displaying, and large third-party scripts such as chat widgets or analytics tools loading before the main content. Fixing LCP almost always involves a combination of image compression, server optimisation, and deferring non-critical scripts.
Interaction to Next Paint (INP): how fast your page responds to input
Interaction to Next Paint measures the time between a user interacting with the page, by clicking a button, tapping a link, or typing in a field, and the page visually responding to that interaction. INP replaced the older First Input Delay metric in March 2024 and is a more comprehensive measure because it accounts for all interactions during a page session rather than just the first one. A good INP score is 200 milliseconds or under. Between 200 and 500 milliseconds needs improvement. Over 500 milliseconds is poor. The primary causes of a high INP are heavy JavaScript execution that blocks the browser's main thread, inefficient event handlers attached to interactive elements, and third-party scripts that compete for processing resources when a user tries to interact with the page. Improving INP typically requires a JavaScript audit to identify and reduce the main-thread work happening when interactions occur.
Cumulative Layout Shift (CLS): how stable your page layout is
Cumulative Layout Shift measures how much the visible content of a page moves around unexpectedly while it is loading. It is the metric that captures the experience of going to tap a button and having the page shift at the last moment so you tap something else entirely, or reading a paragraph that suddenly jumps down the page because an image above it finished loading. A good CLS score is 0.1 or under. Between 0.1 and 0.25 needs improvement. Over 0.25 is poor. The most common causes are images without defined width and height attributes, ads or embeds that load with an unknown size, web fonts that cause text to reflow when they load, and dynamically injected content that pushes existing content down the page. CLS is often the easiest of the three Core Web Vitals to fix once you know what is causing the shifts, as most fixes involve adding size attributes or reserving space for content before it loads.
Core Web Vitals are not a box-ticking exercise for SEO. They are a direct measure of whether your website respects the time and attention of the people using it. Fix them for your visitors and the rankings follow.
Core Web Vitals thresholds at a glance
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
| Largest Contentful Paint (LCP) | Under 2.5s | 2.5s to 4.0s | Over 4.0s |
| Interaction to Next Paint (INP) | Under 200ms | 200ms to 500ms | Over 500ms |
| Cumulative Layout Shift (CLS) | Under 0.1 | 0.1 to 0.25 | Over 0.25 |
The most common causes of Core Web Vitals failures
How to measure your Core Web Vitals
How to fix Core Web Vitals issues by priority
Optimise and correctly size every image on the page
Start by converting all images to WebP format, which delivers the same visual quality as JPEG at roughly 25 to 35 percent smaller file sizes. Serve images at the exact dimensions they are displayed at rather than serving a 3000px wide image and scaling it down in CSS. Use the HTML srcset attribute to serve different image sizes to different screen resolutions so mobile visitors are not downloading desktop-sized images. Add explicit width and height attributes to every img element to prevent layout shifts. For the LCP image specifically, the one that is the largest visible element above the fold, add fetchpriority="high" to ensure the browser prioritises loading it above other resources. These changes alone resolve the majority of LCP and CLS failures on most websites.
Upgrade your hosting and enable caching
The speed of your server's response sets a ceiling on every other performance metric. If your hosting takes 800 milliseconds just to start sending data, no amount of image optimisation will produce a good LCP score. Move away from shared hosting to a managed hosting provider with servers geographically close to your primary audience, a content delivery network (CDN) to serve static assets from locations close to each visitor, and server-side caching that serves pre-built pages rather than generating them from the database on every request. For WordPress sites, a caching plugin such as WP Rocket or Cloudflare's full caching layer dramatically reduces server response times without requiring any code changes. This is often the single highest-impact performance fix available and the one most businesses have not done.
Defer non-critical JavaScript and eliminate unused code
JavaScript that loads and executes before the page content renders is one of the most impactful LCP and INP problems, and it is almost always fixable without changing how the site looks or behaves. Add the defer or async attribute to script tags for any JavaScript that does not need to run before the page displays. Audit your installed plugins or third-party scripts and remove any that are not actively used: every unnecessary script is dead weight that delays the experience for every visitor. Use Chrome DevTools Coverage tab to identify JavaScript and CSS files where a large percentage of the code is unused on any given page, and consider code-splitting or lazy-loading those resources so visitors only download what is needed for the specific page they are on.
Reserve space for all dynamic content to eliminate layout shifts
Layout shifts happen when the browser does not know how much space to reserve for an element before it loads. The fix is to always tell the browser in advance. Set explicit width and height on images and video embeds. Reserve space for ads and cookie banners using min-height on their containers. Preload critical web fonts and use font-display: swap in your CSS so text displays immediately in a fallback font rather than being invisible until the custom font loads. Avoid inserting content above existing content after the page has loaded, since this pushes everything below it down and generates significant CLS. If you must inject dynamic content, insert it below the fold where it does not shift content the visitor is already reading.
- All images are converted to WebP format and compressed without visible quality loss
- Every image element has explicit width and height attributes defined to prevent layout shifts
- The LCP image has fetchpriority="high" set so the browser loads it before other resources
- Images are served at the correct display size using srcset for responsive delivery
- The site is hosted on a quality managed server with a CDN enabled for static assets
- Server-side or full-page caching is configured and active
- All non-critical JavaScript has defer or async attributes to prevent render-blocking
- Unused JavaScript and CSS files have been identified and removed or lazy-loaded
- Third-party scripts have been audited and any non-essential ones removed
- Web fonts use font-display: swap and critical fonts are preloaded in the document head
- No content is injected above the fold after the initial page render
- PageSpeed Insights shows green scores for LCP, INP, and CLS on both mobile and desktop
- Google Search Console Core Web Vitals report shows no URLs flagged as Poor
Core Web Vitals are not a one-time fix. Performance degrades over time as new plugins are added, image libraries grow without maintenance, and third-party scripts update themselves to heavier versions. The businesses that maintain strong Core Web Vitals scores treat performance as an ongoing discipline rather than a launch checklist item, running a PageSpeed audit at least quarterly and addressing regressions before they compound. A website that consistently delivers a fast, stable, responsive experience earns better rankings, retains more visitors, and converts more of them into customers than a technically equivalent site that has been allowed to slow down and shift. The return on a sustained performance investment is compounding and measurable, and it is available to any business willing to treat page experience as a commercial priority rather than a technical afterthought.
Google has confirmed that Core Web Vitals are a ranking signal, but they function as a tiebreaker rather than a primary ranking factor. In practice this means that between two pages of similar content quality and authority, the one with better Core Web Vitals scores will rank higher. For competitive queries where many pages are roughly similar in content quality, this tiebreaker effect can meaningfully shift positions. More significantly, poor Core Web Vitals create a compounding problem: slow pages lose visitors before they engage, which increases bounce rates and reduces time on site, both of which are behavioural signals Google uses to assess page quality. Fixing Core Web Vitals improves both the direct ranking signal and the behavioural signals that influence rankings over time.
Yes, for two reasons. First, your experience of your own site is almost certainly faster than your visitors' experience because your browser has cached most of the assets from your frequent visits. A first-time visitor loads everything fresh from the server. Second, PageSpeed tests your mobile performance by default, simulating a mid-range Android device on a 4G connection, which is significantly slower than a desktop computer on broadband. This is deliberate: the majority of your visitors are likely on mobile, and the performance experience that matters commercially is theirs, not yours. A site that feels fast on your office desktop can be genuinely slow for a visitor on their phone in a weaker signal area.
Some Core Web Vitals fixes are accessible without development skills. Installing a caching plugin on WordPress, converting images to WebP using a plugin like Imagify or ShortPixel, and upgrading your hosting plan are all actions a non-technical site owner can take and each can meaningfully improve scores. JavaScript deferral, code-splitting, removing render-blocking resources, and diagnosing complex INP issues typically require developer involvement. The most practical approach for most small business owners is to address the accessible fixes first, measure the improvement, and then decide whether the remaining gap warrants bringing in a developer. The PageSpeed Insights recommendations are prioritised by impact, so start at the top of the list and work down.
Yes, significantly, and Google measures them separately. Desktop scores are almost always better than mobile scores because desktop devices have more processing power, faster network connections, and more memory. Google's ranking signal uses the mobile score for mobile search results and the desktop score for desktop results. Since mobile search accounts for the majority of searches for most businesses, the mobile Core Web Vitals score is the more commercially important one. PageSpeed Insights shows both scores and you can toggle between them. Prioritise achieving good scores on mobile first, as the fixes required, primarily image optimisation and script reduction, typically improve desktop scores at the same time.
Google collects Core Web Vitals data from real visitors over a rolling 28-day window, so improvements made today will take up to four weeks to be fully reflected in the field data Google uses for ranking. After that, ranking changes typically take a further two to six weeks to become visible as Google re-evaluates pages against their competitors using the updated signals. The full cycle from fixing issues to seeing stable ranking improvements is typically six to ten weeks. Changes to lab scores in PageSpeed Insights are immediate and useful for confirming your fixes worked, but the ranking benefit comes from the field data improvement, which reflects real visitor experiences accumulated over time.
Page builders have historically been associated with poor Core Web Vitals because they load large amounts of CSS and JavaScript regardless of whether every feature is used on a given page. This has improved with recent versions of major builders, and with the right hosting and caching configuration it is possible to achieve good scores with a page builder. That said, custom-coded or block-editor-based WordPress sites and Webflow sites consistently outperform heavy page builders on performance benchmarks because they load only the code that is actually needed. If you are evaluating a rebuild and performance is a priority, the platform and build approach matters, and a developer who understands performance will advise you honestly about the tradeoffs of each option.
