Passing Core Web Vitals on a Budget Hosting Plan

You don't need expensive cloud hosting to have a fast website. We've got sites on modest shared hosting passing all three Core Web Vitals. Here's exactly how.

Passing Core Web Vitals on a Budget Hosting Plan

There's a common belief that a fast website needs expensive hosting. Sometimes hosting is the bottleneck, but much more often, a slow site is slow because of what's on the page, not where it's hosted.

We maintain several client sites on ordinary shared hosting that cost a few thousand rupees a year, and they pass all three Core Web Vitals on mobile. Here's the approach.

Quick refresher on the three metrics

  • LCP (Largest Contentful Paint): how quickly the main content appears. Aim for under 2.5 seconds.
  • INP (Interaction to Next Paint): how quickly the page responds when you tap or click. Aim for under 200 milliseconds.
  • CLS (Cumulative Layout Shift): how much the page jumps around while loading. Aim for under 0.1.

Server side: make the server do less

Cache the pages. On shared hosting, every uncached page request runs PHP and queries the database. Full-page caching means most visitors get a saved copy instead. On WordPress, a good caching plugin. On custom sites, a simple file cache for pages that don't change per visitor. This alone often cuts server response time from over a second to under 200 milliseconds.

Use a CDN. A free CDN plan in front of your site serves images, CSS and JavaScript from servers close to your visitors and takes load off your hosting. It's one of the best free upgrades available.

Use a current PHP version. Newer PHP versions are noticeably faster than old ones. Switching from PHP 7.4 to 8.3 or 8.4 is often a free speed boost, once compatibility is checked.

Fix slow queries. A missing database index on a large table can make one page take seconds. Your developer can check the slow query log.

Fixing LCP

  • Find out what the LCP element is (often the hero image or main heading). PageSpeed Insights tells you.
  • If it's an image, compress it, serve it in WebP or AVIF, size it correctly for mobile, and add fetchpriority="high". Never lazy load it.
  • Preload the main web font, or use system fonts for body text.
  • Remove render-blocking CSS and JavaScript from the top of the page where possible.

Fixing INP

  • Remove third-party scripts you don't need. This is almost always the biggest win.
  • Delay chat widgets, social embeds and heatmaps until the user interacts or scrolls.
  • Avoid heavy JavaScript sliders and animation libraries.

Fixing CLS

  • Set width and height on every image and video.
  • Reserve space for ads, embeds and banners before they load.
  • Don't inject content (like cookie banners or promo bars) above existing content after the page loads. Overlay it instead.
  • Use font-display: swap carefully and pick fallback fonts with similar sizing.

A real example

A local coaching centre's WordPress site on a basic shared plan was scoring in the 20s on mobile. The steps we took:

  1. Removed 14 unused plugins and two duplicate analytics scripts.
  2. Replaced a heavy slider with a single optimised hero image.
  3. Set up page caching and a free CDN.
  4. Converted all images to WebP with proper sizes.
  5. Delayed the chat widget until after the first scroll.

Mobile score went to the high 80s, and all three Core Web Vitals passed in field data after about a month. Total hosting cost: unchanged.

When hosting really is the problem

If your server response time (Time to First Byte) is consistently over a second even with caching, or your site goes down during traffic spikes, it's time to upgrade. But do the page-level work first. Otherwise you'll pay for faster hosting and still have a slow site.

Y
Written by the YPage Technologies team

We design and build websites, web applications and SaaS products for growing businesses, and share what we learn along the way.

Work with us

Ready to start your next project?

Let's talk about your website, web app or digital product.

Get in touch