I get called in to fix websites that are slow, hard for some visitors to use, or hard to find. I hold my own builds to a strict standard using free public tools, so I built something to run those checks automatically. Then I pointed it at the market to see how common these problems actually are. I tested the homepages of 824 Ontario accounting and tax firms on three things: speed, accessibility and search, which includes whether anything stops AI tools reading the page.
Six of the 741 sites I could measure on all three checks passed every one. Two of the six are single-page business cards. That leaves four full websites out of 741.
Most of these sites work. Most fail a strict standard. Those are different things, and this report keeps them apart. It covers homepages only, uses automated checks, and nothing in it measures enquiries or revenue.
The three checks at a glance
Share of sites that meet each standard
Horizontal bars on a 0 to 100% scale. Speed: 6.6%, 52 of 791. Accessibility: 8.0%, 63 of 791. Search: 84.3%, 633 of 751. All three: 0.8%, 6 of 741.
| Check | Sites at the standard | Out of |
|---|---|---|
| Speed (Google’s speed test) | 52 (6.6%) | 791 measured |
| Accessibility (WebAIM’s WAVE) | 63 (8.0%) | 791 measured |
| Search, including AI crawler access | 633 (84.3%) | 751 measured |
| All three | 6 (0.8%) | 741 measured on all three |
At the other end, 94 of the 741 sites (12.7%) met none of the three.
How I tested
I found the firms through Google listings in 100 Ontario cities and towns (10 large, 20 medium and 70 small markets). I tested each homepage’s speed three times on the same day with Google’s speed test, and its accessibility and search once. A site that couldn’t be measured on a check is left out of that figure, never counted as a failure, and every figure states its base. The method note explains each one.
About 1 in 20 Google listings leads nowhere
40 of the 840 firms I looked up (4.8%) have a Google listing whose website link leads nowhere. Someone who finds the firm on Google and taps “Website” gets an error page, an expired hosting account or a domain parking page. Small markets have more of them: 25 of 383 (6.5%), against 6 of 226 (2.7%) in large markets.
49 firms send visitors to an unencrypted page. On those sites, the browser shows “Not secure” in the address bar.
- 30 have working HTTPS but don’t send visitors to it. Anyone who arrives at the plain http address stays there.
- 19 have no working HTTPS at all. On 11 of them, the browser shows a security warning instead of the site, because the certificate is self-signed, issued for a different domain, or expired.
That’s 49 of the 734 sites where both connection checks could be observed, about 1 in 15.
44 firms’ servers turned away my scanner, which identified itself by name. Google’s and WebAIM’s tools got through to most of them (42 and 40 of the 44).
The faults nobody sees
Some failures don’t break anything. They stay on the site until someone looks.
Google listings and footers
- The Google listing points to the http address on 453 of 791 sites. Most of those sites redirect to the secure version, so visitors don’t notice. The listing and the site disagree about where the site lives, and the listing hasn’t been updated to match.
- Of the 446 sites that show a copyright year in the footer, 118 (26.5%) show 2023 or earlier. The year proves nothing about how the site is built, but it’s what a prospect sees.
Accessibility
- Low-contrast text on 613 of 791 sites (77.5%). It’s the most common accessibility failure. Light grey text on white falls below the WCAG minimum for readable text. The text is there, but it’s harder to read, especially on a phone in daylight.
- A form field with no label on 227 of 791 sites (28.7%). That’s any form field: a search box, a newsletter sign-up, a login or an enquiry form. Of the 352 sites where my scan found a form field in the page code, 183 have at least one field with no label. To someone using a screen reader, an unlabelled field is a box with no name.
- Links with no text on 299 of 791 sites (37.8%). Usually an icon or image used as a link, with nothing for a screen reader to announce.
Search
118 of 751 sites fail the search check. A site can fail for more than one reason:
- 43 list pages in their sitemap that return errors.
- 39 show their main text only after scripts run. Google runs scripts before reading a page, but many AI tools don’t, so they see an almost empty page.
- 25 have an empty sitemap.
- 7 tell search engines not to index the homepage.
- 4 block all crawlers in robots.txt.
- 3 block a named AI crawler in robots.txt.
A further 124 of the 751 (16.5%) have no sitemap at all. That’s recorded as a finding, not a fail. Of the 602 readable sitemaps, 208 list fewer than 10 addresses.
Many sites are close to the accessibility bar
Only 63 of 791 sites (8.0%) have zero WAVE errors and zero contrast failures. But 195 sites (24.7%) are within five issues of the bar. The median site has 10 issues (errors plus contrast failures).
195 sites are within five issues of the bar
Five vertical bars of WAVE errors plus contrast failures per homepage, 791 sites. None issues: 63 sites (meets the standard). 1 to 5 issues: 195 sites (within five issues of the bar). 6 to 20 issues: 321 sites. 21 to 50 issues: 167 sites. More than 50 issues: 45 sites.
| Issues per site | Sites (of 791) |
|---|---|
| None | 63 |
| 1 to 5 | 195 |
| 6 to 20 | 321 |
| 21 to 50 | 167 |
| More than 50 | 45 |
Accessibility fails mostly on one thing, contrast, plus a long tail of other faults.
One speed test tells you very little
On 366 of 756 sites, the speed score moved more than 10 points between runs on at least one device (phone or desktop). Across all 1,541 device tests with three or more runs, 489 (31.7%) swung by more than 10 points.
One site scored 93, then 83, then 41 when tested again later the same day. The page was the same size each time, and its main content loaded just as quickly. What changed was the third-party scripts on it, which kept the browser busy three times as long on the last run as on the first.
Same page, same day: 93, then 83, then 41
Three vertical bars of one site's desktop score, in run order, with a dashed line at 95, the desktop standard. First run: 93, third-party scripts 0.7 seconds. Second run: 83, third-party scripts 1.0 seconds. Third run: 41, third-party scripts 2.1 seconds.
That pattern holds across the benchmark. From one run to the next, page weight barely moves. The time third-party scripts keep the browser busy moves with the score: the busier the browser, the lower the score. It’s the strongest signal in the data, but not an exact one.
So a single screenshot of a good score proves very little. This benchmark uses the middle score of three runs.
52 of 791 sites meet the speed standard
To meet the speed standard, a site needs 90 or more on mobile and 95 or more on desktop in Google’s speed test. Google calls 90 and above good. 52 of 791 sites (6.6%) meet the standard. The median site scored 62 on mobile and 86 on desktop.
Most mobile scores sit well below Google's good band
Mobile
Desktop
Two histograms of 791 sites in bands of 10 points, shaded in Google's three bands: 0 to 49 poor, 50 to 89 needs improvement, 90 to 100 good. Mobile, median 62: 0 to 9 1, 10 to 19 4, 20 to 29 12, 30 to 39 34, 40 to 49 79, 50 to 59 203, 60 to 69 227, 70 to 79 119, 80 to 89 50, 90 to 100 62. Desktop, median 86: 0 to 9 0, 10 to 19 6, 20 to 29 2, 30 to 39 15, 40 to 49 16, 50 to 59 44, 60 to 69 74, 70 to 79 120, 80 to 89 196, 90 to 100 318.
How much that depends on reading the middle run, over the 756 sites with three runs on both devices:
| How the three runs are read | Sites at the standard |
|---|---|
| Every run must pass | 35 |
| The middle run must pass (the rule used here) | 50 |
| Any run counts | 66 |
Same sites, three rules, three answers
Horizontal bars, out of 756 sites. Every run must pass: 35 sites. The middle run must pass (rule used here): 50 sites. Any run counts: 66 sites.
Mobile is where most sites fall short. Of the 739 sites that don’t meet the standard, 138 miss on mobile only (they pass desktop), 591 miss on both, and 10 miss on desktop only.
What separates failing sites from passing ones, from the speed test’s own findings on mobile:
What failing sites have that passing sites mostly don't
Paired horizontal bars on a 0 to 100% scale. Main content slow to appear: failing sites 97.6%, passing sites 46.2%. Heavy third-party code: failing sites 93.8%, passing sites 53.8%. Fonts that hold up the text: failing sites 63.2%, passing sites 17.3%. JavaScript loaded but not used: failing sites 48.3%, passing sites 3.8%.
| Finding | Failing sites | Passing sites |
|---|---|---|
| Main content slow to appear | 97.6% | 46.2% |
| Heavy third-party code | 93.8% | 53.8% |
| Fonts that hold up the text | 63.2% | 17.3% |
| JavaScript loaded but not used | 48.3% | 3.8% |
Sites fail speed by piling up problems. Four specific findings each appear on more than 80% of the 791 sites: main content slow to appear (94.2%), heavy third-party code (91.2%), oversized images (84.8%) and render-blocking files (82.6%). Render-blocking files, often blamed first, hardly separate the two groups (83.1% of failing sites, 75.0% of passing).
Google’s speed test is a lab test. It doesn’t measure what visitors experience. Google collects real loading times from Chrome users only for sites with enough traffic, and it has enough real visitor data to report on only about 1 in 10 of these sites (81 of 824). For the rest, the lab test is the only measurement there is.
Few sites block AI tools outright
AI tools such as ChatGPT read the text on a page. Two things can get in the way, and both are part of the search check: a robots.txt file that blocks crawlers named by AI companies (some of these only collect training data, which doesn’t stop an AI tool reading the page), and main text that only appears after scripts run, which many AI tools don’t wait for.
709 of 751 sites (94.4%) have neither of those two problems. 3 block a named AI crawler, and 39 show their main text only after scripts run. Passing both doesn’t prove an AI tool reads or uses a site. It means nothing on the page stops one.
That base leaves out the 44 firms whose servers turned away my scanner, which identified itself by name. AI crawlers identify themselves by name too, so some of those 44 may block them as well.
Structured data is reported, not graded. 313 of 751 sites (41.7%) have no valid structured data, the machine-readable summary of a firm in the page’s code. Google and Bing use it to identify a business and to show extras like breadcrumbs. Google says its AI features need no special markup. Microsoft says Copilot uses it; for other AI tools there’s little evidence either way. So a site doesn’t fail for lacking it. An earlier version of the Standard graded it. The method note explains the change.
A third of the fastest sites are nearly empty
62 sites scored 90 or more on mobile. When I looked at each one, 21 turned out to be business cards: single-page sites with little behind them. A page with little on it is fast.
62 sites scored 90+ on mobile. 21 are business cards.
All 62 sites scoring 90 or more on mobile
The 41 full websites
Sites scoring 90 or more on mobile: 62. Of those, 21 are business cards and 41 are full websites. Of the 41 full websites, 4 pass all three checks.
That leaves 41 real websites that are fast on mobile. Nothing obvious explains them:
- Not the market. Large 10 of 217, medium 11 of 221, small 20 of 353. Flat.
- Not the region. 41 sites across 36 towns, with no town above two.
- Not the platform. They’re spread across a dozen different platforms, from site builders to hand-built sites.
Being fast didn’t make them more likely to pass everything. On the other checks: search 37 of 41, accessibility 7 of 41. Four of the 41 pass all three.
Results by market size
Market size is the size of the place the listing was found in, not the size of the firm. Each cell uses only the sites graded on that check. Speed is compared by market using medians, because speed pass rates move with the scan day.
Smaller places: more dead listings
Search passed
Google listing leads nowhere
Search passed (0 to 100% scale): Large 83.5%, 172 of 206, Medium 86.5%, 179 of 207, Small 83.4%, 282 of 338. Google listing leads nowhere (0 to 10% scale): Large 2.7%, 6 of 226, Medium 3.9%, 9 of 231, Small 6.5%, 25 of 383.
| Measure | Large | Medium | Small | All |
|---|---|---|---|---|
| Benchmark sites | 224 | 225 | 375 | 824 |
| Accessibility | 16 of 218 (7.3%) | 22 of 221 (10.0%) | 25 of 352 (7.1%) | 63 of 791 (8.0%) |
| Search | 172 of 206 (83.5%) | 179 of 207 (86.5%) | 282 of 338 (83.4%) | 633 of 751 (84.3%) |
| All three | 2 of 204 | 2 of 205 | 2 of 332 | 6 of 741 |
| Speed median, mobile / desktop | 60 / 83 | 61 / 86 | 63 / 88 | 62 / 86 |
| Dead listings | 6 of 226 (2.7%) | 9 of 231 (3.9%) | 25 of 383 (6.5%) | 40 of 840 (4.8%) |
Check your own site
The same checks, with the same free tools. Start with your homepage.
- Speed. Run PageSpeed Insights three times, on mobile and on desktop. Take the middle score each time. The standard here is 90 on mobile and 95 on desktop.
- Accessibility. Run WAVE. Look at Errors and Contrast Errors. The standard is zero of each.
- Security. Type your address starting with
http://. The browser should switch tohttps://by itself, with no warning. - Your Google listing. Open your Google Business Profile and check that the website link starts with
https://and leads to your own site. - Search groundwork. Open
yoursite.com/robots.txtand check that it doesn’t block everything. It usually names your sitemap. Open the sitemap and check that it lists your pages. - Broken links in the sitemap. Open a few of the pages your sitemap lists. Each should load, not return an error. This was the most common search failure in the benchmark.
- AI crawlers. Open
yoursite.com/robots.txtand check it doesn’t block GPTBot, ClaudeBot or PerplexityBot, unless you chose to. - Do it again in three months. Every number above is a snapshot, and the speed results show how much one snapshot can move.
How ThreeSeven Digital closes the gap
I build websites to this standard, the ThreeSeven Standard, and keep them there. Every 90 days I re-run the same three checks on every client site, with the same public tools, and fix whatever has slipped. If a site falls below the bar and I haven’t fixed it within 14 days, that month is refunded. The build, hosting, updates and checks are one monthly fee, and every plan includes blog posts I write for you, from one every 90 days to one a month. Stay the first full year and you never pay the setup fee.
Here’s how that works for accounting firms, and how to get in touch.
Updates
9 November 2026. Seven sites were counted as failing search because pages listed in their sitemap returned errors. Those errors were the sites’ servers refusing my scanner (too many requests, or access denied), not pages a visitor couldn’t open, so those sites now pass search. Search moves from 626 to 633 of 751, and sites passing none of the three checks from 99 to 94 of 741. Sites passing all three, the scan dates and every other figure are unchanged.
How to cite this report: Sondh, P. (2026). Ontario accounting firm websites: the 2026 benchmark. ThreeSeven Digital. https://three7.digital/writing/ontario-accounting-firm-website-benchmark-2026/