Skip to main content
SEOSchema MarkupStructured DataContractorsAI Search

Schema Markup for Contractors: The 6 Structured Data Types That Actually Move Local Rankings in 2026

Current Digital Co
A contractor's home office desk at dawn with a laptop, a printed Google search result with map-pack listings highlighted, a yellow legal pad with hand-drawn schema notes, and a coffee mug, with cold blue morning light coming through a tall window.

You may have heard that AI is about to make schema markup obsolete. You can test that yourself in five minutes. Pull up the search results for "roofer Toms River NJ" and run the top few sites through Google's Rich Results Test to see which ones carry LocalBusiness schema. If an AI Overview shows up, note which site it cites. Then run your own site through the same test. If it has no schema, you're giving neither Google nor the AI much to work with.

Updated September 2026: this post used to list seven types. We cut the seventh, Speakable, because we had it wrong. Per Google's documentation, Speakable only marks news text for the Assistant to read out on smart speakers, which has nothing to do with contractor search. More on that below.

Schema markup is not obsolete. It is the opposite. The shift from blue-link search to AI-cited answers makes structured data more important, not less, because LLMs need structured data to confidently extract facts. Contractors who skip schema in 2026 are not just leaving Google rankings on the table. They are invisible to ChatGPT, Perplexity, Google AI Overviews, and every AI tool that is going to be the front door of the internet for the next decade.

This is the post we wish every contractor read before their next "SEO" check went out. The six schema types below are the ones that actually move local rankings and AI citations for service businesses in 2026. Everything else is optional.

The Honest State of Schema in 2026

Three things are true at the same time.

One. Google does not directly rank sites higher because of schema. Schema is not a ranking signal in the strict sense. It is a clarity signal that helps Google understand what a page is and which entity it is about. The pages that win are the ones Google understands the fastest.

Two. Schema unlocks rich results. Star ratings in the SERP, business hours, the map pack profile. None of these surface without the right structured data underneath. Rich results cut into the click share of the plain blue links above them, which is the indirect ranking effect that matters in practice.

Three things we used to list here do not belong. FAQ accordions: Google retired the feature in May 2026, and the FAQPage section below covers what the markup is still good for. The "People Also Ask" boxes: no markup has ever controlled those. Google fills them from the text on the page, the same way it fills featured snippets, and its own answer to "How can I mark my page as a featured snippet?" is "You can't." Service and OfferCatalog blocks: real value, but as a clarity signal, which is point One above, not a rich result of their own.

Three. AI Overviews, ChatGPT, Perplexity, and Claude pull cited answers preferentially from sites with rich structured data because the data is machine-extractable. A contractor with thorough schema gets cited in AI answers. A contractor without schema does not.

The combined effect for a service business in 2026: schema does not get you to #1, but #1 is reserved for sites with schema. The honest move is to deploy the six types below, validate them, and move on with the rest of your SEO work.

The 6 Types That Actually Matter

The schema priority list for a contractor, in order:

  1. LocalBusiness (subtype-specific): the foundation
  2. Organization: entity identity
  3. WebSite: site identity and search box
  4. Service with OfferCatalog: what you sell and where
  5. FAQPage: machine-readable copy of your visible Q&A
  6. Review and AggregateRating: trust signal

The rest of the schema.org catalog has its uses (HowTo, BreadcrumbList, Article, Person, VideoObject) but the six above are the ones every contractor needs to deploy and validate first. The rest are situational.

1. LocalBusiness (Subtype-Specific)

The single most important piece of schema for any contractor. The version you want is not bare LocalBusiness. It is the industry-specific subtype:

  • Roofers: RoofingContractor
  • Cleaners: CleaningService
  • Tilers, masons: HomeAndConstructionBusiness (no tile-specific subtype exists)
  • Landscapers: LandscapingBusiness (use Service for "lawn care")
  • HVAC: HVACBusiness
  • Electricians: Electrician
  • Plumbers: Plumber
  • General contractors: GeneralContractor

The subtype matters because Google uses it to categorize the entity. A roofer marked up as a generic LocalBusiness competes with every other type of local business. A roofer marked up as a RoofingContractor competes with roofers specifically. The rich results, AI citations, and map-pack inclusions are all calibrated against the subtype.

The minimum fields every contractor needs on the LocalBusiness entity:

  • A stable entity ID. A persistent identifier that every other schema block on the site can reference back to. Without it, Google treats every page as a separate business.
  • Name, URL, telephone, email. The basics. Has to match the Google Business Profile exactly. NAP (name, address, phone) consistency across schema and GBP is non-negotiable.
  • A real postal address. Street, city, region, postal code, country. Even if the business is service-area-only and does not take walk-ins, the address still belongs in the schema.
  • Geo coordinates. Actual latitude and longitude pulled from Google Maps, not approximations.
  • areaServed as a list of cities. Not a single string. A structured list of every town in the service area, with each city linked back to its state. This is how Google understands that a site serving 12 Ocean County towns is one business serving multiple cities, not 12 separate listings.
  • Opening hours, broken out by day. Even "open 24/7 by appointment" can be expressed structurally.
  • Price range as a $ / $$ / $$$ marker.
  • sameAs links out to the Google Business Profile, Facebook, Yelp, BBB, Angi, and any other authoritative profile. This is how Google connects the schema entity to the GBP listing.
  • Logo and storefront image as absolute URLs.

