Original research · published 2026-11-10 · data measured 2026-11-10 to 2026-11-11
The State of Small-Business Websites, November 2026
SEO, accessibility and AI-search readiness measured on about two thousand small-business homepages.
SEO score
82.1
median of 1,931 sites, out of 100
Accessibility score
75.3
median of 1,727 sites, out of 100
GEO score
60.7
median of 1,806 sites, out of 100
Key findings
Classic on-page SEO was the strongest of the three areas: the median SEO score was 82.1 and 88.5% of sites scored 70 or more. Basics were still missing on a sizeable minority: 24.2% had no meta description and 19.5% had no H1 heading.
86.2% of homepages failed at least one automated WCAG 2.0/2.1 A or AA check (median accessibility score 75.3). The most common failures were text with too little colour contrast (60.3% of sites) and links with no text a screen reader can announce (49.4%).
Readiness for AI search was the weakest area: the median GEO score was 60.7, 83.7% of sites scored under 70 and no site reached 90.
19.9% of homepages had no structured data at all, and 40.1% described the business with a complete Organization or LocalBusiness schema (name, URL and logo).
Good SEO did not carry over: of the sites scoring 70 or more on SEO, 82.6% scored under 70 on GEO and 37.6% under 70 on accessibility. Of the 1,645 sites with all three scores, 7 (0.4%) scored 80 or more on every one.
28.1% of sites served an llms.txt file, and 18% one that opens with a Markdown title as the llmstxt.org format asks.
The scores
Each site's homepage got three scores out of 100: the SEO audit (meta tags, headings, technical SEO,
social tags, performance and basic accessibility markup), the accessibility audit (axe-core's automated
WCAG 2.0 and 2.1 Level A and AA rules) and the GEO audit (26 checks on how readable the page is to AI
search engines and assistants, in five groups).
SEO
Accessibility
GEO
Sites scored
1,931
1,727
1,806
Median
82.1
75.3
60.7
25th percentile
75.7
61.3
53.4
75th percentile
87.2
87.8
67.1
Mean
80.8
72.9
60
Share below 70
11.5%
39.3%
83.7%
Share at 90 or above
11.3%
19.5%
0%
SEO score: share of sites in each score range (1,931 sites).Accessibility score: share of sites in each score range (1,727 sites).GEO score: share of sites in each score range (1,806 sites).
On-page SEO: what fails most
Share of the 1,931 scored homepages where each check flagged a problem.
At least one image with empty or missing alt text73.2%
A quarter or more of images with empty or missing alt text51.8%
Title too short or too long48.3%
Meta description too short or too long32.2%
No meta description24.2%
More than one H1 heading22.7%
Open Graph tags missing or incomplete22.6%
No structured data (JSON-LD or microdata)19.9%
No H1 heading19.5%
Server response over 1 second17.8%
No Open Graph tags at all16.9%
No canonical tag14.6%
No sitemap found10.5%
No lang attribute on <html>7.8%
No robots.txt5.5%
No text compression4.7%
No mobile viewport meta tag3.4%
No <title> tag2.3%
Server response over 3 seconds2.3%
The alt-text rows count images whose alt is missing or empty. An empty
alt="" is correct for a purely decorative image, so these rows overstate the problem; the
accessibility section's image-alt rule counts only images with no alt at all.
HTTPS: 2.3% of sites (44) had no valid certificate on port 443,
so a visitor typing the https address would see a browser warning or no page.
Accessibility: the most common automated failures
86.2% of the 1,727 homepages we could audit
failed at least one automated WCAG A or AA rule; the median site failed 2
different rules. Share of sites failing each rule:
Text with too little colour contrast (color-contrast)60.3%
Links with no text a screen reader can announce (link-name)49.4%
Zoom disabled in the viewport tag (meta-viewport)21.1%
Images without alt text (image-alt)16%
Iframes without a title (frame-title)11.1%
Page language not declared (html-has-lang)7.3%
Links distinguishable only by colour (link-in-text-block)6.8%
Buttons with no accessible name (button-name)4.7%
Elements with role=img and no text alternative (role-img-alt)4.2%
ARIA attributes prohibited on the element (aria-prohibited-attr)4.1%
ARIA roles missing required children (aria-required-children)3.6%
Form fields without a label (label)3.3%
Automated rules cover only part of WCAG. A site with no automated failures can still have
barriers that only a person testing with a keyboard and a screen reader will find, so these rates are a
floor, not a full picture. Level of high-impact failures, as the audit grades it: minimal
13.8%, low 37%,
medium 46.1%, high 3.1% of sites.
AI-search readiness (GEO)
Median score in each of the GEO audit's five groups (1,806 sites):
28.1% of the 1,869 sites (525) answered
/llms.txt with a non-empty file that was not an HTML page, and
18% served one that opens with a Markdown title, as the
llmstxt.org format asks. A file that answers is not proof anyone reads it: AI providers have not said
they use llms.txt for search, so treat it as a cheap, low-stakes step.
What site owners can do
Fix the accessibility basics first. Contrast, link and button names, form labels and
image alt text account for most automated failures and are usually small template or theme changes.
Our accessibility audit API runs the same axe-core rules and lists
each failing element with a fix.
Describe the business in structured data. An Organization or LocalBusiness block with
name, URL, logo and sameAs links to your other profiles gives search engines and AI assistants
facts they can quote. The GEO audit API checks this and the other 25 GEO
signals.
Write a meta description and one clear H1. They are quick to add and still shape how
the page appears in results.
Keep HTTPS healthy. An expired or mismatched certificate turns visitors away before the
page loads.
Check your own site. A free API key runs the SEO audit; the
accessibility and GEO audits are on paid plans.
Methodology
Sites. 2,040 small and mid-sized business websites, mostly built on
WordPress, gathered from public business registries and directories. Software companies and agencies on the
same list (162 sites) were left out. We audited each site's homepage once, between
2026-11-10 and 2026-11-11, with SEO Score API: the SEO audit, the accessibility audit
(axe-core, WCAG 2.0/2.1 A and AA rules, in a headless Chromium browser), the GEO audit, and a direct fetch of
/llms.txt. Audits ran at low concurrency with timeouts, identified by our crawler's user agent.
Coverage. Of 2,040 sites attempted, 1,978 answered.
62 could not be reached (26 blocked url, 18 timeout, 10 tls, 4 load failed, 2 unreachable, 2 engine error). 47 answered with an
error or refusal page instead of their homepage and were left out, because scoring a firewall page measures
the firewall. That leaves 1,931 sites with an SEO score,
1,727 with an accessibility score and 1,806 with a GEO score;
the accessibility and GEO audits could not run on some sites the SEO audit could read, mostly sites that
refused the headless browser, had HTTPS certificate problems or did not answer in time. Failures are counted as failures and never scored as zero; each percentage is out
of the sites measured for that check.
Limitations.
Selection bias: the sites were collected for business outreach, not drawn at random, and lean toward
WordPress sites. Read the numbers as describing small-business sites like these, not the whole web.
One page per site: the homepage only. Inner pages often score differently.
Automated accessibility checks only. axe-core tests part of WCAG; it is not a conformance audit or a
legal opinion.
A single point in time. Sites change, and a site that was slow or down that day counts as unreachable.
The scores are SEO Score API's own. Other tools weigh the same issues differently.
The files hold the aggregate figures on this page and nothing per site. No business, domain or
location is named in the report or the data. Free to reuse under CC BY 4.0; please link to this page.