Direct answer
A service business in 2025 needs five core schema types: LocalBusiness on the homepage, Service per named service, FAQPage on every page with FAQs, BreadcrumbList on interior pages, and Article on every blog post. Implement as JSON-LD, validate with Google's Rich Results Test, and link entities by @id.
5
core schema types every service business needs (LocalBusiness, Service, FAQPage, BreadcrumbList, Article)
62%
of legal queries on AI engines now return cited content with verifiable schema (internal benchmark)
2x
average lift in CTR when review-stars rich results display under organic listings
Why schema is the highest-leverage technical SEO investment
Schema markup is structured code embedded in a webpage that tells engines what the content means rather than asking them to infer it from raw text. With clean schema, Google understands that 'John Smith' is a Person, not a city; that the page is about a Service, not a blog post; that '4.9' is an aggregateRating, not a price. Pages with proper schema win rich results in classic SERPs, are more likely to be cited by AI engines, and are easier for voice assistants to read aloud.
For a service business, schema also closes the gap between what you do and how you describe it. The website may say 'we're a friendly family-owned plumbing company' but until the LocalBusiness schema declares the business name, address, phone, hours, areaServed, services, and aggregateRating, the engines treat that as marketing copy rather than structured fact.
The five core types every service business needs
LocalBusiness on the homepage. The most important entity on the site. Include name, address, phone, openingHours, areaServed, priceRange, aggregateRating, paymentAccepted, sameAs (social profiles), and a logo. For sub-types (Plumber, Dentist, LawFirm, MedicalBusiness), use the most specific available type from schema.org.
Service per named service. One Service node per top-level service offered, each with name, description, provider (linked by @id to the LocalBusiness), areaServed, hasOfferCatalog where appropriate. This is what Google references when it surfaces a service in the GBP services tab and what AI engines lean on for category-specific queries.
FAQPage on every page with FAQs. Mark up each question and answer pair. Five to ten FAQs per cornerstone page is the sweet spot — enough to capture variant queries, not so many that signal-to-noise drops.
BreadcrumbList on every interior page. Tells engines the hierarchy and helps the site-link breadcrumb display in classic SERPs. Cheap to add, consistently rewarded.
Article on every blog post. Include headline, datePublished, dateModified, author (linked by @id to a Person node), publisher (linked by @id to the Organization), image, and articleSection. AI engines lean on Article schema heavily when deciding whether to cite a blog post.
Implementation: JSON-LD as a single @graph
JSON-LD is the format Google recommends. Embed in a `<script type="application/ld+json">` block in the head or body. For sites with multiple entities per page (which is most pages), use a single @graph block that links all entities by @id rather than emitting many disconnected JSON-LD blocks.
Linking by @id matters because it tells the model these are the same entity rather than coincidentally similar. The Person 'Taylor Moses' on the about page and on the post byline should reference the same @id. The Organization on the homepage and the publisher of the article should reference the same @id. Engines reward linked entities with stronger entity recognition and richer rich-results.
Validate everything. Google's Rich Results Test catches errors and warnings; the Schema.org validator catches structural issues. Both should run as part of every release. Broken schema is worse than missing schema because the engines may distrust the page entirely.
Common mistakes
Mismatched on-page text and schema. The schema says aggregateRating 4.9 but the page shows no review section. Google penalizes this aggressively as fake markup. Every fact in schema must be visible on the page.
Forgetting dateModified. Articles without a recent dateModified look stale to AI engines. Update dateModified whenever the content meaningfully changes.
Generic Person nodes for authors. Author entities should include name, jobTitle, image, sameAs (LinkedIn, Twitter), and a knowsAbout array. Bare Person nodes signal less authority.
FAQPage stuffing. More than 15 FAQs per page often gets ignored by Google or triggers a manual action. Five to ten high-quality FAQs win.
Schema in the wrong format. Microdata and RDFa still work but JSON-LD is preferred. Mixing formats on the same page confuses crawlers.
How to roll it out without breaking anything
Audit first. Crawl the site with Screaming Frog or Sitebulb and export current schema. Identify gaps (missing types) and errors (invalid markup). Most service-business sites we audit have FAQPage schema in 0% of relevant pages and LocalBusiness schema with three required fields missing.
Implement page-by-page in priority order: homepage (LocalBusiness), services pages (Service + FAQPage), location pages (LocalBusiness with areaServed), then blog posts (Article). Validate each page before moving to the next.
Track citation and rich-result impressions in Google Search Console. Within 4–6 weeks, FAQ rich results, sitelink expansions, and AI-Overview citations should grow. Track monthly.
“Schema is the cheapest, most overlooked SEO investment. Two days of structured-data work usually unlocks rich results, AI Overview citations, and voice-assistant readouts that nothing else can.”
Jamison, Development & Systems Lead, Leads to Sales
Schema implementation order, by impact
- 1
LocalBusiness on homepage
Largest single signal; include all optional fields.
- 2
Service per named service
Required for category-level visibility.
- 3
FAQPage on every cornerstone page
Single largest GEO citation lift.
- 4
BreadcrumbList on interior pages
Cheap and consistent rich-result win.
- 5
Article on blog posts
Required for AI-engine citation eligibility.
- 6
Person nodes for authors
Drives E-E-A-T scoring in YMYL categories.
- 7
Review and Aggregate Rating where deserved
Lifts CTR via star display when allowed.
Frequently asked questions
Will Google penalize too much schema?
No, as long as every fact in schema appears on the page. Mismatched or fake markup is penalized; thorough accurate markup is rewarded.
Do we need a schema plugin or can we hand-code?
Either works. WordPress plugins (Yoast, Rank Math) are convenient. Custom-coded JSON-LD gives more control and avoids plugin bloat.
How long until schema starts producing results?
Rich results can appear within days; AI-Overview citation lift typically follows in 4–8 weeks.
Should we add Review schema to every page?
Only where reviews are visibly displayed and the page is the canonical source. Misplaced Review schema is the most common manual-action trigger.
What about Event schema or VideoObject?
Add when applicable — Event for booked classes/webinars, VideoObject when the page hosts a video. Both unlock specific rich results.
Does schema help voice search?
Yes — Speakable schema specifically helps, and FAQPage feeds Assistant readouts.
How do we maintain schema as the site changes?
Build it into the page templates so every new page inherits the right schema automatically. Manual schema is the leading cause of drift.
Reading time: 8 minLast reviewed: License: CC BY 4.0
Sources cited
- Schema.org documentation — Schema.org
- Google Structured Data documentation — Google Search Central
- Google Rich Results Test — Google
Work with us
Need a partner to ship the playbook?
Leads to Sales builds the websites, SEO programs, and CRM automations that put this strategy to work.
