AI search · 4 min read
Schema markup tells search engines and AI tools your business details in a format they can read without guessing. Here is the checklist we use for trade sites.
French Press Labs · Updated

The short answer
Schema markup is a block of structured data, usually JSON-LD, that states your business details in a format search engines and AI tools read without guessing. A contractor site needs a LocalBusiness subtype on the home or facts page, Service markup on service pages, BreadcrumbList everywhere, and FAQPage only where FAQs are visible. Then test it.
In this article ›
Why does schema matter for a trade business?
Your website says "We fix water heaters in Long Beach" in a sentence. Schema says the same thing as labeled data: this is a Plumber, this is the phone number, these are the hours, this is the area served. Search engines use it to understand the page. AI tools that read your site get the same clean signal.
It will not make a weak site strong. But on a good site, it removes doubt. And doubt is what keeps an assistant from naming you. See what GEO is for how this fits the bigger picture.
Which business type should you use?
Use the most specific type on schema.org that fits. Common ones for trades:
- Plumber
- Electrician
- HVACBusiness
- RoofingContractor
- GeneralContractor
- Locksmith
- HousePainter
- MovingCompany
If none fits, use HomeAndConstructionBusiness or plain LocalBusiness. Pest control, landscaping and cleaning companies often land here. Do not pick a wrong subtype just to be specific.
What does the business markup need?
This block goes on your home page or your business facts page. Fill in what is true and leave out what is not.
Required in practice:
-
@type: the subtype above -
name: exactly as it appears on your Google Business Profile -
url: your home page -
telephone: the main number, same format everywhere -
address: full postal address, or omit for a service-area business with no public address -
areaServed: the cities or regions you serve, as names -
openingHoursSpecification: days and hours, matching your site and profile
Worth adding:
-
logoandimage: real photos, not stock -
sameAs: links to your official profiles, like Google, Yelp, Facebook and trade directories -
priceRange: only if honest and simple -
description: one plain sentence -
@id: a stable identifier likehttps://example.com/#businessso other markup can point to it
A short example for a fictional plumber:
{
"@context": "https://schema.org",
"@type": "Plumber",
"@id": "https://example.com/#business",
"name": "Example Plumbing Co.",
"url": "https://example.com",
"telephone": "+1-555-010-0000",
"areaServed": ["Long Beach", "Lakewood", "Signal Hill"],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "18:00"
}],
"sameAs": ["https://www.google.com/maps?cid=0000000000"]
}
What goes on service pages?
Each main service page should carry Service markup.
-
@type: Service -
name: the service, like "Tankless water heater repair" -
provider: a reference to your business@id -
areaServed: the same areas, or the specific city for a city page -
description: one sentence that matches the page
Keep service markup honest. If the page is about drain cleaning, do not list ten other services in its markup.
When should you use FAQPage markup?
Only when the questions and answers are visible on the page. This is the rule people break most. Google's guidelines say structured data must describe content readers can see. Hidden FAQ markup can get your structured data ignored.
- Each question in the markup appears on the page, word for word
- Each answer in the markup matches the visible answer
- The FAQs are real questions customers ask, not keyword lists
Note that Google shows FAQ rich results only for a narrow set of sites now. The markup is still useful as structure, but do not expect the old dropdowns in search results.
What about breadcrumbs and other pages?
- BreadcrumbList on every page below the home page, matching the visible breadcrumb or URL path
- Article or BlogPosting on blog posts, with date and author
- WebSite on the home page, once
Skip Review and AggregateRating markup about your own business on your own site. Google does not show self-serving review stars for local businesses, and copying reviews into markup invites trouble.
How do you test it?
Two free tools cover it:
- Google Rich Results Test. Shows whether Google can read your markup and which features it may qualify for.
- Schema Markup Validator. Checks the markup against schema.org itself, including types Google does not use for rich results.
Test every page template: home, service, city, blog, contact. Then recheck after any site update, theme change or plugin update. Plugins quietly change markup more often than you would think.
What mistakes do we see most?
- Wrong business type. A roofer marked up as a generic Organization.
- Hours that do not match. Markup says 8 to 5, the site says 7 to 6, the Google profile says something else. Read why AI gets your hours wrong.
- Duplicate blocks. A theme and a plugin both add LocalBusiness with different details.
- Fake reviews in markup. Pulled from elsewhere or made up.
- Every city in the world in
areaServed. List the places you actually go.
What is the short version of the checklist?
- Specific LocalBusiness subtype on home or facts page
- Name, phone, hours and area match your profile exactly
- Service markup on each service page
- FAQPage only where FAQs are visible
- BreadcrumbList on inner pages
- No self-serving review markup
- Tested in both tools, retested after updates
If you want to see whether AI assistants already read your details correctly, run our free AI visibility check. Schema setup and testing is part of our AI search (GEO) work, if you would rather hand it off.
Frequently asked questions
- Does schema markup improve rankings?
Not directly. Schema helps search engines and AI tools read your details correctly, and it can make you eligible for some search features. The content on the page still does the heavy lifting.
- Which schema type should a plumber use?
Plumber, which is a subtype of LocalBusiness on schema.org. Electricians use Electrician, roofers RoofingContractor, and HVAC companies HVACBusiness. If none fits, use HomeAndConstructionBusiness or LocalBusiness.
- Can I add FAQ schema to every page?
Only to pages where the same questions and answers are visible to readers. Marking up content people cannot see breaks Google's guidelines and can get the markup ignored.
- Do I need a developer to add schema?
It helps. Many website platforms and plugins add basic schema, but they often get the business type, hours or service area wrong. Someone should check the output and test it.
Related
Published October 2, 2026 · Updated October 2, 2026



