How do I fix poor Core Web Vitals scores?
Core Web Vitals
Find out which metric fails, on which device and for which group of pages; Search Console's Core Web Vitals report shows all three from real Chrome visits. Then fix the cause behind that metric: for LCP, how fast the main image or text arrives; for INP, long JavaScript tasks that delay responses; for CLS, content that appears without space reserved for it. Field data covers the last 28 days, so judge the fix over a month.
Step 1: find what is failing
- Open the Core Web Vitals report in Search Console and pick Mobile or Desktop; the two are rated separately.
- Open one of the listed issues, for example an LCP issue on mobile, to see the affected URL group and example URLs. The whole group shares one status, decided by its worst metric.
- Run an example URL through PageSpeed Insights to see the field data for that page next to a lab test that helps you debug.
Lab tools such as Lighthouse cannot measure INP because nobody interacts with the page, so they report Total Blocking Time instead. For INP, real-user measurement is the reliable guide.
How to fix a slow LCP
web.dev's LCP optimisation guide splits LCP into four parts: server response time, the delay before the main resource starts loading, its download time, and the delay before it renders. Work on the largest part first:
- Make the LCP image discoverable in the initial HTML instead of injecting it with JavaScript or CSS, and give it
fetchpriority="high". - Never lazy-load the LCP image.
- Serve it smaller: the right dimensions, a modern format, compression, and a CDN close to visitors.
- Remove render-blocking resources: smaller stylesheets, no synchronous scripts in the
<head>, server-side rendering for the main content. - Speed up the server response: cut redirects and let pages be cached at the edge.
How to fix a poor INP
The INP optimisation guide breaks each interaction into input delay, processing time and presentation delay:
- Input delay: reduce the JavaScript that runs during page load, so the main thread is free when someone taps.
- Processing time: break long event handlers into smaller tasks and yield to the main thread, doing the visible update first and deferring the rest.
- Presentation delay: keep the DOM small, avoid forcing layout by reading styles straight after changing them, and use
content-visibilityfor long pages.
How to fix a high CLS
The CLS optimisation guide lists the usual culprits and their fixes:
- Images and videos without dimensions: add
widthandheightattributes, or a CSSaspect-ratio. - Ads, embeds and iframes: reserve their space in the layout before they load.
- Content injected above existing content: use a placeholder of the right size, or insert new content below what the visitor is reading.
- Web fonts: preload the important ones so text does not reflow late.
- Animations: animate
transformrather than properties liketoporleft.
Pages that can use the browser's back/forward cache also avoid layout shifts when visitors return to them.
Step 3: confirm the fix
Deploy, then open the issue in the Core Web Vitals report and start validation. Google monitors the group for 28 days; validation does not trigger a recrawl or speed anything up, it only tracks whether the problem is gone. Because field data rolls over 28 days, expect the report to improve gradually. For what each metric means, see What do LCP, INP and CLS mean?.
How AutoPSEO helps
AutoPSEO's Core Web Vitals report charts about six months of weekly Chrome UX Report data for your site or for one URL, on phone, desktop or tablet, so you can see the week a fix took effect, or the week a release made things worse, without waiting for the next 28-day window to close.
More in Core Web Vitals
Put your SEO content on autopilot
Connect Search Console and your site. AutoPSEO scans it and plans the first topics right away. No credit card needed.