Page speed is a ranking factor on the margin. It's a huge factor for conversion directly. Every 100ms of added load time drops conversion by about 1%. The compound effect of ranking and conversion makes speed optimization one of the highest-leverage technical investments you can make. This page walks through what actually makes pages slow, the fixes that move the needle, and the 80/20 list that delivers most of the wins in the least time.
Speed isn't one thing. It's the cumulative time between "user clicks your link" and "user can use the page." That journey has layers: DNS lookup, TLS handshake, server response, HTML download, CSS/JS download and execution, image loading, font loading, layout, paint, interactivity.
Every layer can be slow. The fast sites aren't sites that did one magical thing. They're sites that didn't make a mess at any layer.
Google's Core Web Vitals (covered deeper in its own page). The three thresholds to know:
WebP or AVIF. Responsive srcset for device sizes. Compressed. Lazy-loaded below the fold. Width and height attributes explicit. This alone can cut page weight 40 to 60% on image-heavy sites.
Minification removes whitespace. Gzip or Brotli at the server compresses the response. Both should be enabled by default in any modern hosting setup. Check they actually are.
Analytics, chat widgets, ads don't need to run during page load. Defer them:
<script defer src="..."></script>
<script async src="..."></script>
Defer preserves execution order. Async runs whenever the script loads. Use async for independent scripts (analytics), defer for dependent ones.
<link rel="preload" href="/hero.webp" as="image">
<link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossorigin>
Tells the browser to start fetching the resource at the highest priority. Especially useful for the hero image (LCP candidate) and key fonts.
Extract the CSS needed for above-the-fold rendering, inline it in the head. Load the rest asynchronously. Cuts LCP significantly on most sites.
Cloudflare, Fastly, AWS CloudFront, Vercel Edge. Geographically distributed caching. Users in Tokyo shouldn't wait for your server in Virginia. CDNs often also add compression, HTTP/2, and other performance wins for free.
Modern protocols multiplex requests and reduce handshake overhead. Most modern hosts and CDNs support this by default. Confirm yours does.
Audit what's loaded. Most sites have scripts that got added and never removed. Each one is latency plus a point of failure outside your control. Cut what you can. Lazy-load what you keep.
Cache-Control headersUse font-display: swap to render fallback text immediately while the web font loads. Self-host fonts to avoid Google Fonts latency. Subset to only the characters you need.
If you do only five things:
Those five alone beat 90% of competitors on speed.
Run PageSpeed Insights on your top page. Look at the recommendations with highest estimated savings. Fix those first. Rerun. Repeat. Three rounds of this work on your most-visited pages will typically move CWV from "Needs Improvement" to "Good," which moves both rankings and conversions.
Next: mobile-first indexing, Google's rule that your mobile site is the one that actually ranks.
Core Web Vitals (covered in detail on its own page):
WebP or AVIF. Responsive srcset. Compressed. Lazy-loaded below fold. Proper width/height attributes. This alone can cut page weight 40-60% on image-heavy sites.
Minification (remove whitespace) + gzip/brotli compression at the server. Standard at this point; check it's actually enabled.
Load tracking, ads, chat widgets after the page is interactive:
<script defer src="..."></script>
<script async src="..."></script>
The difference: defer preserves execution order; async runs whenever it loads (good for independent scripts).
<link rel="preload" href="/hero.webp" as="image">
<link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossorigin>
Extract the CSS needed for above-the-fold rendering, inline it in the <head>. Load the rest async. Cuts LCP significantly.
Cloudflare, Fastly, AWS CloudFront. Geographically-distributed caching. Cuts latency for users far from your origin server.
Modern protocols multiplex requests and reduce handshake overhead. Most hosts support this by default now.
Audit what's loaded. Most sites have third-parties they don't need or use. Every one adds latency + is out of your control.
Cache-Control headersUse font-display: swap to render fallback text immediately. Self-host fonts (avoid Google Fonts latency) or use preconnect to the font CDN. Subset fonts to only the characters you need.
Ship those five and you'll beat 90% of competitors on speed.