The Challenge
A residential and commercial lawn care company serving the Raleigh side of Johnston County, on a website with the usual gaps: generic schema, no Service markup, no FAQ markup, no AI crawler policy, no llms.txt. Home services is where people ask an assistant “who should I call” most literally. Baseline in the August batch: 48 out of 100, Weak.
The Work
A deliberately capped install so the price stayed sane for a seasonal client: a sitewide entity block, Service schema on the service pages, FAQ markup on real questions, a robots.txt allow-list, a physical llms.txt, and phone-number consistency. The first version shipped a schema type called LawnCareService. It sounded right. It does not exist at schema.org, and the verification scan flagged it. We replaced it with LocalBusiness plus HomeAndConstructionBusiness and an additionalType pointing at the real lawn-care concept, and re-ran the scan.
The Result
97 out of 100 on verification, and 97 again on two re-checks over the following week. The honest lesson is in the middle: an invented type looks fine to a person and is ignored by every machine. Always verify a schema type resolves before shipping it, and always rescan.