A third of UK contractor websites won't let you tap the phone number.
We opened 100 UK building services websites in a real browser and ran eight checks on each homepage. Twenty-five could not be measured at all. Of the 75 that could, a third give you a phone number you cannot tap.
Method, full data and the one conclusion we had to throw away are all below.
have no tappable phone link
24 of 75
show no phone number near the top
17 of 75
passed all eight checks
36 of 75
of the 100 could not be measured
dead, broken or not a site
The method comes first, because it changed the numbers.
We took 100 UK building services contractors from our own prospect list: 69 in ventilation, HVAC and air conditioning, 31 in plumbing, electrical and heating. This is not a random sample of the UK market and we are not going to pretend it is.
Every homepage was opened in a headless Chrome browser and left to load fully before we read the finished HTML. That matters more than it sounds.
Our first attempt used ordinary HTTP requests. Seventeen sites returned 403 to it: alive, but they would have been counted as broken. Twenty-five more returned a 0.2 KB bot-protection page with no title, no description and no phone number on it, so every check came back "missing" for a page that was never the company's site.
Plenty of sites also build their header, phone number included, with JavaScript. An HTTP request never sees it. Since the headline finding is about the phone number, mixing two ways of measuring would have made the comparison meaningless, so every site was measured again with the same tool.
Take specialistventilation.com. Its homepage carries a phone number. The page source has zero href="tel:" anywhere on it, so the number sits there as plain text and a thumb cannot dial it.
Same on canopyventilations.co.uk, which prints two numbers and links neither, and on hvacengineeringelectricalltd.co.uk. That is the check. Open any of them, press the number on a phone, and see what happens.
Every row below can be checked the same way. That is why the domains are in the data: a measurement nobody can repeat is just an assertion.
What cleaning the data did to the numbers
Three passes. Every one of them moved the figures down, for the same reason each time: a page that will not open looks identical, to a script, to a site that has nothing on it.
| Check | First pass | In a browser | Cleaned |
|---|---|---|---|
| No tel: link | 56% | 39% | 32% |
| No structured data | 42% | 27% | 19% |
| No viewport tag | 18% | 1% | 0% |
| No HTTPS | 7% | 8% | 0% |
| No title | 16% | 1% | 0% |
Why 100 became 75
The last nine only surfaced on the third pass. A Chrome error page weighs about 130 KB, so it sails through any filter based on page size and lands in the statistics as a site that has nothing on it. Someone has to read the titles.
On the 14 dead domains, the honest phrasing is "14 of the 100 domains in this list no longer respond", not "14% of contractors have lost their website". The list was built in July 2026 and firms move or close.
All 75 measured sites.
| Finding | Count | Share |
|---|---|---|
| No tappable tel: link | 24 of 75 | 32% |
| No phone number near the top of the page | 17 of 75 | 23% |
| No structured data (JSON-LD) | 14 of 75 | 19% |
| No meta description | 7 of 75 | 9% |
| No Open Graph tags | 7 of 75 | 9% |
| No HTTPS, no title or no viewport | 0 of 75 | 0% |
HTTPS, page titles and mobile viewport tags are effectively solved. Every site that opened had all three. The gap is no longer in whether a site exists, it is in whether it does anything for the person holding a phone.
We thought ventilation lagged every neighbouring trade. It doesn't.
On the uncleaned data, ventilation and HVAC firms looked worse than plumbing, electrical and heating firms on all eight checks. It made a good story and we had written the explanation for it.
Then we cleaned the data and ran Fisher's exact test on each check. Nothing survived.
| Check | Vent (50) | Other (25) | p |
|---|---|---|---|
| No tel: link | 36% | 24% | 0.43 |
| No phone near the top | 22% | 24% | 1.00 |
| No structured data | 24% | 8% | 0.12 |
| No meta description | 12% | 4% | 0.41 |
| No Open Graph | 12% | 4% | 0.41 |
With 50 sites against 25, a twelve point gap is 18 cases against 6. That fits comfortably inside chance. The difference we were about to explain was a difference we could not show existed.
What survives is one number, and it holds across the whole sample: a third of these sites will not let you tap the phone number.
Nearly half of them passed everything.
Thirty-six of the 75 cleared all eight checks. Not one site failed more than four. This is not an industry with broken websites, it is an industry where half the sites are fine and the rest miss one or two cheap things.
Four in five run WordPress or Wix.
We read the platform off the page source. The median column is the weight of the homepage HTML, which is the one place the platforms genuinely differ.
| Platform | Sites | Median page weight |
|---|---|---|
| WordPress | 39 | 204 KB |
| Wix | 22 | 759 KB |
| Custom or unknown | 10 | 106 KB |
| Everything else | 4 | - |
A Wix homepage arrives about four times heavier than a WordPress one and seven times heavier than a hand-built page. The heaviest in the sample was 2,075 KB.
What the platform does not predict is whether the checks pass. WordPress sites missed a tappable phone link 26% of the time and Wix sites 36%, which at these numbers is p = 0.40. Nothing to see.
All 75 sites, named.
Alphabetical, not ranked. Every one of these is a public homepage and every check can be repeated in a browser in about ten seconds. Thirty-six of them have nothing missing at all.
| Website | Trade | Platform | KB | Missing |
|---|---|---|---|---|
| acr-services.uk | Ventilation | WordPress | 543 | nothing |
| acventilation.com | Ventilation | WordPress | 123 | nothing |
| airsourcecompany.com | Ventilation | Wix | 2075 | nothing |
| ajventilationservices.co.uk | Ventilation | WordPress | 274 | nothing |
| akelectricians.co.uk | Other trades | WordPress | 159 | nothing |
| allduct.co.uk | Other trades | Wix | 741 | nothing |
| alpinaircon.com | Ventilation | Wix | 463 | nothing |
| amlhvac.co.uk | Ventilation | WordPress | 72 | meta description, structured data |
| assuredelectriciansbirmingham.co.uk | Other trades | WordPress | 137 | structured data |
| ave-ltd.com | Other trades | WordPress | 904 | nothing |
| azplumbingcontractors.co.uk | Other trades | WordPress | 220 | nothing |
| baynes-ac.com | Ventilation | Wix | 814 | tel: link |
| bhamair.com | Ventilation | WordPress | 240 | nothing |
| brsbristol.com | Other trades | WordPress | 386 | meta description, structured data, Open Graph |
| buildandventilation.co.uk | Ventilation | Custom or unknown | 197 | tel: link |
| canopyman.uk | Ventilation | Shopify | 432 | meta description, tel: link, phone at top |
| canopyventilations.co.uk | Ventilation | WordPress | 160 | tel: link |
| completeventsolutions.co.uk | Other trades | WordPress | 242 | phone at top |
| coolstreamac.co.uk | Ventilation | WordPress | 186 | phone at top |
| debonaircooling.co.uk | Ventilation | Custom or unknown | 381 | nothing |
| drhplumbing.co.uk | Other trades | Wix | 714 | tel: link |
| ductworksolutions.org | Ventilation | Custom or unknown | 31 | tel: link, phone at top, structured data |
| ecostream.org.uk | Ventilation | WordPress | 476 | nothing |
| evercool.uk | Ventilation | Wix | 604 | nothing |
| fairwayelectricalbristol.co.uk | Other trades | Drupal | 104 | nothing |
| fanservices.co.uk | Ventilation | WordPress | 714 | nothing |
| firstchoiceaircon.co.uk | Ventilation | Wix | 777 | nothing |
| fusion-elec.co.uk | Other trades | WordPress | 150 | tel: link, phone at top |
| greaterbirminghamaircon.com | Ventilation | Wix | 601 | nothing |
| grovebellelectrical.com | Other trades | WordPress | 247 | nothing |
| hbelectricalbristol.co.uk | Other trades | WordPress | 165 | phone at top |
| heatsafebirmingham.co.uk | Ventilation | WordPress | 322 | nothing |
| hrv-group.com | Ventilation | Custom or unknown | 142 | phone at top, structured data |
| hvacengineering.co.uk | Ventilation | Wix | 491 | tel: link, phone at top, structured data |
| hvacengineeringelectricalltd.co.uk | Ventilation | WordPress | 92 | tel: link |
| iaventilation.co.uk | Ventilation | Wix | 1056 | nothing |
| jrventilation.co.uk | Ventilation | GoDaddy | 262 | tel: link, structured data |
| kelvent.co.uk | Other trades | WordPress | 168 | tel: link |
| koolit.co.uk | Ventilation | WordPress | 134 | nothing |
| leicester-aircon.co.uk | Ventilation | Wix | 1546 | nothing |
| leonteam.co.uk | Ventilation | Custom or unknown | 24 | Open Graph |
| londonplumbers.com | Other trades | Custom or unknown | 174 | nothing |
| londonvents.co.uk | Ventilation | Custom or unknown | 70 | structured data, Open Graph |
| mac-ventilation.co.uk | Ventilation | Wix | 626 | nothing |
| macventilation.co.uk | Ventilation | Wix | 713 | meta description, tel: link |
| manchestercooling.com | Ventilation | WordPress | 146 | phone at top |
| mcventilation.co.uk | Ventilation | Wix | 1927 | nothing |
| midlandairconditioning.co.uk | Ventilation | WordPress | 204 | tel: link, phone at top |
| midtechservices.co.uk | Ventilation | WordPress | 233 | nothing |
| mjpelectrical.com | Other trades | WordPress | 493 | nothing |
| msventilation.com | Ventilation | WordPress | 160 | tel: link, phone at top, structured data, Open Graph |
| mvhr-commissioning.com | Ventilation | Weebly | 42 | tel: link, phone at top, structured data |
| nimanelectrical.com | Other trades | Wix | 1357 | nothing |
| ntscooling.co.uk | Ventilation | Wix | 990 | tel: link, phone at top |
| pedal-powered-plumbing.co.uk | Other trades | Wix | 474 | nothing |
| pmjkitchenventilation.co.uk | Other trades | Wix | 1804 | tel: link |
| precision-electrical.co.uk | Other trades | WordPress | 187 | nothing |
| reactboilerrepair.co.uk | Other trades | WordPress | 117 | nothing |
| rematventilation.com | Ventilation | WordPress | 265 | nothing |
| rsm-air.co.uk | Ventilation | WordPress | 89 | meta description, structured data, Open Graph |
| rudkinandherbert.co.uk | Other trades | WordPress | 258 | phone at top |
| sasaircon.co.uk | Ventilation | Wix | 1424 | nothing |
| saturnsales.co.uk | Ventilation | Custom or unknown | 56 | tel: link, phone at top, Open Graph |
| solihullair.co.uk | Ventilation | Custom or unknown | 38 | structured data, Open Graph |
| specialistventilation.com | Ventilation | WordPress | 49 | tel: link |
| strongventilation.com | Ventilation | Custom or unknown | 158 | structured data |
| thermalairsolutions.com | Other trades | Wix | 724 | tel: link |
| tkac.co.uk | Ventilation | WordPress | 414 | nothing |
| vallectric.co.uk | Other trades | WordPress | 129 | tel: link, phone at top |
| ventdirect.co.uk | Ventilation | WordPress | 881 | tel: link |
| vss-ltd.co.uk | Ventilation | Wix | 434 | meta description, tel: link, structured data |
| vssltd.co.uk | Other trades | WordPress | 772 | phone at top |
| westcottairconditioning.co.uk | Ventilation | Wix | 983 | nothing |
| wholeventilationservices.co.uk | Ventilation | WordPress | 143 | meta description, tel: link |
| zodiacplumbing.co.uk | Other trades | WordPress | 247 | nothing |
What this does not say
- It is not a random sample of UK contractors. It is 100 firms from one prospect list, weighted towards ventilation. Read it as a snapshot of that list.
- Eight technical checks are not a judgement of a business. Plenty of firms with a poor score are booked solid on word of mouth.
- A tappable phone link is not proof of anything on its own. It is the cheapest thing on this list to fix, which is why it is worth naming.
- We did not test speed, accessibility or content. Those need a different method and we would rather publish four checks we trust than eight we do not.
The data
Every percentage above can be recomputed from this file: 75 rows, one per measured site, with all eight checks, the platform it runs on, the page weight and how many checks it failed.
The domains are in it. We published an anonymised version first and it was the wrong call: a row reading site-001, false, false cannot be checked by anyone, which makes it worth nothing on a page whose whole claim is that you can check it.
These are measurements of public homepages, not a verdict on anybody's business. Half the list has nothing missing. If a site here has changed since 1 September, tell us and we will re-measure it and update the file.
Download the data (CSV, 75 rows)Measured 1 September 2026 in headless Chrome. Published 9 September 2026, revised 10 September to name the sites and add the platform and page-weight columns. Free to reuse with a link back.
Lumith is a London studio building websites, software and AI for UK businesses, with a deep specialism in construction and trades. We ran this because it is our own prospect list. About the studio.