The fields most contractors miss are the entity ID, the structured areaServed list, the real geo coordinates, and the sameAs links to authoritative profiles. Those four account for most of the lift on a "good" schema deployment versus a half-done one.

If a contractor's site has nothing else, this one schema block on every page, deployed correctly, will make a real difference.

2. Organization

The LocalBusiness block describes the business. The Organization block describes the legal entity. They are linked but distinct. For a single-location contractor, the two often overlap, but Google reads them differently and benefits from seeing both.

The fields that earn AI citations on the Organization block:

  • knowsAbout. A list of topic strings declaring what the organization is expert in. This is the "entity expertise" signal. Pack it with 10 to 20 specific technical terms, product names, and methods relevant to the business (for a roofer: asphalt shingle roofing, GAF Timberline HDZ installation, storm damage repair, ice and water shield, synthetic underlayment, ridge vent ventilation, and so on). LLMs use this field to decide whether your site is authoritative on a specific question.
  • hasCredential. A list of real certifications, each linked back to the issuing organization. GAF Master Elite, Owens Corning Preferred, IICRC certification, OSHA training, state contractor licensing. Each one is a credibility hook the AI engines can verify.
  • founder. A Person entity for the founder or owner, with a name and ideally a link to a bio page. This adds an author-entity to the site, which is part of how E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) gets calculated.
  • foundingDate. The year the business was established, in a machine-readable format. "Family-owned since 2008" as marketing copy is fine; the schema needs the date.

Most contractors skip this block entirely. The competitors with this block deployed get the AI citations on questions like "best GAF roofer in Ocean County NJ" because the system can see the credentialing.

3. WebSite

The smallest schema block, the easiest to deploy, and the one almost everyone misses. The WebSite block tells Google the site is the canonical web property for the business and optionally registers a sitelink search box.

The fields that belong on it are a stable site ID distinct from the business and organization IDs, the site URL and the brand name, and a publisher link pointing back to the Organization entity, so Google understands which org owns the site.

You can optionally add a SearchAction. This enables a sitelink search box in branded SERPs, where a user searching for the business name can search the site directly from the Google result. Most contractor sites do not have a site-search feature, in which case skip the SearchAction and keep just the identity fields. Even the identity-only version helps Google connect the site to the entity.

4. Service + OfferCatalog

The schema type that explicitly tells Google what the contractor does and which cities they do it in. This block belongs on the home page and on every service page.

The structure to aim for, in plain English:

  • A Service entity describing one specific offering (Roof Replacement, Bathroom Remodel, Move-Out Cleaning).
  • A serviceType string naming that offering.
  • A provider pointing back to the LocalBusiness entity.
  • An areaServed list of every city the service is offered in. This can repeat from the LocalBusiness block; redundancy is fine and helpful.
  • A hasOfferCatalog with a list of Offer entries underneath, each one naming a discrete sub-service (Asphalt Shingle Roof Replacement, Storm Damage Repair, Roof Ventilation Retrofit, Ice and Water Shield Installation, and so on).

The signal Google reads: this business offers these specific services in these specific cities, and the provider is the LocalBusiness entity already established on the site. Every offer in the catalog is a discrete service that can be matched against a user query. A user searching "storm damage roof repair Lacey NJ" matches the structure on three of the three relevant dimensions: service, sub-service, and city.

The mistake most contractors make is listing 25 vague services. Better to list 5 to 10 specific services with technical detail. "Asphalt Shingle Roof Replacement" is a better entry than "Roofing." "GAF Timberline HDZ Installation" is a better entry than "Shingle Installation." Specificity is the entire point of the catalog.

5. FAQPage

Corrected October 2026: this section used to promise accordion answers in the SERP. That rich result is gone. Google restricted it to well-known government and health sites back in August 2023, announced in May 2026 that it would stop appearing in Search entirely, and removed the documentation that June. A contractor site has not been eligible in years, and since May 7, 2026 no site is.

What FAQPage honestly is in 2026: a machine-readable copy of question-and-answer content that is already visible on the page. It buys no SERP feature. Google's own guidance on its AI features is just as blunt: you do not need to add markup of any kind to appear in them. So the work that pays here is the Q&A itself, written on the page where customers and crawlers both read it. The markup is the clean copy of it, and that is worth having.

