75 guides published Start a blog Fix my site How we test
HOSTING & SPEED

Core Web Vitals on Shared Hosting: What Is Actually Achievable

We may earn a commission if you buy through our links. It does not change what we recommend or what you pay. How this works.

“Upgrade your hosting” is the standard answer to a failing Core Web Vitals score, and it is only partly right. One of the three metrics is substantially host-dependent. The other two are almost entirely yours.

The short version

  • CLS is entirely your layout. Hosting is irrelevant to it.
  • INP is almost entirely your JavaScript.
  • LCP has a host-dependent component, and caching largely neutralises it.
  • A well-built site passes on shared hosting.

What the host controls

MetricHost influenceWhat actually drives it
LCPModerateTTFB, image size, render blocking, lazy-loading the hero
CLSNoneMissing image dimensions, unreserved ad slots, late-loading fonts
INPVery littleJavaScript execution on the main thread
TTFBHighServer speed, caching, PHP version, database queries

TTFB is the host-dependent part, and it feeds into LCP. Page caching largely removes it from the equation, because a cached page is served as a static file without PHP running at all.

Fix CLS first, it costs nothing

  • Set explicit width and height on every image and iframe.
  • Reserve a fixed minimum height on every advertising container. This is the single largest CLS cause on content sites.
  • Use font-display: swap with a fallback of similar metrics so the swap does not shift text.
  • Never insert content above existing content after load — cookie banners and notification bars should overlay, not push.

None of that requires a faster server, and CLS is frequently the metric a site is actually failing.

Then LCP

  1. Identify the LCP element. It is usually the hero image or the first heading.
  2. If it is an image: compress it hard, serve WebP, size it correctly, and preload it.
  3. Exclude it from lazy loading. Lazy-loading the LCP image is a common self-inflicted failure.
  4. Remove render-blocking CSS and JavaScript from the head.
  5. Enable page caching so TTFB stops contributing.

Then INP

INP measures responsiveness to interaction, which is main-thread work. The fix is almost always less JavaScript: remove plugins that load scripts site-wide for a feature used on one page, defer what can be deferred, and break up long tasks.

Where shared hosting genuinely limits you

  • Uncacheable pages. Carts, checkouts and logged-in views run PHP every time, and a slow server shows.
  • Traffic spikes. Resource limits mean a surge degrades everything.
  • Noisy neighbours. Another account consuming resources affects you.
  • Geographic distance. A server far from your readers adds latency a CDN only partly offsets.

If your site is a content site that caches well and your readers are near your server, shared hosting is not your constraint. If you run a store with many uncacheable pages, it is.

A realistic sequence

  1. Fix CLS. Costs nothing, often the failing metric.
  2. Fix images and preload the LCP element.
  3. Enable page caching and verify it serves.
  4. Remove unnecessary JavaScript.
  5. Add a CDN if your audience is geographically spread.
  6. Only then consider changing hosts.

Common questions

Is a 100 score necessary?

No. Core Web Vitals is pass or fail against thresholds. A passing site at 85 and a passing site at 100 are treated the same.

Lab or field data?

Field data is what counts. Lab tools are for diagnosis, not assessment.

Will a CDN fix a slow host?

It fixes distance, and it serves cached static assets quickly. It does not fix slow PHP on uncacheable pages.

S

Sumit

Writes everything on TechMozz.

More in Hosting & Speed