Skip to content
Parwaz DigitalMarketing · Web · Courses

Web Development

How to Make Your Website Load Faster: A Core Web Vitals Guide

What LCP, INP and CLS measure, how to read field and lab data, and the practical fixes that make websites load and respond faster on mobile.

Published
6 November 2026
Reading time
7 min read
By
The Parwaz Digital team

To make your website load faster in the way Google measures it, focus on the three Core Web Vitals: Largest Contentful Paint (LCP), which measures how quickly the main content appears; Interaction to Next Paint (INP), which measures how quickly the page responds to taps and clicks; and Cumulative Layout Shift (CLS), which measures how much the layout jumps around. Most fixes come down to smaller, better-prioritised images, a faster server response, less JavaScript, and reserving space for content before it loads.

This guide explains what each metric means, how to measure it properly, and the fixes that usually make the most difference. Core Web Vitals are part of how Google assesses page experience, but there is a simpler reason to care: slow, jumpy pages lose visitors, especially on mobile.

What the three metrics measure

  • LCP (Largest Contentful Paint): the time until the largest image or text block in the visible part of the page has rendered. Good is 2.5 seconds or less; poor is more than 4 seconds.
  • INP (Interaction to Next Paint): how long the page takes to visibly respond to clicks, taps and key presses throughout the visit, reported from among the slowest interactions. Good is 200 milliseconds or less; poor is more than 500 milliseconds.
  • CLS (Cumulative Layout Shift): a score for unexpected movement of content while the page is open, such as text jumping down when an image or advert loads above it. Good is 0.1 or less; poor is more than 0.25.

INP replaced First Input Delay (FID) as a Core Web Vital in March 2024. FID only measured the delay before the first interaction was handled, so a page could pass it and still feel sluggish. Any advice that still talks about FID is out of date.

How to measure: field data and lab data

There are two kinds of performance data, and mixing them up causes most of the confusion.

  • Field data comes from real Chrome users visiting your site, collected in the Chrome User Experience Report (CrUX) over the previous 28 days. This is what Google uses to assess Core Web Vitals.
  • Lab data comes from a simulated test, usually Lighthouse, on a set device and network. It is useful for debugging because it is repeatable, but it is not what your visitors actually experienced.

PageSpeed Insights shows both. The top section shows field data and whether you pass, if your site has enough traffic. The lower section is a Lighthouse lab test with a performance score and specific suggestions. A lab test cannot measure INP, because nobody interacts with the page, so Lighthouse uses Total Blocking Time as a stand-in.

Google Search Console has a Core Web Vitals report that groups your URLs as Good, Needs improvement or Poor, for mobile and desktop, based on the same field data. Use it to find which page templates have problems, then test an example URL from each group in PageSpeed Insights.

Smaller sites often lack enough traffic for field data. In that case, rely on lab tests and the Performance panel in Chrome DevTools, and consider measuring real users with Google's open-source web-vitals JavaScript library, which can send results to your analytics.

Fixing LCP: get the main content on screen sooner

First find out what your LCP element is. PageSpeed Insights names it in the diagnostics. On most business websites it is the hero image or a large headline.

Optimise and prioritise images

  1. Serve modern formats such as WebP or AVIF, compressed to a sensible quality.
  2. Resize images to the size they are displayed at, and use srcset so phones download smaller versions.
  3. Never lazy-load the LCP image. Lazy loading suits images further down the page, but on the hero image it delays the most important download.
  4. Add fetchpriority="high" to the LCP image so the browser requests it early. If the hero is a CSS background image, the browser discovers it late, so use a normal img element or preload it.
  5. Avoid sliders and carousels in the hero area. They usually load several large images and extra JavaScript before anything useful appears.

Speed up the server response

