SEO

Core Web Vitals: Fixing LCP, INP and CLS in Practice

Practical Core Web Vitals optimisation: measure and improve LCP, INP and CLS, prioritise fixes, and verify results with real-user data.

Published 19 May 2026 · 6 min read · Target keyword: Core Web Vitals optimisation

Core Web Vitals optimisation means making your main content appear sooner, keeping interactions responsive and stopping unexpected layout movement. Start with real-user data, identify which templates fail, then fix the specific image, script or layout behaviour responsible rather than chasing a perfect performance score.

A good experience targets Largest Contentful Paint (LCP) of 2.5 seconds or less, Interaction to Next Paint (INP) of 200 milliseconds or less, and Cumulative Layout Shift (CLS) of 0.1 or less. Assess these at the 75th percentile, separately for mobile and desktop.

1. Establish a baseline before changing code

Use Google Search Console’s Core Web Vitals report to find affected URL groups. Then inspect representative pages in PageSpeed Insights. Its real-user section describes actual visitor experiences where sufficient data exists; its Lighthouse section is a controlled diagnostic test. These are different measurements, so their results will not always agree.

Choose five representative pages: the homepage, a service page, a category page, a product or detailed content page, and a high-traffic landing page. For each, record:

  • Mobile and desktop LCP, INP and CLS, where available.
  • Whether field data applies to the specific URL or the whole origin.
  • The LCP element, such as a hero image or heading.
  • Scripts, requests and layout shifts visible in a browser performance trace.
  • The business action affected, such as submitting an enquiry or adding to basket.

Test from conditions resembling your audience. An Islamabad business serving Pakistan should not rely solely on a fast office connection. Include a mid-range Android device and throttled mobile connectivity. For UK, USA or UAE audiences, also check response times from those regions.

If field data is unavailable, use repeatable lab tests and consider privacy-conscious real-user monitoring. Missing data is not proof that a page passes.

2. Fix LCP by accelerating the actual main element

LCP measures when the largest eligible image or text block becomes visible within the viewport. Break the delay into server response, resource discovery, resource download and rendering. Each requires a different fix.

Reduce server and delivery delays

Check time to first byte before compressing every image. Slow hosting, uncached page generation, database queries and redirect chains can delay everything. Cache public pages where appropriate, investigate backend bottlenecks and use a content delivery network for geographically dispersed visitors.

Keep account, basket and personalised pages out of shared caches unless their behaviour is explicitly supported. Faster delivery is not worth exposing customer information.

Make the LCP image discoverable and appropriately sized

  • Place the main image in the initial HTML instead of injecting it through JavaScript.
  • Do not lazy-load an above-the-fold LCP image.
  • Use responsive image sources so phones do not download desktop-sized assets.
  • Serve compressed WebP or AVIF where suitable, checking visual quality.
  • Consider fetchpriority="high" for the confirmed LCP image, not every image.
  • Use preload selectively when an important resource is otherwise discovered late.

For example, a Lahore property page might deliver a 2,400-pixel banner to a 390-pixel-wide phone. Supplying a suitable responsive version can reduce transfer size, but the result still depends on server speed and rendering work.

If text is the LCP element, investigate render-blocking stylesheets and font loading. Use sensible fallback fonts and avoid hiding essential content while waiting for a custom typeface.

3. Improve INP by shortening interaction work

INP evaluates responsiveness across page interactions, including clicks, taps and keyboard input. A page can load quickly yet feel slow when a menu opens, a filter changes or a form validates.

Reproduce actual journeys in Chrome DevTools: open navigation, choose a product variation, apply filters and submit a form with missing fields. Inspect the slow interaction’s input delay, processing time and presentation delay.

  1. Find main-thread congestion. Look for long tasks, especially those exceeding 50 milliseconds. Identify the scripts responsible rather than removing code indiscriminately.
  2. Split expensive work. Break large calculations or rendering operations into smaller tasks and yield between them so the browser can respond.
  3. Reduce interaction-triggered rendering. Avoid rebuilding entire product grids when only a price or selection state changes.
  4. Control third-party code. Audit chat widgets, advertising scripts and duplicated tracking tags. Load optional tools only when needed.
  5. Show prompt feedback. Display a loading or selected state before starting non-essential work, without disguising failed actions.

A Lahore retailer’s category filter might freeze because it processes hundreds of products in the browser. Pagination, smaller rendering updates or server-side filtering may help more than another caching plugin.

Lighthouse’s Total Blocking Time can reveal related main-thread problems, but it is not an INP measurement. Validate responsiveness through interaction testing and field data.

4. Prevent CLS by reserving space before content arrives

CLS tracks unexpected movement of visible page elements. Common causes include images without dimensions, advertisements inserted above existing content, font swaps and late-loading banners.

  • Define image dimensions. Provide width and height attributes or a suitable aspect ratio so the browser reserves space.
  • Reserve widget space. Give maps, video embeds, reviews and advertising slots predictable containers across breakpoints.
  • Stabilise banners. Avoid inserting a promotion above the header after the visitor starts reading.
  • Match fallback fonts. Choose compatible metrics and test whether the final font changes line wrapping.
  • Animate safely. Prefer transform and opacity where appropriate instead of repeatedly changing layout dimensions.

Record a performance trace while scrolling and waiting for delayed components. Do not inspect only the first screen: shifts can happen later when recommendations or embedded content load.

Some shifts shortly after qualifying user input are excluded from CLS, but delayed responses can still count. Interfaces should remain stable regardless of that exclusion.

5. Prioritise fixes and verify the release

A practical Core Web Vitals optimisation backlog ranks work by affected traffic, business importance, severity and implementation effort. Fixing one shared product template can benefit many URLs, whereas polishing an isolated low-traffic page may have little impact.

Agree a defined scope rather than purchasing vague “speed improvement”. Deliverables should include a baseline, diagnosed causes, implementation ownership and regression checks. Review technical SEO support at /services-technical-seo and package options at /seo-packages against those requirements.

For budgeting, request estimates in PKR for Pakistan-based work, or USD, GBP or AED where relevant. Separate diagnostic costs from development and hosting changes.

  1. Test changes on staging and confirm forms, checkout, analytics and consent controls still work.
  2. Repeat lab tests under identical conditions, using several runs rather than one result.
  3. Deploy with a rollback plan and monitor errors alongside performance.
  4. Track real-user results over time. Chrome UX Report data uses a rolling 28-day window, so improvements are not reflected fully overnight.

Core Web Vitals optimisation supports usability and search performance, but it cannot replace relevant content, crawlability or a competitive offer. Track enquiries, purchases and completion rates alongside the metrics.

Frequently asked questions

Does a Lighthouse score of 100 mean my site passes?

No. Lighthouse is a lab assessment. A Core Web Vitals pass depends on real-user LCP, INP and CLS meeting their thresholds at the 75th percentile.

Can a WordPress caching plugin fix all three metrics?

No. Caching can improve delivery, but interaction delays and layout shifts often require changes to themes, scripts, fonts or component behaviour.

How soon can I confirm an improvement?

Lab checks can show changes immediately. Real-user monitoring can reveal early trends, while the rolling 28-day reporting window needs time to reflect the release fully.

Request a free SEO analysis from SEOISB at /request-a-free-seo-analysis. Based in Blue Area, Islamabad, SEOISB is part of HA Technologies and serves businesses in Pakistan, the USA, the UK and the UAE.

Keep reading

All articles →

Want to know exactly why you are not ranking?

We will audit your site, your top three competitors and your current keyword coverage, then send you a prioritised action list. No obligation, no sales script.