Google has three grades your website gets automatically, whether you like it or not. They're called Core Web Vitals, and if you fail any one of them, Google quietly hands your ranking to a faster competitor. Here's what each grade actually measures, what a passing score looks like, and how to fix a failing site in a weekend.
Core Web Vitals are three specific measurements Google takes on every page of your website:
Each one is a specific number, with a specific passing threshold. Google tracks them for every real visitor to your site (not lab tests — actual humans) and rolls them into your search ranking. If your site is slow, twitchy, or jumpy, you rank lower. It's that simple.
What it measures: How many seconds it takes for the biggest visible element on the page to finish loading. Usually that's your header photo, hero image, or main headline.
Passing score: Under 2.5 seconds. Between 2.5 and 4.0 is "needs improvement." Over 4.0 is a fail.
Why it matters: LCP is Google's way of asking "does this page feel fast to the person visiting it?" A blank white screen for 5 seconds is a page you'll bounce from before you even see it.
Most common causes of a bad LCP:
What it measures: When someone clicks a button, taps a link, or types in a form, how many milliseconds until the page visibly responds? INP is the successor to the old FID (First Input Delay) metric and it's much stricter — it measures every interaction, not just the first one.
Passing score: Under 200 milliseconds. Between 200 and 500 is "needs improvement." Over 500 is a fail.
Why it matters: A page that looks loaded but doesn't respond when you tap it is worse than a page that's still loading. Users assume it's broken and leave.
Most common causes of a bad INP:
What it measures: How much the page jumps around after it starts loading. You've felt this before — you're about to tap "Add to Cart" and an ad loads and pushes it down and you tap something else instead. That's a layout shift.
Passing score: Under 0.1. Between 0.1 and 0.25 is "needs improvement." Over 0.25 is a fail.
Why it matters: Layout shift is the single most infuriating page-load bug. It makes people misclick, back out, and never return.
Most common causes of a bad CLS:
width and height attributes in the HTML (the browser doesn't know how much space to reserve)Two tools, both free:
pagespeed.web.dev) — type in any URL, get all three scores plus a full performance breakdown. This is the tool Google itself uses.The PageSpeed Insights tool tests one URL at a time. Search Console shows you which URLs are failing across the whole site — usually much more useful.
If you've never worked on Core Web Vitals before and your scores are red, do these five things in order. Most sites go from failing to passing after just these:
Every image on your site should be either WebP or AVIF format and under 300KB. Free tools: Squoosh.app (drag-and-drop), or a WordPress plugin like Smush or ShortPixel.
Every <img> tag needs a width and height attribute so the browser can reserve space. This alone can slash your CLS in half.
Every plugin adds JavaScript. Every JavaScript file has to be downloaded and parsed. Go through your plugin list and remove anything you're not actively using. If you have 40+ plugins, you have a problem.
Loading fonts from fonts.googleapis.com is slow and privacy-hostile. Download the WOFF2 files, host them on your own server, and reference them locally. Google Web Fonts Helper (gwfh.mranftl.com) generates the exact code for you.
Cloudflare's free tier gives you a global CDN, page caching, and image optimization out of the box. WP Rocket or LiteSpeed Cache handle the WordPress side. This one change often improves LCP by 40-60%.
There are hundreds of "SEO tips" for Core Web Vitals. Most are noise. Do not spend your Saturday on:
The five items in the playbook above will get 80% of the results with 20% of the effort. Do them first, retest, and only dig deeper if you're still failing.
We audited a pediatric therapy clinic in DFW earlier this year. Baseline scores: LCP 4.8s, INP 620ms, CLS 0.31. All three failing badly. Their site was on WordPress with 34 plugins and a 6MB hero image.
After one weekend of the playbook above (image compression, WebP conversion, killing 11 unused plugins, self-hosting fonts, enabling Cloudflare caching), their scores dropped to LCP 1.9s, INP 180ms, CLS 0.06. All three passing. Organic traffic climbed 34% over the next 6 weeks with zero content changes.
That's the power of Core Web Vitals. Fix them once, benefit forever.
Want to see your Core Web Vitals right now? The VPSEO Free Website Health Checkup pulls live Lighthouse scores for LCP, INP, and CLS — along with plain-English explanations of what to fix first.
Related reading: 5 Free SEO Fixes You Can Do Today · Why Your Meta Description Is Killing Your CTR · GEO Explained — How AI Search Actually Works
Free Website Health Checkup. Pick any 6 of 30 diagnostics. Real report in under 60 seconds.
Start My Free Scan →