What we keep finding on small business websites
Every figure here is a count from our own scanner over the last 90 days: 6,761 free four-page scans that loaded at least one page. Of those, 6,627 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. Each finding links to what it means and how to fix it.
| Finding | Share of scans | Scans | Sites | Severity |
| H1 missing or duplicated | 57.8% | 3,907 | 3,119 | Warning |
| Meta description missing or the wrong length | 51.3% | 3,470 | 2,749 | Warning |
| Thin heading structure | 46.6% | 3,151 | 2,510 | Warning |
| Shared links preview badly | 41.4% | 2,801 | 2,180 | Warning |
| No canonical URL declared | 36.1% | 2,439 | 1,925 | Warning |
| Title length is off | 28.6% | 1,934 | 1,542 | Warning |
| No favicon | 23.8% | 1,609 | 1,268 | Low |
| No XML sitemap found | 17.8% | 1,201 | 937 | Warning |
| This page is missing from its own sitemap | 11.3% | 761 | 606 | Warning |
| No language attribute declared | 10.7% | 726 | 573 | Serious |
| Page title is missing | 7.1% | 479 | 389 | Critical |
| No robots.txt | 6.2% | 420 | 324 | Low |
| The server sends a noindex header | 4.3% | 294 | 242 | Serious |
| A linked page did not load | 2.9% | 194 | 169 | Critical |
| The canonical URL points somewhere unexpected | 1.6% | 106 | 77 | Warning |
| The page asks search engines not to index it | 0.4% | 30 | 28 | Serious |
| Finding | Share of scans | Scans | Sites | Severity |
| No article or breadcrumb markup | 77% | 5,209 | 4,101 | Low |
| Page content only appears after scripts run | 76.2% | 5,151 | 4,091 | Serious |
| Page regions are not marked semantically | 52% | 3,517 | 2,801 | Warning |
| No business entity in structured data | 44.2% | 2,985 | 2,370 | Warning |
| No structured data | 40.9% | 2,763 | 2,204 | Serious |
| No plain summary for machines to lift | 29.4% | 1,985 | 1,573 | Warning |
| Home page is thin on content | 20.6% | 1,394 | 1,140 | Warning |
| Structured data missing a required property | 9.4% | 636 | 497 | Warning |
| Structured data that no longer earns a rich result | 2.9% | 199 | 148 | Low |
| Structured data that does not parse | 1.1% | 74 | 65 | Serious |
| AI crawlers are blocked in robots.txt | 0.8% | 56 | 47 | Warning |
| Not all structured data was checked | 0.6% | 40 | 33 | Low |
| Finding | Share of scans | Scans | Sites | Severity |
| No terms linked | 75.2% | 5,083 | 3,977 | Low |
| No privacy policy linked | 70.5% | 4,767 | 3,735 | Serious |
| No social proof above the fold | 54.7% | 3,697 | 2,989 | Warning |
| No HSTS header | 48.6% | 3,285 | 2,524 | Low |
| No security headers | 46% | 3,113 | 2,382 | Warning |
| No obvious next step | 43% | 2,905 | 2,337 | Serious |
| Tracking runs with no consent notice | 41.8% | 2,824 | 2,243 | Critical |
| Insecure resources on a secure page | 30.5% | 2,059 | 1,634 | Serious |
| No visible way to reach the site | 30.4% | 2,052 | 1,653 | Serious |
| Plain http does not redirect | 7.5% | 508 | 387 | Serious |
| Finding | Share of scans | Scans | Sites | Severity |
| Render-blocking scripts | 47.5% | 3,214 | 2,553 | Warning |
| Heavy HTML document | 43% | 2,908 | 2,320 | Warning |
| Images all load at once | 38.9% | 2,627 | 2,064 | Warning |
| Many separate stylesheet requests | 37% | 2,504 | 1,973 | Warning |
| Images shift the layout as they load | 32.9% | 2,223 | 1,751 | Warning |
| Slow server response | 25.5% | 1,722 | 1,513 | Serious |
| Compression not confirmed | 9.4% | 633 | 496 | Low |
How to read these numbers
A share is the fraction of considered scans that raised the finding, over 6,761 scans. Each category page carries the sample size and a 95% interval alongside the share, because a percentage without a denominator is not a measurement. Figures were computed on 2026-10-22. No site we scanned is named anywhere on these pages.
The same data cut by trade is on the benchmarks pages.