Schema markup is the connective tissue between your contractor website and how Google + AI engines understand your business. Most contractor sites have either zero schema or broken schema. This is the implementation checklist we use on every Iron Pine engagement.
Schema type 1: Organization
Organization schema identifies your business as an organization. Required fields: name, url, logo. Recommended: sameAs (social profiles), founder (Person), contactPoint (email + phone). Deploy once, sitewide via the layout — not per page.
Schema type 2: LocalBusiness (or subtype)
LocalBusiness schema (or a specific subtype) identifies your business as a local business. Schema.org provides specific subtypes for many contractor categories: Plumber, RoofingContractor, HVACBusiness, ElectricalContractor, HomeAndConstructionBusiness. Use the most specific subtype that matches your category.
Required fields: name, address (PostalAddress with all components), telephone, openingHoursSpecification. Highly recommended: geo (GeoCoordinates), areaServed (City array), image, priceRange. The areaServed property is particularly powerful — it explicitly tells Google your service area.
Schema type 3: Service (per service)
Each distinct service you offer should have its own Service schema block. Required: name, description, provider (link to Organization), serviceType. Recommended: areaServed, offers (with priceRange), audience.
Common mistake: contractors deploy one generic Service schema covering everything. Deploy separate blocks per distinct service. A roofer should have separate Service schemas for Roof Replacement, Roof Repair, Roof Inspection, and any specific material services (Metal Roofing, Tile Roofing, etc.).
Schema type 4: FAQPage
FAQPage schema marks the FAQ section of a page. Each question becomes a Question with an accepted Answer. FAQPage is one of the highest-impact contractor schema types — it enables FAQ rich snippets in Google search results and is heavily favored by AI engines for citation.
Add FAQPage schema to every service page, industry page, and city page with meaningful FAQ content. 5-10 FAQs per page is typical. Use the exact question patterns your buyers actually search.
Schema type 5: BreadcrumbList
BreadcrumbList schema describes the page's location in the site hierarchy. Required: itemListElement array of ListItem objects, each with position and item (URL + name). Enables breadcrumb rich snippets in Google results.
Schema type 6: Review / AggregateRating
Review schema marks individual customer reviews on a page. AggregateRating summarizes the average rating across reviews. Critical: only use Review schema for genuine, verifiable reviews. Google penalizes fake review markup heavily — including permanent removal of rich snippets eligibility.
Best practice: display 3-5 actual Google reviews on key pages, with corresponding Review schema. Add AggregateRating to the LocalBusiness schema once you have 10+ legitimate reviews. Until then, skip Review schema entirely.
Schema type 7: HowTo
HowTo schema describes a step-by-step process. For contractors, HowTo schema is useful on process pages ('How our roof replacement works'), educational articles, and the about-our-method sections of service pages.
Required: name, step array (each step is a HowToStep with name and text). Recommended: description, totalTime, tool, supply.
Validation workflow
- Write schema in JSON-LD format inline in your HTML via <script type='application/ld+json'> tags.
- Validate at validator.schema.org — catches syntax errors and Schema.org compliance.
- Validate at search.google.com/test/rich-results — catches Google-specific validation issues + previews rich results.
- Submit affected URLs in Google Search Console for re-crawl.
- Monitor Enhancements section in GSC weekly to track rich result eligibility per page.
- Quarterly: re-validate all schema as Schema.org and Google guidelines evolve.
Common deployment mistakes
- Invalid JSON — extra commas, mismatched braces, missing quotes. Always validate before deploy.
- Missing required properties — varies by schema type, check Schema.org docs per type.
- Schema describing one thing while the page is about something else. Schema must match page content.
- Mixing JSON-LD with deprecated microdata or RDFa. Pick JSON-LD, remove the others.
- Using generic Organization schema instead of more specific subtype. Specific schema is more powerful.
- Adding fake Review schema. Google penalizes this heavily — sometimes permanently.