A local service business needs four types of schema markup on its website: LocalBusiness (or a more specific subtype like Plumber, Electrician, Dentist) on the homepage and contact page, Service schema on each service page, BreadcrumbList site-wide, and Review or AggregateRating only if you display real customer reviews on the page. Skip FAQPage schema for marketing fluff, skip Product schema (you're a service, not a product), and ignore anyone telling you to add fifteen different schema types — Google has deprecated most of the rich results that used to make schema flashy. What you're doing now is helping Google and AI tools understand your business clearly, not chasing star ratings in search results.
The four schemas you actually need
LocalBusiness schema is the foundation. Use the most specific subtype that fits — Plumber, HVACBusiness, DentalClinic, RoofingContractor, AutoRepair, and dozens more exist. If nothing fits, use LocalBusiness. Put it on your homepage and your contact page. It must include your exact business name, full street address (PostalAddress), phone number, hours (openingHoursSpecification), geo coordinates, and a sameAs array linking to your Google Business Profile, Facebook page, Yelp listing, and other established profiles. This is what makes Google confident you're a real business at a real address.
Service schema goes on each individual service page. If you have separate pages for "Drain Cleaning," "Water Heater Installation," and "Emergency Plumbing," each gets its own Service schema with the service name, description, areaServed (your city or service radius), and a provider reference back to your LocalBusiness. This is how AI search engines understand which specific services you offer where.
BreadcrumbList schema goes on every page that isn't the homepage. It mirrors your visible breadcrumb navigation (Home > Services > Drain Cleaning). This helps Google understand your site structure and still produces breadcrumb display in mobile search results.
Review or AggregateRating schema is the conditional one. Only use it if you display genuine customer reviews directly on the page being marked up. Don't pull your Google review average and slap it on a page that shows no reviews — that's a schema violation and risks a manual penalty.
Schema must match what's visible on the page. If a customer can't see it, don't mark it up. This single rule prevents most schema mistakes and policy violations.
What to skip and why
- FAQPage schema — Google deprecated FAQ rich results in May 2026. Still useful if you have real customer FAQs on a page, but don't add it just for SEO theater.
- Product schema — You sell services, not products. Using Product schema on a service page is incorrect and won't help.
- Article or BlogPosting schema — Only on actual blog posts, not service pages or your homepage.
- HowTo schema — Deprecated for most rich results. Skip it.
- Generic "Organization" schema in addition to LocalBusiness — LocalBusiness already extends Organization. You only need one.
How to implement it without breaking anything
Use JSON-LD format (a script block in your page's head), not microdata mixed into your HTML. JSON-LD is easier to maintain and what Google prefers. Most modern website platforms (WordPress with Rank Math or Yoast Local, Webflow, Squarespace) can generate this automatically once you fill in your business info. If you're hand-coding it, validate every page in Google's Rich Results Test and Schema.org's validator before publishing. Both are free.
One last thing: keep your NAP (name, address, phone) identical between your schema, your Google Business Profile, and your visible website content. Inconsistency here is the single most common reason local schema underperforms.
Related questions
- Why did my Google rankings drop after redesigning my website?
- How long does it take for a new small business website to rank on Google?
- Why is my small business website not showing up on Google?
See our Website Fix-Ups & SEO service — plain-English, fixed price, free quote.
Have a question about your site?
Get a free, no-obligation website audit — we'll answer it in plain English.