Skip to content
SB DigitalAgency
Web Development

Why Your Website Is Slow (And the 7 Fixes That Actually Work)

Ninety percent of slow websites we audit share the same four causes. Here is how to diagnose each one and what to fix first.

Bilal AhmedHead of EngineeringUpdated 22 Aug 2026 10 min read
Waterfall chart showing page load timing before and after optimisation

The four causes behind almost every slow site

We audit dozens of sites each year. Independent of industry or platform, the same four causes appear in roughly the same order of impact.

  • Unoptimised images. Typically 50–70% of total page weight. A single hero image served at 4000px wide is often larger than everything else combined.
  • Render-blocking third-party scripts. Chat widgets, pixels, heatmap tools and review widgets each add main-thread work; together they routinely add two seconds.
  • Font loading. Multiple weights and families loaded without subsetting or preloading block text rendering.
  • Slow server response. Shared hosting without caching can take 800ms just to return the HTML.

Fixes one to three: images, scripts, fonts

These three fixes typically deliver 70% of the achievable improvement, and they are the least risky to implement.

  • Serve AVIF with WebP fallback and explicit width/height attributes. Generate responsive srcsets so mobile never downloads a desktop image. Preload the LCP image and lazy-load everything below the fold.
  • Audit every third-party script and tag. Load analytics asynchronously, defer chat widgets until interaction, and remove tools nobody has opened in six months. Add a performance budget so new scripts require justification.
  • Subset fonts to the characters you use, self-host rather than loading from a third-party CDN, preload the primary weight and use font-display: swap.

Fixes four and five: server and caching

If your TTFB is above 500ms, no amount of front-end work will save you. The browser is waiting before it can do anything.

  • Move to infrastructure appropriate to your traffic. For most Pakistani businesses, a VPS with a CDN in front outperforms shared hosting by a wide margin.
  • Enable full-page caching for anonymous visitors, object caching for database queries, and Brotli compression. On Next.js, use static generation plus incremental revalidation rather than rendering every request.
  • Configure a CDN with points of presence in South Asia and the Middle East. Without one, Pakistani visitors add 200–600ms of latency before the request even starts.

Fixes six and seven: layout stability and measurement

Two fixes that are less about speed and more about perceived quality — and both directly affect conversion.

  • Reserve space for every image, embed and ad slot with explicit dimensions so content does not jump. CLS above 0.1 is a conversion problem as much as a ranking one.
  • Measure field data rather than lab scores. Lighthouse in a controlled environment can show 95 while real users on 4G experience something very different. Use CrUX and Search Console, and wait the full 28-day window before judging.

What not to do

Adding a caching plugin on top of a fundamentally heavy build makes debugging impossible and gains are temporary. Optimisation plugins that minify and combine everything can break functionality in subtle ways that surface weeks later.

The same applies to lazy-loading hero images. We see this regularly — someone adds a lazy-loading plugin, it applies to the LCP image, and performance gets worse. Always exclude above-the-fold images from lazy loading.

Fix the cause, not the symptom. Plugins that mask a slow foundation always regress.

Key takeaways

  • Images, third-party scripts, fonts and server response cause almost all slowness.
  • Image and script optimisation typically delivers 70% of the achievable gain.
  • If TTFB exceeds 500ms, front-end work cannot compensate.
  • Judge improvements on field data after 28 days, not lab scores immediately after deploying.
PerformanceCore Web VitalsSpeed
Bilal Ahmed

Bilal Ahmed

Head of Engineering

Oversees web and application development, with a focus on Next.js, TypeScript and performance engineering.

Ready to move forward?

Book a free 30-minute consultation and get a written plan — whether or not you work with us.