SEOPert research · Study 1 · October 2026
We checked 1,487 local business websites. Nearly half fail a basic check.
We read the homepages of 1,487 dentists, restaurants, law firms, salons, vets, trades and other local businesses in 15 UK and 15 US cities, using the same checks as our free audit. Most are findable. Far fewer make it easy for a customer, or a search engine, to know who they are and how to call them.
What we found
The basics of being findable are mostly in place: 96% of homepages use HTTPS, and 98% let Google index them. The gaps are in the details that turn a visit into a phone call, and in telling search engines plainly what the business is, where, and how to reach it.
Share of the 1,487 homepages we could read. Exact counts and 95% intervals are in the table under "How we did it".
Restaurants did worst. Vets did best.
72% of restaurants failed at least one basic check, against 31% of vets. For restaurants the gap is mostly the phone: 60% had no tap-to-call link and 38% showed no number on the homepage. We did not record why. Possible reasons include a separate contact page, or a number shown only inside an image or a booking widget.
Number of homepages read for each trade in brackets. Plumbers, roofers and electricians are small groups, because few of them are listed with a website in OpenStreetMap; treat their figures as indications, not findings.
UK sites trail US sites on almost every check
55% of UK homepages failed at least one basic check, against 43% in the US. The biggest differences were business markup (68% of UK sites without it, 52% in the US), tap-to-call links (46% against 35%) and speed: 21% of UK homepages took over two seconds to arrive, against 10%. We measured from a single location, so the speed figure says as much about distance as about hosting.
| Check | UK (613) | US (874) |
|---|---|---|
| Fails at least one basic check | 55.3% | 43.2% |
| No LocalBusiness markup | 67.5% | 51.9% |
| No tap-to-call link | 45.5% | 34.8% |
| No meta description | 28.4% | 21.7% |
| No main heading | 27.7% | 22.7% |
| No phone number shown | 23.7% | 17.7% |
| No XML sitemap | 15.7% | 9.4% |
| HTML slower than 2 seconds | 21.2% | 9.6% |
| Not on HTTPS | 5.1% | 2.7% |
The platform shapes the gaps
Sites built on Wix and Squarespace were about twice as likely as WordPress sites to have no tap-to-call link (59% and 62%, against 30%). WordPress sites were the most likely to have no LocalBusiness markup (67%), against about a third on the hosted builders. Each platform makes some things automatic and leaves others to the owner.
| Platform | Sites | No tap-to-call | No LocalBusiness markup | No main heading | No description |
|---|---|---|---|---|---|
| WordPress | 642 | 29.8% | 67.1% | 21.2% | 27.6% |
| Wix | 128 | 58.6% | 35.2% | 32.8% | 21.1% |
| Squarespace | 141 | 61.7% | 31.9% | 31.9% | 35.5% |
| Other or not detected | 576 | 39.9% | 60.2% | 25.2% | 19.1% |
Platform is detected from the homepage code and can be wrong for heavily customised sites.
What to do if this is your site
Most of these take minutes to fix, without a developer:
- Make the phone number tappable. Link it as
tel:so it rings on a phone. How, on each platform. - Add LocalBusiness markup. Fill in the free schema generator and paste the result.
- Give the homepage one clear heading and a description. Check how it looks in Google with the search result preview.
- Make sure Google is allowed in. The indexability checker stops at the first thing in the way.
Or check everything at once:
How we did it
The sample. We took every accountant, dentist, electrician, florist, hair salon, law firm, plumber, restaurant, roofer and vet that volunteers have mapped with a website in OpenStreetMap, inside the official boundaries of 30 cities: Belfast, Birmingham, Brighton and Hove, Bristol, Cardiff, Edinburgh, Glasgow, Leeds, Leicester, Liverpool, Manchester, Newcastle, Nottingham, Sheffield and Southampton in the UK; Atlanta, Austin, Charlotte, Columbus, Denver, Minneapolis, Phoenix, Pittsburgh, Portland, Raleigh, Sacramento, Salt Lake City, San Diego, Seattle and Tampa in the US. We removed chains and franchises (any website listed in two or more cities, or four or more times), social-media and directory pages listed as websites, and duplicates, then took up to 360 per trade, spread evenly across cities and chosen by a fixed random order.
What we read. Each site’s homepage, its robots.txt and its sitemap, in a single pass per site, at least two seconds between requests, from one location, on 13 and 14 October 2026. We obeyed robots.txt, identified ourselves as SEOPertBot with a link to our crawler page, and used the same code that runs our public audit.
The base. We tried 2,127 sites and could read 1,487. The rest are not counted as failures; they are listed below. Every percentage on this page is of the 1,487.
| What happened | Sites |
|---|---|
| Read successfully (the base) | 1,487 |
| Blocked our crawler (bot protection, 401/403/429/503) | 319 |
| Unreachable: no DNS, timed out, or a broken certificate | 211 |
| Asked crawlers to stay out in robots.txt (we did) | 40 |
| Returned an error page | 36 |
| Parked, for sale or suspended | 29 |
| Not a web page | 5 |
Every check, with exact counts
| Check | Sites | % | 95% interval |
|---|---|---|---|
| Homepage not served over HTTPS | 55 | 3.7 | 2.9–4.8 |
| Listed https:// address has a broken certificate | 9 | 0.6 | 0.3–1.1 |
| Homepage not indexable (noindex or robots.txt blocks Google) | 25 | 1.7 | 1.1–2.5 |
| No page title | 26 | 1.7 | 1.2–2.5 |
| Title longer than 60 characters | 423 | 28.4 | 26.2–30.8 |
| No meta description | 364 | 24.5 | 22.4–26.7 |
| No mobile viewport tag | 41 | 2.8 | 2.0–3.7 |
| No H1 heading | 368 | 24.7 | 22.6–27.0 |
| No LocalBusiness-type structured data | 868 | 58.4 | 55.8–60.9 |
| No LocalBusiness or Organization structured data | 611 | 41.1 | 38.6–43.6 |
| No phone number visible on the homepage | 300 | 20.2 | 18.2–22.3 |
| No tap-to-call (tel:) link on the homepage | 583 | 39.2 | 36.8–41.7 |
| No XML sitemap found | 178 | 12.0 | 10.4–13.7 |
| Homepage HTML took over 2 s to arrive | 214 | 14.4 | 12.7–16.3 |
| Homepage HTML over 500 KB (HTML only, not images) | 181 | 12.2 | 10.6–13.9 |
| (Quality flag) Under 50 words in the HTML, possibly JavaScript-built | 99 | 6.7 | 5.5–8.0 |
| Fails at least one basic check (HTTPS, indexable, title, description, mobile viewport, H1, phone number) | 717 | 48.2 | 45.7–50.8 |
What this does not tell you
- It is the homepage only. A business may have its phone number, headings or markup on other pages.
- It is not every business. It is the businesses OpenStreetMap volunteers have mapped with a website, which leans towards city centres and towards businesses with a visible online presence. It does not represent all small businesses.
- We read the HTML as sent. 6.7% of homepages had under 50 words in their HTML, which usually means the page is built by JavaScript in the browser. Some of their content may exist for visitors and still be invisible to simpler crawlers.
- Small groups are small. Electricians (25), plumbers (39) and roofers (38) are too few to compare reliably.
- Before publishing we re-checked 24 sites chosen at random against the live pages for title, description, main heading and tap-to-call link. All 96 readings matched.
Download the data
- summary-overall.csv Every check, all sites, with 95% intervals
- summary-by-trade.csv Every check by trade
- summary-by-country.csv Every check, UK and US
- summary-by-platform.csv Selected checks by website platform
- outcomes.csv What happened to all 2,127 sites we tried
We publish totals only. The per-site results stay private, because each one leads straight back to a named business and we said we would name none. If you run one of these businesses and want to know your own result, run the free audit: it checks the same things and more. To have a site left out of future studies, email hello@seopert.com.
Using these figures
You are welcome to quote and chart them. Please credit “SEOPert” and link to this page. For a specific trade, city or country breakdown, or a comment, email hello@seopert.com.
Sample drawn from OpenStreetMap data, © OpenStreetMap contributors, available under the Open Database Licence.