We read 43 contractor websites in Phoenix and Dallas-Fort Worth. Here is what machines saw.
In September 2026 we read 43 contractor websites across two metros - Phoenix, Arizona and Dallas-Fort Worth, Texas - and looked at 1,215 pages. Not their rankings. Not their traffic. Just what a crawler or an AI reader gets when it opens the page.
This is a follow-up to our Palm Beach County study, and it exists because one county is not a country. Two metros, five trades, one question: what do these sites actually hand a machine?
What we counted, and what we did not
We pulled each site's sitemap, took up to 30 pages, and measured four things per page: whether the homepage has an H1, how many images carry alt text, how many words of body copy the server sends, and how many links inside the body text point to another page on the same site.
Two deliberate choices shaped the numbers:
- Menus do not count as links. We removed navigation, headers, footers and sidebars, and we also treated any link appearing on 80% or more of the pages as boilerplate. A link in the top menu tells a machine that a page exists. A link inside a sentence tells it what that page is about. Only the second one is counted here.
- We read what the server sends. No JavaScript was executed. That is deliberate: it is the same document many crawlers and AI readers work from. If a site draws its headings after JavaScript runs, our count says zero - and so does the copy some machines read.
We did not measure rankings, traffic, revenue, or whether any of these businesses appear in AI answers. Those are different questions with different methods.
The numbers
Images: 32% are invisible to a machine
Across the 43 sites we counted 8,989 images. 2,844 of them - 32% - carry no alt text. To a machine those are blank rectangles.
36 of the 43 sites had at least one image with no alt text. The spread was wide: several sites had alt text on every single image, and one site had alt text on 30 of its 420 images.
Contractors are a photo-heavy trade. A roofing site with 250 pictures of finished roofs and no alt text has handed a machine 250 blank spaces where it could have had 250 descriptions of work.
Headings: 23% of homepages have a broken H1
5 of 43 homepages (12%) had no H1 heading at all in the HTML their server sends. Another 5 (12%) had more than one - two of them had three.
The H1 is the single line that tells a reader, human or machine, what a page is about. Zero means the machine has to guess from the title tag and the body. More than one means it has to pick.
In-body links: 28% of pages are orphans
This was the largest finding in our first study and it repeated here.
336 of the 1,215 pages we read - 28% - contain no link to another page of the same site inside the body text. They are connected to the rest of the site only through the menu.
26 of 43 sites (60%) had at least one such page. 15 of 43 (35%) had more than half their pages in that state. The most extreme site in the group had 29 of its 30 pages that way.
The median site sent about 3.1 in-body links per page. The best sent more than 10. The weakest sent fewer than 0.2.
Length
The median site averaged about 1,000 words of body copy per page, ranging from about 270 to about 2,500. We report this without a verdict: there is no correct number, and a short page that answers the question can beat a long one that does not.
The error we caught in our own measurement
We are publishing this part because a study that hides its mistakes is not worth reading.
Our first pass removed navigation, headers and footers before removing scripts. On most sites that changes nothing. On a small number it changes everything: if a page's JavaScript happens to contain the text of a closing structural tag, the removal can match across it and delete the real body copy in between.
One site came back at 38 words per page. The correct figure was 872. Same page, same day - the only difference was the order of two operations.
We fixed the order, then re-checked every site in the study old method against new. Two of 43 were affected. Both were re-measured and the corrected figures are the ones above. The other 41 returned identical numbers.
Alt text counts and heading counts were never affected - those are read from the raw document, before any of this happens.
What this does not tell you
- It is a snapshot. These sites were read on one day. Anything could have changed since.
- 43 is a small sample. It is enough to say these patterns are common in this group. It is not enough to say what share of every contractor site in America looks like this.
- None of these are faults. A page with no in-body links is not broken; it works perfectly for a human. It is simply giving a machine less to work with than it could.
- We are not naming anyone. No business in this study is identified, here or anywhere else.
If you want to check your own site
Every number above comes from things you can look at yourself: view the page source and search for <h1, count how many <img tags have an alt= with something in it, and read a service page to see whether it links to another page of yours in a sentence rather than only in the menu.
Or paste your address into the scanner on this site and it will do the same reading for you, free and without an account.
FAQ
- Why did you exclude menu links?
- Because a menu appears on every page and says the same thing everywhere. It tells a machine that a page exists, not which page matters for a given subject. A link written inside a sentence carries the sentence with it, which is the part a machine can use.
- Why not run JavaScript?
- Because many crawlers and AI readers work from the document the server sends. Reading it the same way shows what those readers get. A site whose headings only appear after JavaScript runs may look complete in a browser and empty to them.
- Is 28% of pages having no in-body link unusual?
- We can only speak for what we read. In this group of 43 sites across two metros, 28% of 1,215 pages were in that state and 35% of the sites had more than half their pages that way. Whether that holds for contractors generally, we do not know and do not claim.
- Which businesses were in the study?
- We do not publish them. The point is the pattern, not any individual site, and none of these findings are faults worth naming a company over.
- Does fixing these things get me into AI answers?
- No one can promise that, and anyone who does is guessing. These are inputs a machine reads. Making them readable means a machine has more to work with. What it then does with that is outside anyone's control.