A contractor site that refuses to advertise a credential he does not hold
Twenty four pages for a sole trader in restoration, where what the site is allowed to claim is derived from his actual certifications rather than typed in by hand.
Built, waiting on client details before launch
- 24
- Pages built
- Services, service areas, and the legal set, generated from one configuration file.
- 0
- Structural audit errors
- Re-run today against the built site: dead links, alt text, heading order, metadata, structured data. 22 warnings, all of them unfilled client details.
- 0
- axe-core violations
- Every page in the sitemap, at 390px and 1440px.
- 5
- Blocking items it will not launch with
- Listed by npm run verify, which exits non-zero until they are real.
The claim that was quietly false
The first build said "Liability & Workers’ Comp" in five places, because that is what restoration companies put on their websites. It was wrong. The owner is a sole proprietor working alone, and a sole proprietor with no employees is exempt from workers’ compensation in both Idaho and Washington. The site was advertising cover he did not hold.
It is now derived. One field says whether there are employees; a function reads it and decides what the insurance line is allowed to say, everywhere it appears. The claim can only ever be as true as the data, and it flips by itself on the day he hires someone.
Certifications map to services, not to marketing
He holds IICRC WRT, which is Water Damage Restoration Technician. It covers water damage only. Mould is a different designation, AMRT, which he does not hold. So the site maps designations to services: the mould page cannot make an IICRC claim, and adding AMRT to one array is what switches it on the day he earns it.
He also holds AHERA asbestos building inspector accreditation, which permits him to survey, sample and report, and does not permit him to remove anything. The demolition page states that limit inside the same box that advertises the capability, because a trade buyer who finds out later is a trade buyer you lose.
Where each service may legally be sold was checked state by state. Texas licenses mould remediation through TDLR and requires a state inspector licence on top of AHERA, so Texas pages withhold both services automatically rather than relying on anyone to remember.
Unfinished is visible, not invisible
A client cannot always supply everything on the day you need it. The usual outcome is a site that goes live with a placeholder phone number nobody notices for a month.
Here, any value that is not yet real renders as a red hazard striped marker in the place it will eventually occupy. The red blocks in the screenshots on this page are that mechanism working: the phone number has not been supplied yet. A command lists every outstanding item and exits with an error until they are all filled, so the site cannot be handed over as finished while it is not.
One legal requirement that most contractor sites miss
Washington RCW 18.27.100 requires a contractor to show their registration number in any advertising that shows the business name. A website is advertising. The penalty runs to $10,000. Idaho asks for its registration number in the same way.
Both are on the blocking list, which means the site will not sign itself off as ready to publish until the numbers are in it.
What this involved
Built with