How to Improve Your Google PageSpeed Score
Page speed is a confirmed Google ranking factor. Slow sites rank lower, lose visitors, and convert fewer customers. Google’s own research shows that as page load time goes from 1 second to 3 seconds, the probability of a visitor bouncing increases by 32%. At 5 seconds, it increases by 90%.
Google PageSpeed Insights (pagespeed.web.dev) gives your site a score from 0 to 100 for both mobile and desktop. This guide explains what the score means, which metrics matter most, and exactly how to improve each one.
Understanding the Core Web Vitals
Google PageSpeed Insights measures three Core Web Vitals that directly affect your ranking:
Largest Contentful Paint (LCP) measures how long it takes for the largest visible element (usually a hero image or heading) to load. Good: under 2.5 seconds. Needs improvement: 2.5-4.0 seconds. Poor: over 4.0 seconds.
Interaction to Next Paint (INP) measures how quickly your page responds when a user clicks, taps, or types. Good: under 200 milliseconds. Needs improvement: 200-500ms. Poor: over 500ms.
Cumulative Layout Shift (CLS) measures how much the page layout shifts around as it loads. Good: under 0.1. Needs improvement: 0.1-0.25. Poor: over 0.25. You have experienced this when a page loads, you try to click something, and the layout suddenly jumps and you click the wrong thing.
The 8 Most Impactful Fixes
These fixes are listed in order of typical impact. Start at the top and work down.
1. Optimize Your Images
Images are almost always the biggest performance bottleneck on small business websites. A single unoptimized photo can be 3-5MB, larger than the rest of the page combined.
Convert to WebP or AVIF format. These modern formats are 25-50% smaller than JPEG and PNG with no visible quality loss. Most website builders and CMS platforms support them. If yours does not, use a tool like Squoosh (squoosh.app) to convert manually.
Resize images to their display size. If an image displays at 800px wide on your page, do not upload a 4000px original. Resize it to 800px (or 1600px for retina displays) before uploading.
Add width and height attributes. This prevents layout shift (CLS) by telling the browser how much space to reserve before the image loads.
Use lazy loading. Add loading="lazy" to images below the fold. This tells the browser to only load them when the user scrolls near them, dramatically improving initial load time.
2. Minify CSS and JavaScript
Minification removes whitespace, comments, and unnecessary characters from your code without changing its functionality. It typically reduces file sizes by 20-30%.
Most website builders do this automatically. If you use WordPress, plugins like WP Rocket, Autoptimize, or LiteSpeed Cache handle minification with one click. If you have a custom site, your build tool (Vite, Webpack, esbuild) likely has minification built in.
3. Enable Browser Caching
When a returning visitor loads your site, their browser should reuse files it already downloaded instead of fetching them again. Set cache headers to store static assets (images, CSS, JS, fonts) for at least 30 days.
If you use Cloudflare, caching is enabled by default. For other hosting providers, add cache-control headers to your server configuration. Most WordPress caching plugins handle this automatically.
4. Reduce Third-Party Scripts
Every analytics tool, chat widget, social media embed, and advertising pixel adds JavaScript that your browser must download, parse, and execute. Audit your third-party scripts and ask for each one: is this generating enough value to justify the performance cost?
Common offenders:
- Multiple analytics tools (you only need one; Google Analytics 4 is sufficient for most businesses)
- Chat widgets that load on every page (consider loading only on contact or pricing pages)
- Social media share buttons (most visitors do not use them)
- Font libraries loading dozens of font weights you do not use
5. Use a Content Delivery Network (CDN)
A CDN stores copies of your site’s files on servers around the world, so visitors load content from the server closest to them. This dramatically reduces load time for visitors far from your hosting server.
Cloudflare offers a free CDN tier that works with any website. Enabling it typically improves load times by 30-60% for geographically distant visitors.
6. Eliminate Render-Blocking Resources
CSS and JavaScript files in the <head> of your HTML block the page from rendering until they finish downloading. Move non-critical CSS and JS to the bottom of the page or load them asynchronously.
For critical CSS (the styles needed to render the above-the-fold content), inline it directly in the HTML. For everything else, use the defer or async attributes on script tags.
7. Compress Text-Based Resources with Gzip or Brotli
Enable server-side compression for HTML, CSS, and JavaScript files. Brotli (the newer standard) achieves 15-20% better compression than Gzip. Most modern hosting providers support both.
Check if compression is enabled by looking at the “Enable text compression” item in your PageSpeed Insights audit. If it appears as a recommendation, your server is not compressing responses.
8. Preload Critical Resources
Tell the browser to start downloading your most important resources immediately using <link rel="preload">. Preload your hero image, your primary font file, and any critical JavaScript. This reduces LCP by starting downloads earlier in the page load sequence.
Platform-Specific Quick Wins
WordPress: Install WP Rocket or LiteSpeed Cache. Either plugin handles image optimization, minification, caching, and lazy loading with minimal configuration. Expect a 20-40 point improvement on PageSpeed Insights.
Shopify: Use Shopify’s built-in image optimization. Remove unused apps (each app typically adds JavaScript). Choose a lightweight theme. Shopify’s CDN handles caching automatically.
Squarespace/Wix: These platforms handle most optimization automatically, but you are limited in what you can change. Focus on image optimization (upload properly sized WebP images) and minimizing third-party embeds.
Custom/Static Sites: You have the most control. Use a modern build tool (Vite, Astro, Next.js) with built-in optimization. Deploy to a CDN like Cloudflare Pages or Vercel. Target a score of 95+ since there are no platform limitations holding you back.
What Score Should You Aim For?
- 90-100 (Green): Excellent. Your site is fast and you are not losing rankings or visitors to speed issues
- 50-89 (Orange): Needs improvement. You are likely losing some rankings and visitors. Prioritize the fixes above
- 0-49 (Red): Poor. Speed is actively hurting your business. Address the top 3 fixes immediately
For most small business sites, reaching a score of 80+ on mobile is a realistic and impactful goal. The jump from 40 to 80 typically has a much bigger effect on rankings and conversions than going from 80 to 100.
Check Your Score and Track Progress
Run your site through SEOPulse’s free audit to see your current page speed score alongside your overall SEO health. The audit flags specific speed issues and tells you exactly what to fix, in plain English.
If you want to track your score over time and catch regressions after site updates, SEOPulse’s weekly monitoring includes page speed tracking in every report. No dashboards to check. Just open your email on Monday morning.
Keep reading: Speed is just one piece of the SEO puzzle. Here is the complete list of what actually matters for small business SEO. Want to understand how your site stacks up against competitors? Try SEOPulse’s free audit tool for an instant comparison.