What we keep finding on small business websites
Every figure here is a count from our own scanner over the last 30 days: 3,044 free four-page scans that loaded at least one page. Each finding links to what it means and how to fix it.
Structure
| Finding | Share of scans | Scans | Sites | Severity |
| H1 missing or duplicated | 57.6% | 1,754 | 1,748 | Warning |
| Meta description missing or the wrong length | 51.5% | 1,567 | 1,553 | Warning |
| Thin heading structure | 46.7% | 1,421 | 1,409 | Warning |
| Shared links preview badly | 41% | 1,248 | 1,240 | Warning |
| No canonical URL declared | 37.2% | 1,131 | 1,123 | Warning |
| Title length is off | 29% | 883 | 877 | Warning |
| No favicon | 23.6% | 717 | 717 | Low |
| No XML sitemap found | 18.1% | 550 | 542 | Warning |
| This page is missing from its own sitemap | 11.6% | 354 | 348 | Warning |
| No language attribute declared | 10.7% | 327 | 327 | Serious |
| Page title is missing | 7.4% | 225 | 225 | Critical |
| No robots.txt | 5.8% | 178 | 170 | Low |
| The server sends a noindex header | 4.8% | 145 | 145 | Serious |
| A linked page did not load | 3% | 90 | 90 | Critical |
| The canonical URL points somewhere unexpected | 1.7% | 53 | 51 | Warning |
AI and answer engines
| Finding | Share of scans | Scans | Sites | Severity |
| No article or breadcrumb markup | 77.6% | 2,362 | 2,340 | Low |
| Page content only appears after scripts run | 76.1% | 2,316 | 2,300 | Serious |
| Page regions are not marked semantically | 53% | 1,614 | 1,606 | Warning |
| No business entity in structured data | 44% | 1,338 | 1,330 | Warning |
| No structured data | 40.9% | 1,244 | 1,236 | Serious |
| No plain summary for machines to lift | 29.3% | 891 | 881 | Warning |
| Home page is thin on content | 19.4% | 591 | 588 | Warning |
| Structured data missing a required property | 9.4% | 285 | 279 | Warning |
| Structured data that no longer earns a rich result | 2.7% | 81 | 76 | Low |
| Structured data that does not parse | 1.1% | 33 | 33 | Serious |
| AI crawlers are blocked in robots.txt | 1% | 31 | 31 | Warning |
Trust and privacy
| Finding | Share of scans | Scans | Sites | Severity |
| No terms linked | 75% | 2,282 | 2,268 | Low |
| No privacy policy linked | 69.6% | 2,119 | 2,105 | Serious |
| No social proof above the fold | 55.2% | 1,680 | 1,669 | Warning |
| No HSTS header | 47.8% | 1,454 | 1,451 | Low |
| No security headers | 45.6% | 1,388 | 1,380 | Warning |
| No obvious next step | 42.9% | 1,307 | 1,297 | Serious |
| Tracking runs with no consent notice | 41.4% | 1,261 | 1,254 | Critical |
| No visible way to reach the site | 31.1% | 946 | 938 | Serious |
| Insecure resources on a secure page | 30.6% | 931 | 920 | Serious |
| Plain http does not redirect | 7.2% | 219 | 209 | Serious |
Accessibility
Speed
How to read these numbers
A share is the fraction of considered scans that raised the finding, over 3,044 scans. Each finding 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-09-08. No site we scanned is named anywhere on these pages.
The same data cut by trade is on the benchmarks pages.