Every second your website takes to load costs you money. According to Google, 53% of mobile visitors abandon a site that takes longer than 3 seconds to load. A one-second delay in page response can reduce conversions by roughly 7%, according to research from Akamai.
The good news: most performance problems are fixable with well-known techniques. Faster sites consistently convert better, rank higher, and keep visitors engaged longer. This guide covers the practical optimizations that make the biggest difference.
Why Performance Matters More Than Ever
User expectations have shifted dramatically. In 2015, visitors tolerated 4-5 second load times. By 2020, that window shrank to 3 seconds. Today, users expect pages to load in under 2 seconds or they bounce. Mobile traffic accounts for 60-75% of visits for most sites, and mobile connections are often slower than desktop.
Google uses Core Web Vitals as ranking signals. A faster site means higher rankings, which means more traffic, which means more opportunities to convert. Performance is not just a technical concern — it directly affects your bottom line.
Core Web Vitals: The Numbers to Hit
Google measures three key metrics. LCP (Largest Contentful Paint) should be under 2.5 seconds — this measures how quickly your main content appears. INP (Interaction to Next Paint) should stay under 200 milliseconds — this tracks how responsive your site feels when users click or tap. CLS (Cumulative Layout Shift) should be below 0.1 — this catches annoying content jumps while the page loads.
You can check your scores for free with Google PageSpeed Insights or Lighthouse in Chrome DevTools. Run both mobile and desktop tests — mobile scores are almost always worse.
Performance Optimization Techniques
Image Optimization (Biggest Bang for Your Buck)
Images typically account for 50-70% of total page weight. Switch to modern formats: WebP is roughly 25-35% smaller than JPEG at similar quality, and AVIF can cut file size by up to 50%. Serve responsive images so mobile users do not download desktop-sized files. Lazy load anything below the fold — this alone can cut initial page weight by 40-60%.
A practical target: your hero image should be under 200KB. If it is over 500KB, that is your first fix.
Code Optimization
Minify your CSS and JavaScript to strip whitespace and comments. Implement code splitting so users only download code for the page they are viewing — a well-split bundle might be 80KB instead of 500KB. Tree shaking removes unused code and can reduce bundle size by 30-50%. Inline your critical CSS and defer the rest.
Server and Hosting
Your hosting matters more than most people think. Performance-focused platforms like Vercel, Netlify, or Cloudflare Pages include CDN distribution, edge caching, and automatic optimizations. A CDN alone can improve load times by 40-60% for users far from your origin server. Modern frameworks like Astro, Next.js, SvelteKit, and Nuxt offer static site generation (SSG) or server-side rendering (SSR) for fast initial loads. Set aggressive cache headers for static assets — CSS, JS, and images rarely change between deploys.
Font Optimization
Web fonts can add 100-400KB and block text rendering while they load. Use system fonts where brand guidelines allow. If you need custom fonts, subset them to only the characters your site uses — this can cut font file size by 50-70%. Set font-display: swap so text appears immediately in a fallback font. Preload your primary font file. Self-hosting fonts often loads faster than Google Fonts CDN.
Third-Party Script Audit
Every third-party script adds an HTTP request (100-300ms) plus execution time (50-500ms). Analytics, chat widgets, social embeds, and tracking pixels add up fast. Audit each one — if you are not actively using the data, remove it. Load remaining scripts with async or defer attributes. For heavy embeds like YouTube videos, use the facade pattern: show a thumbnail and only load the full embed when someone clicks play.
Common Performance Killers
- Unoptimized 5MB hero images — compress to under 200KB with WebP or AVIF
- Render-blocking 500KB CSS — inline critical styles, defer the rest
- Bloated 2MB JavaScript bundles — code split and switch to lighter libraries
- No caching headers — set appropriate Cache-Control for static assets
- Slow 2-second server response — upgrade hosting or add a CDN
- 15+ third-party scripts — audit ruthlessly, load async, delay until interaction
What a Performance Overhaul Looks Like
Every site is different, but here are realistic ranges from common optimization work. Most sites see LCP improvements of 40-60% after proper image optimization and code splitting. Lighthouse scores typically jump from the 30-50 range into the 85-95+ range after a thorough overhaul. Mobile load times that start at 6-8 seconds can usually be brought under 3 seconds, and often under 2.
The conversion impact varies by industry, but the pattern is consistent: faster pages keep more visitors, and more visitors who stay means more conversions. E-commerce sites tend to see the most dramatic improvements because every second of delay compounds across the entire checkout flow.
A full performance overhaul for a mid-sized site typically takes 2-4 weeks of focused work. The investment pays for itself quickly if your site generates meaningful traffic.
Quick Wins You Can Do Today
- Run PageSpeed Insights and fix anything flagged in red
- Compress your largest images with tools like Squoosh or TinyPNG
- Add loading="lazy" to below-fold images
- Remove any third-party scripts you no longer use
- Enable GZIP or Brotli compression on your server
- Add a CDN if you do not have one — Cloudflare has a free tier