LocalBusiness schema for contractors: what AI actually reads
Schema is structured data you add to your pages that states your business facts in a format machines read directly — instead of guessing them from your text. For contractors, the right block turns "some website about electrical work" into "an electrician serving [city], reachable at [phone], offering [services]." AI answers change daily; a scan is a snapshot, but clean schema is one of the most durable things you can fix.
The fields that matter for a contractor
- @type — use a specific type when one fits (Electrician, Plumber, HVACBusiness, GeneralContractor); otherwise LocalBusiness.
- name, url, telephone — the basics, stated once and consistently.
- areaServed — the cities and county you cover. For contractors this is often more important than a street address, because you go to the customer.
- address — see the service-area note below.
- openingHoursSpecification — your real hours.
- sameAs — links to your Google Business Profile, Facebook, Instagram: this ties your site to your other profiles as one entity.
- contactPoint — phone plus languages spoken.
- knowsAbout / hasOfferCatalog — your service list, so the services are explicit facts, not buried text.
Service-area businesses: the address question
Many contractors work from home and don't want their home address public. You don't have to publish it. A common approach: state your city, region, and country at the locality level (no street address), list your coverage in areaServed, and skip precise geo coordinates — a lat/long implies a physical premises customers visit. Use a hasMap link to your Google Business Profile instead. This keeps you legible without exposing where you live.
Common mistakes
- Wrong or missing @type, so you're not clearly a local service.
- No areaServed, so machines don't know where you work.
- Conflicting NAP between schema, your visible page, and your Google Business Profile.
- Duplicate or conflicting schema — many WordPress SEO plugins already output a business block; adding a second by hand can create two conflicting entities. Extend the existing one rather than bolting on a duplicate.
- Fake review markup — inventing star ratings in schema violates guidelines and can get you penalized. Don't.
How to check
Your schema is in your page source or output by your SEO plugin. A scan can flag whether a LocalBusiness/Electrician block exists and whether key fields are present, and whether anything conflicts — but you'll still want to confirm the facts match your Google Business Profile.
FAQ
- Do I have to put my home address in schema?
- No. For a service-area business you can state city/region only, list coverage in areaServed, and link a Google Business Profile via hasMap instead of publishing a street address.
- My SEO plugin already adds schema — do I need more?
- Often it covers the basics but omits fields like areaServed, contactPoint, or a full service list. Extend the existing block; don't add a second, conflicting one.
- Will schema make AI name my business?
- It makes you easier to read accurately, which improves your odds — but AI answers change daily; a scan is a snapshot, and schema alone guarantees nothing.
- Should I add review stars to my schema?
- Only if they're real and follow guidelines. Inventing ratings can lead to penalties.