If you’ve ever run your site through Google PageSpeed Insights and gotten a score that made you wince, you’re not alone. Speed scores can feel arbitrary, but they’re built on real metrics that affect how visitors experience your site and how Google evaluates it for search.
Table of Contents
- Quick Answer
- How Speed Scores and Core Web Vitals Actually Work
- Steps to Improve Your Score
- Tips and Common Mistakes
- website speed score FAQs
- Build It With GTStudios
This guide breaks down what actually counts as a ‘good’ score, how the underlying Core Web Vitals metrics work, and the concrete steps that move the needle — not just theory, but the fixes that tend to have the biggest impact.
Quick Answer
A good website speed score is generally 90-100 (green) on Google PageSpeed Insights, paired with passing Core Web Vitals: Largest Contentful Paint (LCP) at or under 2.5 seconds, Interaction to Next Paint (INP) at or under 200 milliseconds, and Cumulative Layout Shift (CLS) at or under 0.1. Scores in the 50-89 range are labeled ‘needs improvement,’ and anything under 50 is considered poor.
How Speed Scores and Core Web Vitals Actually Work
PageSpeed Insights (free at pagespeed.web.dev) gives you two kinds of data. The performance score (0-100) comes from ‘lab data’ — a simulated test run in a controlled environment using the Lighthouse tool. The Core Web Vitals section below it comes from ‘field data’ — real measurements from actual visitors, pulled from Google’s Chrome User Experience Report (CrUX), when enough traffic data exists for your site.
This distinction matters: your lab score can look great while your field data (what real users on real devices and networks experience) tells a different story, or vice versa. Google’s search ranking systems rely on the field data, specifically the three Core Web Vitals metrics, not the lab score. So if you only chase a high PageSpeed number without checking the Core Web Vitals report in Google Search Console, you could be optimizing the wrong thing.
The three Core Web Vitals each measure something different. LCP measures how long it takes the largest visible element (usually a hero image or headline) to render — this is your loading speed. INP measures how quickly the page responds after a visitor clicks, taps, or types anywhere during the session — this is responsiveness. CLS measures how much visible content unexpectedly shifts around while the page loads — this is visual stability. Google evaluates all three at the 75th percentile of page visits, meaning at least 75% of visits need to hit the ‘good’ threshold for the site to pass overall.
Steps to Improve Your Score
Start by running your site through PageSpeed Insights and noting both the lab score and the field data (if available) for LCP, INP, and CLS. Also check the Core Web Vitals report in Google Search Console, which shows trends across your whole site rather than a single page.
To improve LCP, compress and resize images before uploading (tools like Squoosh or built-in WordPress plugins help), serve images in modern formats like WebP or AVIF, use a content delivery network (CDN) to cut latency, and make sure your hosting isn’t the bottleneck — cheap shared hosting is a common culprit. Preloading your largest above-the-fold image and eliminating render-blocking CSS/JavaScript also helps.
To improve INP, reduce or defer JavaScript that isn’t needed immediately, break up long-running scripts (third-party ads, chat widgets, and analytics tags are frequent offenders), and audit browser extensions or plugins that inject heavy scripts into every page. Minimizing third-party code is usually the highest-leverage fix here.
To improve CLS, always set explicit width and height attributes (or aspect-ratio in CSS) on images, videos, and embeds so the browser reserves space before they load. Avoid inserting ads, banners, or dynamic content above existing content without reserving space, and load custom fonts in a way that avoids text ‘jumping’ once they arrive (using font-display: swap along with size-matched fallback fonts).
Tips and Common Mistakes
Don’t chase a perfect 100 score obsessively — a score in the 90s with genuinely good Core Web Vitals is a strong outcome, and squeezing out the last few points often has diminishing returns compared to other priorities. Test on mobile, not just desktop; PageSpeed Insights scores mobile more strictly, and most real-world traffic skews mobile with slower connections and less processing power.
A common mistake is judging speed from a single lab test run on a fast office connection or a fast device, then being surprised when the field data (real users on real networks) looks worse. Always cross-check the Core Web Vitals field data or Search Console before declaring victory. Another mistake is installing too many ‘speed’ plugins or scripts at once — sometimes a caching or optimization plugin conflicts with another and actually slows things down, so test after each change rather than stacking several at once.
Finally, remember that hosting quality has an outsized effect. No amount of image compression fully compensates for a slow server response time (Time to First Byte), so if your TTFB is consistently high, upgrading hosting or adding a CDN is often the fastest path to a better score.
Explore more: More web development guides.
website speed score FAQs
What is a good PageSpeed Insights score?
90-100 is considered good (shown in green), 50-89 needs improvement (orange), and 0-49 is poor (red). Aim for green, but also confirm your Core Web Vitals field data passes, since that’s what affects search ranking.
Does website speed affect SEO rankings?
Yes. Google uses Core Web Vitals (LCP, INP, CLS) as part of its page experience signals for search ranking. A slow, unstable, or unresponsive page can hurt rankings, though content relevance and quality still matter more overall.
Why is my PageSpeed score different every time I test it?
Lab data from PageSpeed Insights runs a fresh simulated test each time, so results vary based on server load, network conditions during the test, and even background processes. For a more stable read on real performance, rely on the Core Web Vitals field data or Search Console trends instead of a single lab run.
What’s the difference between LCP, INP, and CLS?
LCP measures loading speed (how fast the largest visible element appears), INP measures responsiveness (how quickly the page reacts to clicks or taps), and CLS measures visual stability (how much content shifts unexpectedly while loading). A good score requires passing all three.
Build It With GTStudios
Need help with your website, app, or small-business tech? GTStudios builds web, apps, and software for small businesses. See how GTStudios can help.
Photo by Andras Vas on Unsplash.
Originally published at gtstu.com.


Top comments (0)