That sets the one hard rule: mark up only the questions and answers the page actually displays. Marking up content a visitor cannot see violates Google's structured data guidelines, and it is the most common way a contractor site ends up with FAQPage markup that delivers nothing and carries risk. Invisible markup was never doing the work.

The structure: a FAQPage entity with a list of Question entries, each one paired with an Answer, mirroring the visible block one for one. Six to ten of them per page is the standard.

Two rules for the Q&A content itself:

  • The questions have to be questions people actually ask. Pull the real ones from Google's "People Also Ask" box for the target keyword. Make sure the wording matches the way the customer asks it, not the way the contractor would write it on a brochure. "How much does a roof replacement cost in Ocean County NJ?" beats "Roof Replacement Pricing."
  • The answers have to be substantive. Two to four sentences with real numbers, real product names, real specifics. Example: "A typical asphalt shingle roof replacement in Ocean County NJ runs $9,000 to $25,000 depending on roof size, pitch, layers being removed, and ventilation upgrades. A standard 1,800 square foot ranch with a single-layer tear-off and a balanced ridge-and-soffit ventilation upgrade runs $14,000 to $18,000 in 2026 pricing." Generic answers do not get pulled into AI Overviews. Specific ones do.

Six to ten visible FAQ blocks on the home page and on every service page is the standard. More than that is overkill. Less than that leaves real customer questions unanswered on the page where both buyers and AI crawlers go looking for them.

6. Review + AggregateRating

The schema that surfaces the star rating directly in the SERP and in the rich result. The honest rule: only deploy this on pages where the reviews are real and the rating is documented.

The structure goes inside the LocalBusiness entity, not next to it:

  • An aggregateRating sub-block with a real rating value, a real review count, and the best/worst rating range.
  • A review list with a handful of real customer reviews, each one with the customer's name (first name and last initial is fine), the date, the rating, and the actual text of the review.

Two rules:

  • The reviews have to exist and be verifiable. Google polices fake review schema aggressively in 2026. Manual penalties get applied to sites caught fabricating review data. The aggregate rating and review count have to match what is in the contractor's Google Business Profile or a third-party review platform.
  • Embed the review schema as part of the LocalBusiness block, not as a standalone block on a single page. Standalone review pages do not surface stars in the SERP for the home page or service pages. Embedded review data on the LocalBusiness entity does.

The expected lift: stars in the SERP can move click-through rates on the same ranking position; CXL's controlled test with Belron measured a 13 to 35 percent uplift. The pages with the schema win the click against the pages without it, all else equal.

What About Speakable?

This post used to rank Speakable seventh and call it a big AI-search win. That was wrong, so it's off the list.

Google's documentation gives Speakable exactly one job: the Google Assistant uses it to answer topical news queries on smart speakers. It only works for users in the U.S. with a Google Home set to English, and Google still calls it beta. Nothing in that documentation mentions Siri, Alexa, or AI Overviews. A contractor site doesn't publish news, so there's nothing for Speakable to do.

If your site already has a Speakable block, it's dead weight. Delete it the next time someone's in the code, and don't pay anyone to add one.

How to Deploy and Validate

Three steps:

  1. Get the JSON-LD on every page. The six types above, customized to the contractor's actual business, inlined into the page head as structured data. Any modern site builder (Next.js, Astro, even WordPress with the right plugin) supports this directly. If your site is custom, your developer can ship this in an afternoon. If your site is WordPress, a plugin like Rank Math or Yoast can handle most of it once the fields are filled in.
  2. Validate every page. Google's Rich Results Test (search.google.com/test/rich-results) and the Schema.org validator (validator.schema.org) both flag malformed schema. Run every page through both before pushing live. A schema block that does not validate is worse than no schema at all, because Google ignores the whole entity.
  3. Submit to Search Console and request re-indexing. Google has to re-crawl the page to pick up the new schema. Submit the sitemap, then use the URL inspection tool to request indexing on the priority pages.

The whole job for a typical 10-page contractor site is two to four hours of work for someone who has done it before. The lift is measurable within 30 days in most cases: click-through rates climb, AI citations start showing up on tracked queries.

We covered the full local-SEO checklist for contractors in our local SEO checklist post, and the AEO-versus-GEO distinction in our what is AEO and GEO post.

What We Do for Contractor Sites

Every custom site we build ships with the schema the business can truthfully support, validated before launch: LocalBusiness with the right subtype, a structured areaServed list, Organization, WebSite, Service blocks on service pages, FAQPage where there's real Q&A, and review markup only when it matches the live Google profile number for number.

If you are a contractor in NJ (or anywhere else) and your site has been quietly delivering nothing for the last 12 months, schema is the place to start. The six types above are not the only SEO work that matters, but they are the most valuable two to four hours a contractor site can spend right now. Reach out if you want a no-pressure look at what your current site is missing.