Nothing can render until the HTML arrives. A slow Time to First Byte (TTFB) pushes every other metric back.

  • Cache pages so the server is not rebuilding them for every visitor. On WordPress, a well-configured caching plugin or host-level caching makes a large difference.
  • Use a CDN to serve images, scripts and, where possible, whole pages from servers closer to your visitors. If your hosting is in the US or Europe and your customers are in Pakistan, this matters.
  • Choose hosting with enough resources for your traffic. Overcrowded shared hosting is a common bottleneck.
  • Remove redirect chains. Each extra redirect adds a round trip before the page even starts loading.

Fixing INP: make the page respond quickly

INP problems almost always come from JavaScript keeping the browser's main thread busy, so it cannot respond when someone taps.

  • Audit third-party scripts. Chat widgets, multiple tracking pixels, heatmap tools and social media embeds each add work. Remove what you do not use and delay the rest where you can.
  • Remove unused plugins and page-builder add-ons, which often load scripts on every page.
  • Break up long tasks. Any task that runs for more than 50 milliseconds blocks interactions, so developers should split heavy work into smaller chunks and yield back to the browser in between.
  • Keep event handlers light. Show visual feedback immediately, then do the heavier work afterwards.
  • Keep the DOM reasonably small. Pages with thousands of elements take longer to update after every interaction.

Use the Performance panel in Chrome DevTools, with CPU throttling turned on, and record yourself opening menus, expanding accordions and submitting forms. Long tasks show up clearly in the recording.

Fixing CLS: stop the layout from jumping

  • Set width and height attributes, or a CSS aspect-ratio, on every image and video so the browser reserves the right space before they load.
  • Reserve space for embeds, maps, adverts and iframes with a fixed minimum height.
  • Do not insert banners, cookie notices or promotional bars above existing content after the page has loaded. Overlay them instead, or reserve their space from the start.
  • Animate with CSS transform and opacity rather than properties that change layout, such as top or height.

Layout shifts that happen within 500 milliseconds of a user action, such as tapping to open a menu, do not count towards CLS. Unexpected movement is what counts.

Load fonts without hurting LCP or CLS

  • Use as few font families and weights as you can. Each one is another file to download.
  • Serve fonts in WOFF2 format, and self-host them where practical to avoid an extra connection to a third-party server.
  • Preload the one or two font files used in the first screen of content.
  • Use font-display: swap or optional so text appears immediately in a fallback font.
  • Reduce the shift when the web font swaps in by matching the fallback font's size with the size-adjust and related descriptors in @font-face.
  • Urdu Nastaliq fonts can be large files. If you use one, load only the weights you need and check its effect on LCP before and after.

If your site is built with Next.js, its built-in image and font components handle many of these steps for you, including responsive sizes, modern formats and font fallbacks.

Test for mobile networks, not your office Wi-Fi

Many visitors in Pakistan browse on mobile data using mid-range Android phones, where both the network and the processor are slower than a developer's laptop. Field data reflects this, which is why a site can feel fast in the office and still fail on mobile.

  • Test in Chrome DevTools with network and CPU throttling enabled, or on a real mid-range phone over mobile data.
  • Watch total page weight. Large images, auto-playing videos and unnecessary scripts cost more on slow connections and limited data packages.
  • Check mobile results first in PageSpeed Insights and Search Console. Mobile is usually where problems show up, and Google uses mobile-first indexing.
  • Recheck after each change. Field data covers a rolling 28 days, so expect Search Console to improve gradually rather than overnight.

Start with the pages that matter most to your business, such as the home page, service pages and landing pages for ads, and fix one metric at a time. Identify the LCP element, trim JavaScript, and reserve space for anything that loads late. These changes help your visitors first and your search visibility second, which is the right order. If you would like help diagnosing a slow site, Parwaz Digital can help.

Good to know

Questions, answered.

The performance score comes from a lab test, which varies with server load, network conditions and the test machine. Run it a few times and look at the overall trend. Give more weight to the field data at the top of the report, which reflects real visitors over 28 days.

Keep reading

More guides.

Web Development

Want this donefor your business?

Tell us what you are trying to achieve and we will recommend the right approach, a timeline, and a quote.

Available for new projects — Replies within one business day