Skip to main content
French Press Labs
Journal

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

A matte clay checklist board with three clay check marks, one in cobalt, on a near-black background

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:

  • logo and image: 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 like https://example.com/#business so 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:

  1. Google Rich Results Test. Shows whether Google can read your markup and which features it may qualify for.
  2. 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

A free check of how ChatGPT, Claude and Gemini describe your business.