$149 · 24 hours

Field notes · 6 September 2026

The contractor websites that got it right.

Last week I counted what was broken on 31 contractor homepages and named nobody, because nobody deserves their business published next to a list of its faults. This week I went the other way. Twenty-four more homepages, the same twelve checks, and this time the businesses that passed are named — since nobody minds being named next to something they did well.

One site out of twenty-four passed all twelve. It is the same business that was the only clean site out of the thirty-one before it.

Jordan William · Apex Site Audits · Calgary, Alberta

How this was scored

24 homepages, one per business. Septic, excavation, restoration, roofing, landscaping, well drilling and utility construction, across the mountain west and southwest. None of them overlap with the 31 from last week except the one that won both times.

Fetched 5–6 September 2026. Twelve mechanical checks, run against the HTML each server actually sent, then every result on this page confirmed by hand.

The twelve: pinch-to-zoom not blocked · no dead links a customer would click · some way to send an email · a current copyright year · a title tag Google won't cut · a sharing image · a tappable phone number matching the one displayed · alt text on every image · exactly one top-level heading · a canonical tag · exactly one search description · HTTPS.

The result

The one that passed everything

Binkley & Mapes Roofing — Grand Junction, Colorado

Twelve out of twelve, checked by hand this morning. Seventeen images and every single one carries real alt text, which almost nobody does. A title tag of exactly 59 characters, so nothing gets cut in the search result. A current copyright year. A canonical tag. Nine Open Graph tags, so the link previews properly wherever it gets shared. One top-level heading. A phone number that is linked and identical to the number printed on the page. An email link and a working contact form. Not one line of leftover template text.

I went through it twice last week looking for something worth telling them and there was nothing. I went through it again today and there is still nothing. That is one site in fifty-five.

Two more worth naming

I am not publishing anyone's score but the winner's, because a number next to a business name is a judgment and these people did not ask to be judged. What follows is only what each one got right.

Arrow Service Team — Bismarck, North Dakota

Thirty of thirty-one images carry real alt text. The title is 57 characters. There is one main heading, a canonical tag, and two working tap-to-call links where the number that dials is the number printed on the page. For a 24-hour emergency restoration business, where every visitor is someone with water coming through a ceiling at midnight, getting the phone link right is the whole job and they have got it right.

A-1 Sanitation — Kalispell, Montana

All nine images carry real alt text. The title is 57 characters and says what they do and where. The copyright year is current. The number displayed is the number linked. It is a small site that does not try to be anything else, and almost everything on it is correct.

A correction to the last piece

Same rule as before. If I publish a number, I go back and check it, and when it does not reproduce I say so on the page rather than quietly fixing it.

Ten Open Graph tags, or nine?

Last week's piece said the one clean site had ten Open Graph tags. I re-fetched it this morning and counted nine. Either the site changed in two days or I counted a duplicate. I cannot tell which, so the honest thing is to say nine is what it has today and that the earlier number should not be relied on.

The sixty-two images nobody can see

One site in this batch appeared to have 72 images with alt text on every one, which would have been the best result of the whole set. Sixty-two of them are inside a Google reviews widget whose container is set to opacity: 0 and height: 0 until a script reveals it. The page a visitor actually loads has ten images. All ten do carry real alt text, so the business still deserves the credit — just not for seventy-two of them.

I got this wrong first and caught it second, which is the only reason it is on this page. Counting images in the markup is not the same as counting images on the page, and any tool that tells you otherwise is telling you about a file rather than a website.

What to copy from the ones that won

Nothing here costs money and none of it takes an afternoon.

  1. Put real alt text on every photograph.Not "image1". A sentence describing the job in the picture. It is what makes your own work findable in image search, and every site that scored well did it.
  2. Keep the title under 60 characters and put the town in it.Business name, what you do, where you are. That is the blue line people read in Google before deciding whether to click you or the next contractor.
  3. Make the year update itself.Half the sites here failed this and it is the cheapest fix on the list. One line of code and it can never go stale again.
  4. Add a sharing image.One line and one photo of your best finished job, landscape, at least 1200 pixels wide. Then a recommendation in a group chat arrives with your work attached to it.
  5. Make sure the number you print is the number that dials.Open your own site on your own phone and tap it. That is the entire test.

The other half takes longer.

Twelve checks is what a careful hour finds. The rest of it — the duplicated pages, the promotion that expired in spring, the FAQ recommending your competitors by name, the thing your site says on a phone that it doesn't say on a laptop — is what I do for $149. One page, read line by line, every problem written down in order of what it's costing you, with the fix under each one. Back inside 24 hours.

If the document doesn't contain at least three real problems, you don't pay. You keep it either way.

Audit my website — $149

Read a complete audit first: a real site, findings untouched, identity redacted →
Or read the other side of this: what was broken on 31 contractor websites →