I measured forty small business sites last month. The fast ones (under 2 seconds to show real content on mobile) had three things in common, and none of them was a premium host. They sized their images correctly, they used one or two fonts, and they kept third-party scripts to a minimum. That is most of the game.
What slows a site down the most?
Images, by a wide margin. On a typical small business homepage, images are 70 to 90 percent of the total page weight. The most common mistake is uploading a photo straight from a phone or a stock site at 3000 to 5000 pixels wide and letting the browser shrink it on screen. The browser still downloads the full file first.
The fix is to export each image at roughly the size it displays, then serve it in a modern format. A hero that fills a phone screen rarely needs to be wider than 1200 pixels.
<!-- tells the browser to grab the right size instead of the biggest one -->
<img
src="hero-1200.webp"
srcset="hero-800.webp 800w, hero-1200.webp 1200w"
sizes="100vw"
width="1200" height="800"
alt="Storefront at golden hour"
/>
The width and height attributes matter for a second reason: they reserve the space before the image arrives, so the page does not jump around as it loads.
What about WebP and AVIF?
These are newer image formats that compress far better than JPEG or PNG with no visible quality loss. The rough numbers:
| Format | Typical size vs JPEG | Use it for |
|---|---|---|
| JPEG | baseline | nothing new, it is the fallback |
| WebP | 25 to 35% smaller | the safe default today, supported everywhere |
| AVIF | 40 to 50% smaller | hero images where the extra savings are worth it |
WebP is the practical default. Every current browser supports it, and switching a 400 KB JPEG hero to a 150 KB WebP is a real, visible speed gain.
Do fonts and scripts really matter that much?
They matter more than people expect, because they block rendering. Each custom font weight is a separate download, and the browser will often wait on them before showing text. Two font families with two weights each is plenty for almost any small business site.
Third-party scripts are the other quiet tax. A live chat widget, a heatmap tool, two analytics tags, and a popup builder can together add a second or more, and most of them load on every page whether or not anyone uses them.
Audit your tags once a quarter. Half of what is on most sites was added for a campaign that ended a year ago and never removed.
What is the fastest set of changes I can make this week?
In order of impact:
- Resize and compress every image to the size it displays, in WebP.
- Drop to two fonts, two weights total.
- Remove any marketing script you are not actively using.
- Add
loading="lazy"to images below the fold so they load only as needed.
Those four changes, with no host upgrade and no redesign, routinely take a 5 second mobile load down under 2.5.
Frequently asked questions
Will compressing images make them look bad?
No, if you do it right. WebP at around 80 percent quality is visually identical to the original for almost all photography while being a fraction of the size. The quality loss only shows up if you push compression far past that.
Should every image be lazy loaded?
No. Lazy load images below the fold. Never lazy load the hero or anything visible when the page first opens, because that delays the very thing you want to appear fastest.
Is one font slower than two?
Marginally, but the bigger cost is the number of weights and styles. One family loaded in three weights and an italic is four downloads. Pick the weights you actually use and drop the rest.
Get your website designed before you pay. Subsecond Studio designs and builds websites, web apps, and AI tools, and you approve the design before any payment. Get an estimate