How to Speed Up Your Website and Improve Core Web Vitals
Page speed has been a Google ranking factor since 2010 for desktop and since 2018 for mobile. In 2021 Google introduced Core Web Vitals — three specific performance metrics that are now part of the search ranking algorithm. A slow website does not just frustrate users — it actively hurts your search rankings. Here is how to test your speed and fix the issues.
What Are Core Web Vitals?
Core Web Vitals are three user experience metrics Google uses to evaluate page performance:
- Largest Contentful Paint (LCP) — how long it takes for the main content of the page to load. Target: under 2.5 seconds
- Interaction to Next Paint (INP) — how quickly the page responds to user interactions like clicks or taps. Target: under 200 milliseconds
- Cumulative Layout Shift (CLS) — how much the page layout shifts unexpectedly while loading (e.g. images pushing text down). Target: under 0.1
Pages that pass all three thresholds are given a "Good" Core Web Vitals status in Google Search Console, which is a positive ranking signal.
How to Test Your Website Speed for Free
Use these free tools on SEO Stack Tools to assess your current performance:
- Page Speed Checker — see your overall load time and performance grade
- PageSpeed Insights Checker — pulls data from Google's own PageSpeed Insights API for your Core Web Vitals scores
- Mobile Friendly Test — check whether Google considers your pages mobile-friendly
- GZIP Compression Checker — verify whether your server is compressing files before sending them
Common Page Speed Issues and How to Fix Them
1. Images Not Optimised
Oversized images are the single most common cause of slow pages. Always compress images before uploading. Use our Image Optimizer, Compress JPEG, or Compress PNG tools to reduce file sizes without visible quality loss. Also resize images to the exact dimensions they will be displayed — uploading a 4000px wide image to display at 800px wastes significant bandwidth.
2. No Browser Caching
Browser caching stores static files on the visitor's device so they do not need to be re-downloaded on each visit. Configure cache headers in your .htaccess file. Use our Htaccess Generator to generate the correct directives.
3. GZIP Compression Disabled
GZIP compresses your HTML, CSS and JavaScript files before sending them to the browser — typically reducing transfer size by 60–80%. Check whether it is enabled using our GZIP Checker. If it is not enabled, add the appropriate directives to your .htaccess or server config.
4. Render-Blocking JavaScript and CSS
Scripts and stylesheets that load in the
block the browser from rendering the page. Minify your code using our HTML Minifier, CSS Minifier and JavaScript Minifier, and load non-critical scripts with the defer or async attributes.
5. Slow Server Response Time
If your server is slow, even a perfectly optimised page will feel sluggish. Check your server response time with our Response Time Checker. If your Time to First Byte (TTFB) is over 600ms, consider upgrading your hosting plan or switching to a faster provider.
How Fast Should Your Website Be?
As a target: your pages should fully load in under 3 seconds on mobile. For LCP specifically, aim for under 2.5 seconds. Use the PageSpeed Insights Checker monthly to track your progress and ensure that new content or plugins have not introduced regressions.
Speed optimisation is not a one-time task — it is ongoing maintenance. The faster your site, the better your rankings and the more conversions you will achieve.
Core Web Vitals: The Technical SEO Performance Signals
Google uses Core Web Vitals as ranking signals: Largest Contentful Paint (LCP) measures loading performance, Interaction to Next Paint (INP) measures interactivity responsiveness, and Cumulative Layout Shift (CLS) measures visual stability. Sites scoring Good on all three Core Web Vitals gain a modest but real ranking benefit. More importantly, improving Core Web Vitals improves actual user experience, which improves engagement metrics that Google uses as quality signals in its algorithms.
Frequently Asked Questions
What is a good Core Web Vitals score?
Google defines Good thresholds as: LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1. Needs Improvement ranges from 2.5-4.0s LCP, 200-500ms INP, and 0.1-0.25 CLS. Poor is anything above these thresholds. Aim for all three metrics in the Good range using real user data measured in Google Search Console rather than only lab-based PageSpeed Insights scores.
What causes a slow LCP score?
Common LCP causes include unoptimised hero images (too large, wrong format), render-blocking CSS and JavaScript delaying the main content paint, slow server response times (TTFB over 800ms), and missing resource hints (preload, preconnect) for critical above-the-fold assets. Images are the most common LCP element and image optimisation alone often has the biggest impact on LCP improvement.
How do I fix a high Cumulative Layout Shift score?
CLS is caused by elements that move after initial render. The most common causes are images without explicit width and height attributes (causing reflow when loaded), dynamically injected content above existing content, and web fonts that swap after page paint. Add dimension attributes to all images, reserve space for dynamic content, and use font-display:swap with preloaded fonts to minimise layout shift.