AI Overview
Website speed affects conversions, bounce rates and rankings. Test it with PageSpeed Insights field and lab data, then fix the usual causes first: heavy images, too much JavaScript, third-party scripts, a slow server and missing compression or caching.
Key takeaways
- A 0.1 second faster mobile site lifted retail conversions by 8.4% in Deloitte's Milliseconds Make Millions study.
- Use PageSpeed Insights field data for real users and lab data, Lighthouse or WebPageTest to find what slows a page down.
- Good Core Web Vitals mean an LCP of 2.5 seconds or less, an INP of 200 ms or less and a CLS of 0.1 or less.
- Fix images first, then compression and caching, server response, JavaScript, third-party scripts and fonts.
- Sites get slower over time as plugins, scripts and big uploads pile up, so monitor page weight and request counts.
Summarize with AI
Opens the assistant in a new tab with a link to this post.
On this page
A slow website doesn't look broken. It loads, eventually. But every extra fraction of a second quietly costs you visitors who give up, shoppers who don't finish checkout, and rankings that slip a little at a time. And because nobody gets an error message, slow sites tend to stay slow for months.
The good news: most speed problems come from the same short list of causes, and most fixes don't need a rebuild. This guide shows why website speed matters, how to test it properly, what actually makes sites slow, and a prioritized list of fixes, plus how to stop your site getting slow again.
Why website speed matters#
Conversions. The best-known study here is Deloitte's Milliseconds Make Millions, commissioned by Google. It found that a 0.1 second improvement in mobile site speed increased conversions by 8.4% for retail sites and 10.1% for travel sites, and retail shoppers spent 9.2% more. A tenth of a second is barely noticeable, yet it moved revenue.
Visitors who stay. People leave pages that make them wait, especially on mobile. Every visitor who bounces before the page renders is one you paid to attract and lost.
Rankings. Google's ranking systems reward a good page experience, and Core Web Vitals are part of how Google measures it. Speed alone won't outrank better content, but when pages are close, a fast, stable page has an edge.
Core Web Vitals in one table#
Google measures real-user experience with three Core Web Vitals. A page passes when at least 75% of real visits meet the "good" threshold.
| Metric | What it measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| Largest Contentful Paint (LCP) | How fast the main content appears | 2.5 s or less | 2.5 s to 4 s | Over 4 s |
| Interaction to Next Paint (INP) | How fast the page reacts to taps and clicks | 200 ms or less | 200 ms to 500 ms | Over 500 ms |
| Cumulative Layout Shift (CLS) | How much the layout jumps around | 0.1 or less | 0.1 to 0.25 | Over 0.25 |
How to test your website speed#
Use more than one tool, because they measure different things.
PageSpeed Insights: lab and field data#
PageSpeed Insights shows two kinds of results, and mixing them up is the most common mistake people make with it:
- Field data ("Discover what your real users are experiencing") comes from real Chrome users over the last 28 days. This is what Google uses for Core Web Vitals. It only appears when a page or site has enough traffic.
- Lab data (the performance score from 0 to 100) comes from a single simulated load on a throttled mobile device. It's great for finding problems, but the score can move a few points between runs.
If the field data passes, your real visitors are fine, even if the lab score isn't perfect.
Lighthouse and Chrome DevTools#
Lighthouse is the engine behind PageSpeed Insights, built into Chrome DevTools. Open DevTools, go to the Lighthouse tab and run a mobile report to test pages behind a login or on staging. The Network tab, reloaded with "Disable cache" ticked, shows every file the page downloads, its size and how long it took. Sort by size to find the heaviest files in seconds.
WebPageTest#
WebPageTest lets you test from different locations, browsers and connection speeds, and its waterfall view shows exactly which request is holding up the rest. It's the best tool for answering "what is this page waiting for?"
Check page weight and requests#
Speed is closely tied to how much a page asks the browser to download. MyKavo's free Page Size Checker shows a page's HTML size, its total weight and request count, a breakdown by scripts, stylesheets, images, fonts and iframes, the split between first-party and third-party files, and the heaviest files on the page. It reads the HTML the server sends, so files loaded later by JavaScript or CSS aren't counted, and real totals are usually a bit higher.
What makes a website slow#
| Cause | Why it hurts | How to spot it |
|---|---|---|
| Heavy images | Often the biggest share of page weight; a hero image usually decides LCP | Large image files in the Network tab or Page Size Checker |
| Too much JavaScript | Has to download, parse and run before the page responds; hurts INP | Big script bundles, long tasks in Lighthouse |
| Third-party scripts | Chat widgets, pixels, heatmaps and A/B tools each add requests and work | Many scripts from other domains |
| Slow server response | Nothing can start until the HTML arrives | High Time to First Byte (TTFB) |
| No compression or caching | Files are larger than necessary and re-downloaded on every visit | Missing gzip or brotli, no Cache-Control headers |
| Web fonts | Several font files and weights block text from showing | Font files in the waterfall before text renders |
| Render-blocking CSS and JS | The browser waits for them before drawing anything | Lighthouse "render-blocking resources" |
| Layout shifts | Images, ads and banners without reserved space push content around | Poor CLS, images without width and height |
How to improve website speed: a prioritized fix list#
Work from the top. The first fixes usually deliver the biggest gains for the least effort.
1. Fix your images#
- Resize images to the size they're displayed at. A 4,000 pixel wide photo shown at 800 pixels wastes most of its bytes.
- Use modern formats like WebP or AVIF, which are usually much smaller than JPEG or PNG at the same quality.
- Lazy-load images below the fold with
loading="lazy", but never the main hero image, which should load first. - Set width and height on every image so the browser reserves space and the layout doesn't jump.
2. Turn on compression and caching#
Serve HTML, CSS and JavaScript with brotli or gzip compression, which typically shrinks text files by more than half. Send Cache-Control headers so returning visitors don't download the same files again. Most hosts and CDNs make both a single setting.
3. Speed up the server#
If TTFB is high, add page caching so the server doesn't rebuild every page for every visitor, and put a CDN in front of your site so files are served from a location near each visitor. On WordPress and other database-driven sites, slow queries and cheap shared hosting are frequent culprits.
4. Cut and defer JavaScript#
Remove scripts you don't need. Load the rest with defer or async so they don't block the page from drawing. Split large bundles so each page only loads the code it uses.
5. Trim third-party scripts#
Audit every external script: who added it, and does anyone still use it? Old A/B testing tools, ad pixels for finished campaigns and duplicate analytics tags are common. MyKavo's free Script Detector lists the scripts in a page's HTML and names common services, and our guide on how to see what scripts a website uses shows how to catch ones loaded later by a tag manager.
6. Load fonts efficiently#
Use fewer font families and weights, self-host them if you can, preload the one or two files used above the fold, and add font-display: swap so text appears immediately in a fallback font.
7. Inline critical CSS#
Put the small amount of CSS needed for the top of the page directly in the HTML, and load the rest without blocking rendering.
Quick wins for WordPress and Shopify#
WordPress
- Use a caching plugin or your host's built-in page cache.
- Deactivate and delete plugins nobody uses. Each one can add scripts and styles to every page.
- Compress images on upload, or use an image optimization plugin that converts to WebP.
- Choose a lightweight theme. Heavy page builders add a lot of CSS and JavaScript.
Shopify
- Remove apps you don't use, and check that uninstalled apps didn't leave code in your theme files.
- Use Shopify's image sizing so images are served at the right dimensions.
- Limit sliders, videos and pop-ups on the homepage.
- Keep the number of third-party tracking pixels to the ones you actually report on.
Why websites get slow again#
Speed isn't a project you finish. Sites get slower gradually, through small changes nobody thinks of as performance decisions:
- A new plugin or app adds its own scripts to every page.
- Marketing adds a pixel or chat widget through the tag manager.
- Someone uploads a 6 MB photo straight from a phone.
- A theme update ships a larger CSS or JavaScript bundle.
None of these break anything, so they don't get noticed until someone runs a speed test months later. That's why a one-off audit, like the speed section of a website audit, works best alongside monitoring.
MyKavo loads the pages you monitor in a real browser on every scan and compares each scan with an approved baseline. It flags a page weight increase of more than 20%, raising it to high severity when the page grows by more than 50% and at least 250 KB, and it flags a request count increase of more than 25%. Big jumps in server response time are flagged too, as a signal to confirm across scans. It also alerts you when a new third-party script appears. So when a plugin update adds 800 KB to your homepage, it shows up after the next scan, with the before and after numbers, not months later.
Frequently asked questions
How do I check my website speed?
Run your page through PageSpeed Insights for real-user Core Web Vitals and a lab report, then use Chrome DevTools or WebPageTest to see exactly which files slow it down. A page size checker shows how heavy the page is.
What is a good page load time?
Aim for a Largest Contentful Paint of 2.5 seconds or less for at least 75% of real visits, plus an INP of 200 milliseconds or less and a CLS of 0.1 or less.
Does website speed affect SEO?
Yes, as part of page experience. Google's ranking systems reward good page experience, including Core Web Vitals, though relevant, helpful content still matters more.
What slows down a website the most?
Usually oversized images, too much JavaScript, third-party scripts, a slow server response, and missing compression or caching.
Why is my PageSpeed score different every time?
The score comes from a single simulated lab test, which varies slightly between runs. The field data from real users is more stable and is what Google uses for Core Web Vitals.
How can I stop my website getting slower over time?
Review new plugins, apps and scripts before adding them, optimize every image you upload, and monitor page weight and request counts so regressions are caught after a change, not months later.
The bottom line#
Website speed affects conversions, bounce rates and rankings, and most of it comes down to a few causes: heavy images, too much JavaScript, third-party scripts, a slow server and missing compression or caching. Test with field and lab data, fix from the top of the list, and keep an eye on page weight so new plugins and scripts don't quietly undo your work.
Check how heavy any page is with the free Page Size Checker, then start free with MyKavo to get alerted when a page gets heavier or picks up new scripts.
Get alerted when your site breaks. Free, no card.
Start free