Blog — March 22, 2026

What Are Core Web Vitals?

Core Web Vitals are three metrics Google uses to measure your website's loading experience — and they directly affect your search rankings. They measure how fast your main content appears (LCP), whether the page shifts around while loading (CLS), and how long the page is unresponsive to clicks (TBT). Most business websites fail all three.

The Three Metrics

LCP — Largest Contentful Paint

How long it takes for the largest visible element (usually a hero image or heading) to finish loading. This is what users perceive as "the page loaded."

Good
< 2.5s
Needs Work
2.5–4.0s
Poor
> 4.0s

CLS — Cumulative Layout Shift

How much the page content jumps around while loading. If you've ever tried to click a button and the page shifted so you clicked an ad instead — that's layout shift. CLS measures it.

Good
< 0.1
Needs Work
0.1–0.25
Poor
> 0.25

TBT — Total Blocking Time

How long the page is frozen and unresponsive while JavaScript executes. During this time, clicks and taps do nothing. Users think the site is broken.

Good
< 200ms
Needs Work
200–600ms
Poor
> 600ms

Why Google Cares About This

Google's mission is to deliver the best results. If two pages have equally relevant content but one loads in 1 second and the other loads in 5 seconds, Google sends users to the fast one. They confirmed this in their Page Experience update — Core Web Vitals are now explicit ranking signals.

This means your site's speed isn't just a user experience issue. It's a ranking issue. A slow site with great content will lose to a fast site with good content.

What Most Business Sites Score

We've audited hundreds of small business websites. Here's the reality:

WordPress with a theme and plugins: LCP 3-6 seconds, CLS 0.15-0.4, TBT 800-2000ms. Fails all three metrics.

Wix or Squarespace: LCP 2.5-4 seconds, CLS 0.1-0.3, TBT 400-1200ms. Marginal at best.

Hand-coded: LCP 0.5-1.5 seconds, CLS 0, TBT under 50ms. Passes everything with room to spare.

Our benchmark: Primal Sounds — LCP 735ms, CLS 0, TBT 8ms. 99/99 on GTmetrix. That's what hand-coded looks like. It ranked #1 on Google for 5+ keywords in 28 days.

How to Fix Your Core Web Vitals

Fix LCP

Optimize your largest above-the-fold image (WebP format, proper sizing). Eliminate render-blocking CSS and JavaScript. Preload critical fonts. Use a fast server or CDN. The single biggest LCP fix is usually removing the WordPress theme's massive stylesheet.

Fix CLS

Add width and height attributes to every image. Don't inject content above existing content after page load. Reserve space for ads and embeds. Don't use web fonts that cause text to reflow — use font-display: optional or preload them.

Fix TBT

Remove unused JavaScript. Defer non-critical scripts. Break long tasks into smaller chunks. Or — the nuclear option — ditch the framework entirely and write clean, minimal code. A hand-coded site has near-zero TBT because there's no unnecessary JavaScript to execute.

FAQ

What are Core Web Vitals?

Three Google metrics measuring your site's loading experience: LCP (how fast the main content loads), CLS (visual stability), and TBT (responsiveness). Google uses them as direct ranking factors.

What is a good LCP score?

Under 2.5 seconds is good. Under 1 second is excellent. Most WordPress sites are 3-6 seconds. Hand-coded sites typically achieve 0.5-1.5 seconds.

What is a good CLS score?

Under 0.1 is good. 0 is perfect and achievable with properly coded sites that specify image dimensions and avoid late-loading content shifts.

Do Core Web Vitals actually affect rankings?

Yes. Google confirmed Core Web Vitals are ranking signals in their Page Experience update. Sites that pass all three metrics rank higher than sites that fail them, all else being equal.

Failing Core Web Vitals?

We'll audit your site for free and show you exactly what's wrong. Or we'll rebuild your homepage from scratch — Loom walkthrough in 48 hours.

Get Your Free Audit