Speed problems on small business websites

7 checks in this group, each a count from our own scanner over 6,450 free four-page scans in the last 90 days. The most common is Render-blocking scripts, on 47.1% of them.

FindingShare of scansScansSitesSeverity
Render-blocking scripts47.1%3,0402,537Warning
Heavy HTML document43%2,7712,298Warning
Images all load at once38.5%2,4812,049Warning
Many separate stylesheet requests36.7%2,3641,958Warning
Images shift the layout as they load32.5%2,0961,735Warning
Slow server response25.5%1,6461,474Serious
Compression not confirmed9.5%613490Low

Render-blocking scripts

47.1% of the free scans raised this: 3,040 scans across 2,537 distinct sites, 95% interval 45.4% to 48.9%. Severity: Warning.

What it means

External scripts loaded without defer or async stop the browser from drawing the page until each one has downloaded and run. Every one of them is a pause before the first thing a visitor sees.

How to fix it

Add defer to any script the first paint does not need, and load marketing and chat tags last. A script the page cannot draw without belongs inline or first, and there is rarely more than one.

How to check it yourself

View source and look at the script tags in the head. Any without a defer or async attribute will block the page from drawing until it loads.

What fixed looks like

Scripts in the head carry defer or async, so the browser draws the page without waiting on them.

Heavy HTML document

43% of the free scans raised this: 2,771 scans across 2,298 distinct sites, 95% interval 41.1% to 44.8%. Severity: Warning.

What it means

A large HTML document takes longer to download and parse before a visitor sees anything.

How to fix it

Cut total page weight: compress images to WebP or AVIF, drop unused fonts and third-party scripts. Every 100KB costs real seconds on a phone.

How to check it yourself

Run curl -so /dev/null -w '%{size_download}' https://example.com to see the raw HTML size in bytes, separate from images, fonts and scripts.

What fixed looks like

The HTML document is smaller, with images compressed and unused fonts and scripts removed.

Images all load at once

38.5% of the free scans raised this: 2,481 scans across 2,049 distinct sites, 95% interval 36.6% to 40.4%. Severity: Warning.

What it means

Loading every image immediately, including ones off-screen, competes for bandwidth with the content a visitor can actually see.

How to fix it

Add loading="lazy" to images below the first screen, so the browser fetches them only as a visitor scrolls near them.

How to check it yourself

Open DevTools, go to Network, reload the page, and watch whether images below the fold download immediately or wait until you scroll to them.

What fixed looks like

Images below the first screen download only as you scroll near them in the Network panel.

Many separate stylesheet requests

36.7% of the free scans raised this: 2,364 scans across 1,958 distinct sites, 95% interval 34.7% to 38.6%. Severity: Warning.

What it means

Each additional stylesheet is a round trip before the page can be styled and shown.

How to fix it

Combine separate stylesheets into fewer files, or inline the small amount of CSS the first paint needs directly in the head.

How to check it yourself

Open DevTools, go to Network, filter by CSS, and reload the page. Count how many separate stylesheet requests appear before the page renders.

What fixed looks like

The Network panel shows a small number of stylesheet requests before the page renders.

Images shift the layout as they load

32.5% of the free scans raised this: 2,096 scans across 1,735 distinct sites, 95% interval 30.5% to 34.5%. Severity: Warning.

What it means

Images without reserved dimensions push content around as they arrive, which can make a visitor click the wrong thing.

How to fix it

Add width and height attributes to every img tag, so the browser reserves the right space before the image arrives.

How to check it yourself

View source and check img tags for width and height attributes. Missing attributes mean the browser has no reserved space and content will shift.

What fixed looks like

View source shows width and height attributes on every img tag, and the layout stays still as images load.

Slow server response

25.5% of the free scans raised this: 1,646 scans across 1,474 distinct sites, 95% interval 23.5% to 27.7%. Severity: Serious.

What it means

Time to first byte is the floor every other speed metric sits on: a slow origin response delays everything after it.

How to fix it

Get time-to-first-byte under about 800ms: cache HTML at the edge, and check for a slow database call or a redirect chain in front of the page.

How to check it yourself

Run curl -so /dev/null -w '%{time_starttransfer}' https://example.com to see how many seconds pass before the first byte arrives.

What fixed looks like

The curl time to first byte falls under about 800ms.

Compression not confirmed

9.5% of the free scans raised this: 613 scans across 490 distinct sites, 95% interval 7.4% to 12.1%. Severity: Low.

What it means

Without confirmed response compression, pages transfer larger than they need to.

How to fix it

Turn on Brotli or gzip for text responses at your server or CDN. It typically cuts HTML, CSS and JS by 70% for one configuration change.

How to check it yourself

Run curl -sI -H 'Accept-Encoding: gzip, br' https://example.com and look for a Content-Encoding line in the response headers.

What fixed looks like

The curl response headers include a Content-Encoding line showing gzip or Brotli.

How we measured this

A count of what our own scanner found, not a survey and not an estimate: each share above is over every free four-page scan in the last 90 days that loaded at least one page, which is 6,450 scans. Of those, 6,316 were run by Go Voltic itself, our research sweep over a pool of small-business sites and our own monitoring, and 132 came from visitors using the free scan; a site counts once in the distinct-sites figure whoever scanned it. 2 predate the label that tells the two apart and are counted in the total without a side. Deep scans are a separate population and never in this denominator. Figures on this page were computed on 2026-10-15.

The methodology explains the denominator, the distinct-sites count and the 95% interval. The benchmarks page puts these shares beside every other finding, with the whole table as CSV and JSON.

Other groups of findings

Measured on the same scans: Structure, AI and answer engines, Trust and privacy, Accessibility.

Check your own site

The free scan reads four pages and reports every finding it raises, including every one on this page. It takes about ten seconds and asks for nothing but the address.

Run a free scan