Core Web Vitals reporting is full of advice that technically helps and practically does nothing. Across our last twenty performance audits, eight fixes accounted for the overwhelming majority of the improvement. Here they are, in rough order of impact.
First, understand what you are measuring
- LCP (Largest Contentful Paint) — how long until the main content appears. Target under 2.5 seconds.
- CLS (Cumulative Layout Shift) — how much the page jumps around while loading. Target under 0.1.
- INP (Interaction to Next Paint) — how quickly the page responds when tapped. Target under 200ms.
Use field data from real users, not just lab scores. A Lighthouse run on a fast laptop tells you very little about a mid-range Android phone on a congested network, which is what most of your traffic actually is.
The eight fixes that mattered
- Serve the LCP image in a modern format at the right size, and never lazy-load it. Lazy-loading the hero image is the single most common self-inflicted LCP wound we find.
- Set explicit width and height on every image and reserve space for ad and embed slots. This alone usually fixes CLS outright.
- Preconnect to font origins and use font-display: swap. Then subset the font — most sites ship weights they never use.
- Move third-party scripts to defer or load them on interaction. Analytics, chat widgets and tag managers are usually the largest INP contributors.
- Inline critical CSS for above-the-fold content and load the rest asynchronously.
- Break up long JavaScript tasks. Anything over 50ms blocks the main thread and shows up directly in INP.
- Enable compression and sensible cache headers at the CDN. Free, and frequently misconfigured.
- Cut unused JavaScript. The median site ships two to three times what it executes.
What consistently did not help
Micro-optimising CSS selectors, obsessing over the exact Lighthouse number, and switching frameworks. We have seen teams spend a quarter on a rewrite that a properly sized hero image and three deferred scripts would have beaten in an afternoon.
Keep it from regressing
Performance is not a project. Without a budget enforced in CI, every site regresses within two release cycles.
Set a performance budget, enforce it in your pipeline, and fail the build when a bundle crosses the threshold. Pair that with real-user monitoring so you learn about regressions from your data rather than from a customer complaint.
Frequently Asked Questions
Cost depends on scope, integrations and compliance requirements. A business website typically starts around ₹60,000, a mobile app around ₹4,00,000, and a custom ERP from ₹8,00,000. We provide a fixed, milestone-based quote after a free consultation so there are no surprises mid-project.
A marketing website ships in 3–5 weeks. Mobile apps and custom web applications typically run 8–16 weeks. ERP and AI platforms usually take 12–24 weeks depending on module count. You receive a milestone plan with dates before development begins.
Our core stack is Laravel, PHP, Node.js, React, Next.js, Vue and WordPress for web; Flutter and React Native for mobile; Python, LangChain and OpenAI for AI; and AWS with Docker for infrastructure. We recommend the stack that fits your team and budget, not the one we happen to prefer.
