Core Web Vitals have been a ranking factor since 2021, but the metric set has not stayed static. The replacement of FID with INP in March 2024 was the most significant structural change, and the practical implications for Indian websites are still not fully understood by most teams. India-specific challenges — slower devices, variable 4G quality, shared hosting TTFB — make passing CWV harder here than for comparable European or US sites. This guide explains the current state of CWV in 2026, what the thresholds actually mean in practice, and where Indian teams should spend their optimisation time first.
The Three Metrics: Current Thresholds and What They Measure
LCP — Largest Contentful Paint (target: under 2.5 seconds)
LCP measures when the largest visible content element in the viewport finishes rendering. In practice, this is almost always either a hero image or a large above-the-fold text block. The Good threshold is under 2.5 seconds; Needs Improvement is 2.5–4.0 seconds; Poor is above 4.0 seconds. These are 75th percentile measurements from real users in Chrome — meaning 75% of your visitors must experience LCP under 2.5 seconds for a page to pass.
For Indian sites, achieving sub-2.5 second LCP is harder than the threshold suggests, because the 75th percentile includes visitors on slower connections and lower-end devices. A site that loads in 1.8 seconds for a Jio 4G user in Kochi may load in 3.5 seconds for a BSNL 3G user in rural Kerala — and both count toward the CrUX field data average.
INP — Interaction to Next Paint (target: under 200 milliseconds)
INP replaced First Input Delay (FID) as a Core Web Vital in March 2024. Where FID measured only the delay before processing the first user interaction, INP measures the full latency of all interactions throughout a page visit — tap, click, or keyboard input — and reports the worst one observed. This makes INP significantly harder to pass than FID was, particularly for JavaScript-heavy sites.
Good INP is under 200ms. Needs Improvement is 200–500ms. Poor is above 500ms. The critical distinction: FID only counted the waiting time before the browser began processing an interaction. INP measures the full time from interaction to visual response — including the processing time and the rendering update. A button click that triggers a 300ms database query and then re-renders a component could have FID of 10ms (browser responded fast to the initial event) but INP of 350ms (the visual update took 350ms to appear).
On mid-range Android devices common in India — the Redmi Note series, Samsung Galaxy A-series, Vivo Y-series — JavaScript execution is 3x to 6x slower than on flagship devices. This alone pushes many sites from Good INP on a lab device to Poor INP in the real-world field data that Google uses for rankings.
CLS — Cumulative Layout Shift (target: under 0.1)
CLS measures the sum of unexpected layout shifts during a page's life. Good is under 0.1; Needs Improvement is 0.1–0.25; Poor is above 0.25. Images without explicit dimensions, web fonts that swap in and shift surrounding text, dynamically injected banners and cookie consent bars, and late-loading ad units are the primary CLS sources on most Indian SME websites. CLS is generally the easiest CWV to fix once you know the cause, and it has the clearest direct user experience impact — content jumping around mid-read is genuinely disruptive.
Why Indian Sites Struggle: The Structural Challenges
Passing CWV for a global audience and passing it for an Indian audience are different problems. Three factors create a harder baseline for India.
Device CPU performance. India's smartphone market is dominated by sub-₹20,000 Android devices. A Redmi Note 13 has roughly one-third the JavaScript execution speed of an iPhone 15 or a Samsung Galaxy S24. CWV field data reflects your actual visitor devices — if most of your visitors are on mid-range Androids, your INP field data will be much worse than your PageSpeed Insights lab score (which runs on a Google-controlled device).
Server location and TTFB. A large proportion of Indian business websites are hosted on servers in Singapore (DigitalOcean, AWS ap-southeast-1), the US, or the UK. Round-trip time from a user in Trivandrum to a Singapore server is approximately 50–80ms; to a US East server, it is 180–220ms. This TTFB directly inflates LCP because the browser cannot start loading the hero image until the initial HTML arrives. Moving to a Mumbai-located server or enabling CDN edge caching near Indian users can cut TTFB by 60% or more.
Network quality variance. Jio 4G is fast, but network quality in India varies dramatically by location and congestion. Tier-2 city users on shared BSNL or Airtel connections, rural users on 3G fallback, and urban users in crowded areas experiencing network congestion all see different effective bandwidth. Your CWV field data aggregates across all of these. Optimising for the 75th percentile means optimising for your slower users, not your fastest.
How to Measure CWV Correctly for Indian Traffic
There is a critical distinction between lab data and field data that many Indian web teams get wrong. PageSpeed Insights shows both — the lab section (Lighthouse) at the top, and the field data section (CrUX) below it. Rankings are based on field data, not lab data. A page that scores 95 on PageSpeed Insights can still fail CWV in field data if real visitors use slower devices and connections than the lab simulation.
Google Search Console CWV report: The most important source. It shows which URLs are failing, failing, or passing based on real Chrome user data, grouped by mobile and desktop. Filter to mobile — for most Indian businesses, mobile is where 80%+ of traffic arrives and where failures are most common. The report has a 28-day rolling window and a 25-user minimum threshold before showing data for a URL.
PageSpeed Insights field data section: Shows origin-level CrUX data (your entire domain's aggregate) at the top. Useful for a quick status check, but use Search Console for URL-level detail. If the CrUX section shows "No data available", your URL does not have enough Chrome user visits in the dataset — this is common for lower-traffic pages.
CrUX Dashboard in Looker Studio: A free Google template that visualises your CrUX data over time. Connect it to your domain to track monthly CWV trends, see which pages are improving, and monitor regressions after deployments. Valuable for reporting to clients or stakeholders who need trend data rather than a point-in-time score.
Top LCP Fixes for Indian Sites
Preload the hero image. Add <link rel="preload" as="image" href="/hero.webp" fetchpriority="high"> to the document head. This tells the browser to fetch the LCP image before it discovers it through normal HTML parsing. This single change commonly reduces LCP by 300–700ms on sites where the hero image was previously competing with CSS and script resources for bandwidth.
Serve images in WebP or AVIF. WebP files are 25–35% smaller than JPEG at comparable quality. AVIF is 50% smaller than JPEG, though browser support is slightly lower (currently 96% globally). Smaller image files = faster download on constrained connections. For Kerala SME websites still serving 1.5MB PNG hero images, converting to WebP alone often halves LCP time.
Move to a server closer to India. If you are currently hosted in the US or Singapore, migrating to a Mumbai-region server (AWS ap-south-1, DigitalOcean Bangalore, Google Cloud asia-south1) can reduce TTFB from 250ms to 80ms for Indian visitors. Alternatively, adding Cloudflare as a CDN in front of your existing host routes visitors through Cloudflare's Mumbai or Chennai edge nodes, achieving similar TTFB reductions without migrating your server.
Eliminate render-blocking resources. CSS files in the <head> block rendering until they fully download. Inline critical CSS (the styles needed for above-the-fold content) in a <style> tag and load remaining CSS with media="print" onload="this.media='all'". The Autoptimize plugin for WordPress and the Critical npm package for static sites automate this extraction.
Top INP Fixes for Indian Sites
INP is where most Indian sites fail and where the fixes require deeper JavaScript analysis.
Identify the worst interaction with Chrome DevTools. Open DevTools, go to the Performance panel, click Record, perform the interaction that feels slow (usually a button click or menu open), stop recording. Look for "Long Tasks" — tasks over 50ms on the main thread. These are your INP culprits. The Call Tree tab in the recording shows exactly which JavaScript functions are consuming the most time.
Defer non-critical JavaScript. Every script that runs on the main thread during an interaction competes with your interaction handler for main thread time. Move analytics, chat widget initialisation, and social embed loading to after the first user interaction or use the requestIdleCallback API to schedule them during browser idle time. The WP Rocket "Load JS Deferred" option automates this for WordPress sites.
Use Web Workers for heavy computation. JavaScript inside a Web Worker runs on a separate thread from the main thread, meaning it cannot block user interactions. If your site does client-side filtering, search, or data processing that is triggered by user input, moving that logic to a Web Worker can eliminate the INP contribution of that computation entirely. The Comlink library simplifies Web Worker communication.
Break up long synchronous tasks. A single function that runs 800ms of synchronous JavaScript will block all user interactions for that duration. Break it into smaller chunks using setTimeout(fn, 0) or the newer scheduler.yield() API (currently available in Chrome and Edge). This yields control back to the browser between chunks, allowing interaction events to be processed.
Top CLS Fixes for Indian Sites
Set explicit width and height on all images. Every <img> tag needs width and height attributes matching the image's intrinsic dimensions. The browser uses these to reserve space in the layout before the image loads. Without them, the layout shifts when the image arrives. For responsive images that scale with CSS, the attribute values do not need to match display size exactly — the browser calculates the aspect ratio from the attributes and reserves proportional space.
Use font-display: optional or swap with size-adjust. Web fonts cause CLS when text is initially rendered in the fallback font, then jumps position when the web font loads. font-display: optional only uses the web font if it is already cached, falling back to the system font otherwise — this eliminates font CLS entirely. If you need the brand font to display on first visit, use font-display: swap combined with the CSS size-adjust property to make the fallback font's metrics match the web font as closely as possible.
Reserve space for dynamic content. Cookie consent banners, newsletter subscription bars, and notification toasts that inject into the layout without reserved space cause CLS. Either pre-reserve the space in CSS (height with a placeholder background) or position dynamic elements using position: fixed or position: absolute so they do not affect the document flow.
Hosting Choices That Affect CWV Scores in India
For WordPress and PHP-based sites targeting Indian audiences, hosting choice directly determines TTFB, which directly affects LCP. Here is an honest comparison of the main options available to Indian businesses.
Hostinger India (Mumbai): Good TTFB for Indian visitors at ₹150–400/month. Performance on the Business plan is solid for sites under 50,000 monthly visits. Limitation: shared hosting environment means performance varies with other tenants on the server. A good entry-level option for Kerala SME websites.
DigitalOcean Bangalore (via Cloudways): The best balance of performance and manageability for Indian SME sites at ₹1,500–3,000/month. Cloudways manages server configuration, PHP-FPM settings, Redis object caching, and Nginx rules. TTFB from Indian cities is consistently 40–80ms. Recommended for WooCommerce sites and high-traffic WordPress sites where CWV scores directly affect revenue.
Cloudflare CDN in front of any origin: Even if your origin server is in Singapore, routing through Cloudflare's Indian edge nodes (Mumbai, Chennai, Hyderabad, Kolkata) reduces the perceived TTFB for Indian visitors by 50–70%. Cloudflare's free plan handles this caching, making it a zero-cost improvement for most static resources.
Vercel / Netlify: For Next.js and static sites, these platforms serve from edge nodes globally including Mumbai and Singapore. TTFB for Indian visitors is typically under 50ms for cached pages. The automatic edge distribution eliminates the hosting-location question entirely for front-end applications.
Frequently Asked Questions
Why do Indian websites score worse on Core Web Vitals than European or US sites?
Three structural factors drive the gap. First, Indian mobile users predominantly use mid-range Android devices with slower CPUs. Second, many Indian businesses host on servers in Singapore or the US, adding 80 to 150ms of TTFB compared to a Mumbai-hosted server. Third, Indian mobile networks, while broadly 4G, have higher latency and more packet loss than comparable European networks, particularly in tier-2 and tier-3 cities. Passing CWV for Indian audiences requires optimising for these constraints, not for the ideal lab conditions that PageSpeed Insights defaults to.
What is INP and how is it different from the FID it replaced?
FID measured only the delay before the browser could start processing the very first user interaction on a page. INP is broader: it measures the latency of all interactions throughout the entire page visit and reports the worst-performing interaction. A site could pass FID by not blocking the main thread during initial load, but still fail INP if a button click later in the session triggers heavy JavaScript processing. INP under 200ms is Good; 200–500ms is Needs Improvement; above 500ms is Poor.
Does Google use lab data (PageSpeed Insights) or field data (CrUX) for rankings?
Google uses field data from the Chrome User Experience Report (CrUX) for Core Web Vitals rankings, not lab data from PageSpeed Insights. A page can score 95 on PageSpeed but fail CWV field data if real visitors use slower devices. Always check your CWV status in the Search Console Core Web Vitals report, which uses CrUX data, not the PageSpeed score.
Which Indian hosting provider gives the best Core Web Vitals scores?
For Indian audiences, server location is the primary hosting factor affecting TTFB and LCP. Hostinger India (Mumbai data centre) and DigitalOcean Bangalore deliver the lowest TTFB for Indian visitors among budget and mid-range options. Cloudways on DigitalOcean Bangalore offers managed hosting with easy caching configuration — a strong choice for WordPress sites needing CWV improvement. For highest performance, Vercel and Netlify with edge caching cover Indian traffic well from their Singapore edge nodes.