Google uses Core Web Vitals as part of how it ranks pages, and your visitors feel them on every visit. This guide explains what each of the three metrics measures, the thresholds that count, and a prioritised list of fixes for WordPress, custom PHP sites and JavaScript apps.
Core Web Vitals are three metrics: Largest Contentful Paint (LCP, loading, good at 2.5 s or less), Interaction to Next Paint (INP, responsiveness, good at 200 ms or less) and Cumulative Layout Shift (CLS, visual stability, good at 0.1 or less). You pass when at least 75% of real Chrome visits are "good" on all three. Fix server response time first, then the main image, then JavaScript and layout shifts, and judge progress by field data in Search Console, which updates over 28 days.
1. The three metrics and their thresholds
Each metric has three bands. Passing means reaching "good" on all three for at least 75% of page loads, measured by real Chrome users, not by your own laptop.
| Metric | What it measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| LCP: Largest Contentful Paint | Time until the largest element on screen is shown | 2.5 s or less | 2.5 to 4.0 s | Over 4.0 s |
| INP: Interaction to Next Paint | The slowest response to a click, tap or key press during the visit | 200 ms or less | 200 to 500 ms | Over 500 ms |
| CLS: Cumulative Layout Shift | How much the page jumps around as it loads | 0.1 or less | 0.1 to 0.25 | Over 0.25 |
LCP is usually the hardest to fix, because it depends on server speed, caching and image weight together. INP is about JavaScript discipline. CLS is mostly about reserving space for images, ads and embeds.
2. LCP: Largest Contentful Paint
What it is. The time from the start of navigation until the largest content element, usually the hero image or the main headline, is visible. It answers "how fast did the page feel loaded?" PageSpeed Insights shows which element is your LCP element.
What makes it slow, roughly in order of impact:
- Slow server response (time to first byte, TTFB). Old PHP, no page cache, slow database queries or heavy plugins all show up here. Google treats a TTFB of 0.8 s or less as good; if yours is well above that, fix it first, because everything else waits for it.
- Render-blocking CSS and JavaScript. Large stylesheets, synchronous third-party scripts and web fonts loaded without
font-display: swap. - A heavy LCP element. A 2 MB hero JPEG with no smaller versions for phones.
- Client-side rendering. Single-page apps that show a skeleton and draw the real content only after JavaScript runs.
Fix it in this order:
- Use a current PHP version.Newer PHP 8 releases are markedly faster than PHP 7. On our cPanel hosting, pick the version per site in MultiPHP Manager; see how to change PHP versions in cPanel. Test the site after switching.
- Turn on page caching.On Domain India shared hosting, which runs Apache, use WP Super Cache or W3 Total Cache for WordPress. LiteSpeed Cache needs a LiteSpeed server and won't help here.
- Consider a CDN.Cloudflare's free plan caches static files close to visitors, which helps most when your audience is spread out. See complete Cloudflare setup.
- Shrink the LCP image.Convert it to WebP or AVIF, resize it to the size it is shown at, and serve smaller versions with
srcset. - Prioritise the LCP image.Add
fetchpriority="high"to it, or preload it (example below). - Never lazy-load the LCP image.Lazy-loading the hero delays it on purpose. Lazy-load only images further down the page.
- Inline critical CSS and defer the rest.Put the CSS for the first screen in the page head and load the remaining CSS asynchronously.
- Defer non-critical JavaScript.Analytics, chat widgets and tracking pixels can load after the page is shown.
<!-- In the page head: fetch the hero image early -->
<link rel="preload" as="image" href="hero.webp" fetchpriority="high">
<!-- Load scripts that are not needed for first paint later -->
<script src="/js/chat-widget.js" defer></script>Diagnose it. In PageSpeed Insights, open the "Largest Contentful Paint element" diagnostic. In Chrome DevTools, the Performance panel marks LCP on the timeline and breaks it into time to first byte, resource load delay, load time and render delay, which tells you which fix applies.
On our cPanel servers, nginx sits in front of Apache and caches pages for up to 120 minutes, so repeat visits to a public page are often fast even when PHP is slow. To measure the uncached server time, add ?t= and any text to the address, for example https://yourdomain.com/?t=123.
3. INP: Interaction to Next Paint
What it is. INP replaced First Input Delay (FID) as a Core Web Vital in March 2024. It measures the delay from a click, tap or key press to the next visual update, across the whole visit, and reports close to the slowest one. FID measured only the first interaction; INP catches the third click on "Add to cart" or a stuttering search box too.
What makes it slow. Almost always JavaScript on the main thread: long tasks over 50 ms, heavy framework re-renders, blocking analytics and third-party widgets, and animations that force the browser to recalculate layout.
How to fix it:
- Break up long tasks. Yield to the browser between chunks of work with
scheduler.yield()where supported, orsetTimeout. - Debounce input handlers. Search-as-you-type doesn't need to run on every keystroke; wait 150 to 300 ms.
- Animate with
transformandopacity. Changingtop,left,widthormarginforces layout work. - Move heavy work to a Web Worker. Large JSON parsing, image processing and client-side search are good candidates.
- Cut unnecessary re-renders in React and similar frameworks, for example with memoisation.
- Delay third-party scripts until after the page is interactive.
Diagnose it. Record a Performance trace in Chrome DevTools while you click and type as a visitor would, then look for long tasks on the main thread. Check field data in PageSpeed Insights first, to confirm INP is actually a problem for your visitors before you spend time on it.
4. CLS: Cumulative Layout Shift
What it is. A score for unexpected movement of content while the page is in use. It has no units; Google counts the largest burst of layout shifts during the visit. 0.1 or less is good.
The five classic causes and fixes:
- Images without dimensions. Give every image
widthandheightattributes, or a CSSaspect-ratio, so the browser reserves the space. - Ads and embeds that load late. Reserve their space with a
min-heighton the container. - Web fonts swapping in. Use
font-display: swap, preload the main font, and use thesize-adjustdescriptor so the fallback font takes up the same space. - Content inserted above existing content, such as a cookie banner that pushes the article down. Use a fixed overlay, or insert it below.
- Animations that change layout properties. Use
transforminstead of animatingheight,widthormargin.
<img src="hero.webp" width="1200" height="630" alt="Product range">
<div class="ad-slot" style="min-height: 280px">
<!-- the ad script fills this space -->
</div>Diagnose it. In Chrome DevTools, open Rendering and turn on "Layout Shift Regions"; shifting areas flash as the page loads. PageSpeed Insights lists the elements that shifted most.
5. Lab data versus field data
| Type | Where you see it | What it is good for |
|---|---|---|
| Lab data | Lighthouse, the diagnostics in PageSpeed Insights | Repeatable tests for debugging a specific problem |
| Field data | Chrome UX Report (CrUX), Search Console, the top of PageSpeed Insights | What real visitors experience over the last 28 days; this is what Google uses |
A site can score 95 in Lighthouse and still fail in the field, because real visitors use slower networks and older phones than your development machine. Search Console's Core Web Vitals report is the scoreboard.
Field data is a rolling 28-day window, so a fix you ship today shows fully only after about four weeks. Don't judge a change by the next day's numbers.
6. Tools for measuring
For a hands-on checklist with more code examples, see the Web Vitals and Lighthouse optimisation checklist.
7. A prioritised fix list
For a typical WordPress site on shared hosting, this is a sensible order by effort and effect.
| Priority | Action | Mainly improves |
|---|---|---|
| First | Switch to the newest PHP 8 version your site supports | LCP (server time) |
| First | Install one page cache plugin | LCP (server time) |
| First | Put a CDN such as Cloudflare in front | LCP |
| Next | Convert images to WebP or AVIF and size them correctly | LCP |
| Next | Add width and height to every image | CLS |
| Next | Defer non-critical JavaScript; use font-display: swap | LCP and INP |
| Later | Inline critical CSS and preload the LCP image | LCP |
| Later | Remove plugins you don't need | LCP and INP |
| If still slow | Move to a larger plan or a VPS | LCP (server time) |
8. WordPress checklist
- One page cache plugin, such as WP Super Cache or W3 Total Cache, with cart, checkout and account pages excluded on a shop.
- A lightweight theme such as Astra or GeneratePress, rather than a theme with every feature switched on.
- An image optimisation plugin, such as ShortPixel or EWWW Image Optimizer, to create WebP versions.
- Delete inactive plugins; clean up expired transients, post revisions and oversized autoloaded options with care and a backup.
- Remove scripts you don't use, such as emoji support or embeds, with a small plugin or a few lines in a child theme.
9. When it's the hosting, and where Domain India fits
Signs the server side is the bottleneck:
- consistently high TTFB, even on a simple page with caching on;
- faults in cPanel's Metrics › Resource Usage at busy times;
- 503, 504 or 508 errors when traffic rises;
- a slow admin area regardless of how many plugins are active.
First find what the server is spending its time on: my website is slow walks through it, including external calls without timeouts, which a bigger plan does not fix. If your site has genuinely outgrown its plan, a larger shared plan gives it more resources, and a VPS gives you root access to tune PHP-FPM, caching and the database yourself. A Domain India VPS is self-managed.
- 50 GB NVMe SSD Storage
- 100 GB Monthly Bandwidth
- 5 Websites
- 50 Email Accounts
- 1 vCPU
- 2 GB DDR4 RAM
- 64 GB NVMe SSD Storage
- 2 TB Monthly Bandwidth
Prices on the cards are Domain India list prices and exclude 18% GST.
Frequently asked questions
Do Core Web Vitals affect Google rankings?
Yes, as one of many signals in Google's page experience assessment. Relevant, helpful content still matters most, but a slow or unstable page can lose out to an equally relevant faster one, and it loses visitors either way.
What are the good thresholds for LCP, INP and CLS?
LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, reached by at least 75% of real Chrome page loads.
How long do improvements take to show in Search Console?
Field data covers a rolling 28-day window, so a fix appears gradually and is fully reflected after about four weeks.
Is FID still a Core Web Vital?
No. Interaction to Next Paint (INP) replaced First Input Delay (FID) in March 2024. INP measures responsiveness across the whole visit, not only the first interaction.
Which matters more, lab scores or field data?
Field data. Google uses real-user data from the Chrome UX Report. Lab tools such as Lighthouse are for finding and debugging problems.
Can I pass Core Web Vitals on shared hosting?
Yes, for most content sites, with a current PHP version, page caching, optimised images and restrained JavaScript. Sites that stay slow after that, or heavy JavaScript apps, may need a larger plan or a VPS.
Which caching plugin should I use on Domain India shared hosting?
Domain India shared hosting runs the Apache web server, so use a plugin that works with Apache, such as WP Super Cache or W3 Total Cache. LiteSpeed Cache needs a LiteSpeed server.
My site passes in Lighthouse but fails in Search Console. Why?
Real visitors use slower networks and phones than your test machine. Look at the field data to see which metric fails and on which pages, usually LCP on mobile, and test with mobile throttling in DevTools.
Ready to improve your scores? Measure your key pages in PageSpeed Insights, work through the fix list above, and open a ticket if Resource Usage shows your site hitting its limits.
Current PHP versions, free SSL and a server-side cache in front of Apache, with plans that grow with your traffic.
See cPanel hosting