← Docs
Web Hosting updated July 3, 2026

Website performance: why sites feel slow and the fixes that matter

Learn how to optimize your website's speed by focusing on images, JavaScript weight, caching, and hosting quality.


Website Performance: Why Sites Feel Slow and the Fixes That Matter

Sites rarely feel slow because of the server. The typical slow site spends 200ms on the server but wastes up to 6 seconds on unoptimized images, large JavaScript files, and excessive tracking scripts. Here’s how to improve your site's performance in order of impact:

Images: Always Start with Optimized Images

Photos exported from a phone can be as large as 3-12MB, which is far too heavy for the web. Resize them to their display dimensions, compress using modern formats like WebP or AVIF, and lazy-load images below the fold (use the loading="lazy" attribute). This single step often fixes more slow sites than any other.

JavaScript Weight: Audit and Minimize Unnecessary Scripts

Every builder, theme, or plugin adds scripts that can compound. Use browser developer tools to audit your site's network tab and remove what you can't justify. Tracking pixels are usually the culprits; marketing plugins might add five or more, but none of them get read.

Caching: Repeat Visitors Deserve Faster Load Times

Repeat visitors and subsequent page loads should hit a cache. Set long cache headers for static assets (our Nginx server uses 30 days) and use a CDN in front of your site (Cloudflare's free tier offers caching, global delivery, and TLS for $0).

Hosting Location/Quality: Consider It Last

While hosting location and quality matter, they are typically less critical than the above optimizations. A CDN can mitigate much of the distance impact on static assets, but if the server itself takes 2+ seconds to process (due to overloaded shared hosting or unoptimized databases), consider upgrading your hosting.

Measuring Performance Like an Adult

Use tools like PageSpeed Insights (Google's tool that provides Core Web Vitals) or browser developer tools. Measure mobile performance with throttling, as this is where users experience the most pain. Focus on LCP under 2.5 seconds as a headline target. Scores chasing 100/100 are a hobby; users notice 6s vs 2s more than 92% vs 98%.

Business Case: Why It Matters

Slow sites lose visitors measurably (classic findings show that every second of delay doubles the abandonment rate). Google also ranks page experience. For a local business site, going from 6 seconds to 2 seconds on mobile can be worth more than most marketing spends.

The Homelab Addendum: Self-Hosted Sites Behind a Tunnel + CDN

Self-hosted sites behind a tunnel and CDN (our exact setup) perform well. The tunnel adds negligible overhead for cached assets, and the origin only works when there's a cache miss.

For reference, this site's own stack: pages compiled ahead of time (no database work per visit), nginx serving assets with 30-day cache headers and gzip enabled, images sized to their display dimensions, and Cloudflare's free CDN in front — the origin only does work on cache misses. The result is a homepage that loads fast on a phone from anywhere, served from a rack in a house.

Was this useful?

This doc is maintained by the humans who run BreadLab. Spotted an error? Tell us — we fix docs, not just typos.