Google's structured data policy, updated July 10, 2026, gives the one rule that decides this: "Your structured data must be a true representation of the page content." Service schema is worth adding when a page visibly describes a real service from a specific business or location. It is worth skipping when the page does not, because at that point the markup is a claim the page cannot support.
The distinction matters for a multi-location HVAC company, plumbing rollup, restoration group, med spa, or franchise. LocalBusiness markup identifies the branch, Service markup identifies what that branch actually does, and neither one rescues a thin location page, invents a service area, or forces Google or an answer engine to feature the business.
Two types, two jobs
Who versus what
LocalBusiness
Identifies the branch
- Name, address or service area, phone
- Hours, URL, most specific subtype
- Stable @id, parentOrganization
- Answers: who is this location
Service
Describes the offering
- serviceType, provider pointed at the branch
- areaServed, url, offers, hoursAvailable
- One entity per real service, not per keyword
- Answers: what does this branch do
Schema.org: Service and LocalBusiness (schema.org/Service). Google Search Central: General structured data guidelines, last updated July 2026: structured data must be a true representation of the page content.
Before layering services onto a portfolio graph, use the LocalBusiness schema rollout guide to separate the parent brand from each real branch and give every location a stable record.
Important
Page truth comes first. If a customer cannot verify the service, provider, coverage, and next step on the page, do not try to solve the gap inside JSON-LD.

What Service schema actually says
Schema.org defines Service as work performed by one party for another. Its vocabulary can describe a service type, provider, area served, hours available, offer, and URL. The provider can point to an Organization or LocalBusiness entity elsewhere in the same JSON-LD graph.
Google's LocalBusiness documentation has a different job. It explains how Google uses supported local business markup in Search and which properties apply to that feature. Google is direct about which document wins when the two disagree: you should "rely on the Google Search Central documentation as definitive for Google Search behavior, rather than the schema.org documentation". Google also recommends the format, saying it recommends "using JSON-LD for structured data if your site's setup allows it, as it's the easiest solution for website owners to implement and maintain at scale".
In practice, a valid Schema.org type and a Google Search feature are not the same thing. Service is useful vocabulary for describing an offering. It is not a standalone promise that Google will show a special result for that service.
If your team is still deciding what each branch page should contain, start with the location page checklist. If the operational facts are sound but the code is inconsistent, Cheers' website optimization platform is built to audit and manage that layer across locations.
Start with page truth, not JSON-LD
Before choosing properties, answer four questions in ordinary page copy: What service is offered? Which location or organization provides it? Where is it available? What can the customer do next?
An HVAC branch page might say that its Phoenix team repairs heat pumps, serve a defined set of nearby cities, explain after-hours coverage, and link to one booking path. A med spa location page might list the treatments available at that clinic without implying that every provider performs every procedure. A restoration branch might separate water mitigation, mold remediation, and reconstruction because licenses, response rules, or coverage differ.
Those examples are not requests for longer keyword lists. They are requests for operational specificity. The visible page should carry the service name, provider, coverage, proof, and customer action. The structured data can then repeat those relationships in a machine-readable form.
For teams that need the code format explained first, What Is JSON-LD? covers the syntax and deployment model.
How Service and LocalBusiness should connect
The cleanest pattern is usually one graph. Give the location a stable @id, then point each Service entity back to that provider. The service URL should resolve to the page where a customer can read about the offering.
A shortened fictional example for a Phoenix HVAC branch looks like this:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "HVACBusiness",
"@id": "https://example.com/phoenix#location",
"name": "Example Heating Phoenix",
"url": "https://example.com/phoenix"
},
{
"@type": "Service",
"name": "Heat pump repair",
"serviceType": "Heat pump repair",
"provider": {
"@id": "https://example.com/phoenix#location"
},
"areaServed": {
"@type": "City",
"name": "Phoenix"
},
"url": "https://example.com/phoenix/heat-pump-repair"
}
]
}The relationship is more important than the volume of properties. The Service points to the branch that performs the work. The service page points customers to a real offering. The branch identity stays separate from the parent brand, even when the corporate site publishes both records.
Use a specific LocalBusiness subtype when it accurately describes the location. A plumbing branch can use Plumber. A clinic might use a relevant medical or health subtype if the vocabulary and visible business facts support it. Do not choose a type merely because it sounds more valuable.
For a multi-location brand, stable identifiers reduce accidental fragmentation. The same location @id can be referenced by its services, page, parent organization, and other structured entities. The sameAs guide for local businesses explains the narrower job of linking a known entity to authoritative external profiles.
What Service schema cannot do
Service markup cannot prove service quality, eligibility, availability, or local prominence on its own. It cannot make a branch eligible for a Google Business Profile, turn a service area into a staffed location, or establish that a technician holds a required license. Those claims need visible facts and appropriate public evidence.
Google's structured data policies put three constraints on the practice, and all three bite in a portfolio: "Your structured data must be a true representation of the page content." "Provide up-to-date information. We won't show a rich result for time-sensitive content that is no longer relevant." And: "Don't use structured data to deceive or mislead users. Don't impersonate any person or organization, or misrepresent your ownership, affiliation, or primary purpose." That last line is the one an acquiring brand should read twice before stamping a new parent onto every acquired branch.
The same restraint applies to AI Search. Google's current AI Search guidance states it plainly: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." Keep doing normal structured data work because it can support Search features, not because it buys a place in a generated answer.
What the service facts themselves are worth is a separate, measurable question. In the Cheers home-services panel over the 28 days ending September 2, 2026, across 119 organizations and aggregate only, price and cost prompts produced a 37.9% pooled appearance rate, the highest of any published prompt shape, while "best near me" and named-place prompts produced 22.8%, the lowest. Publishing what a service costs and what it covers is doing more work than the markup that describes it. Definitions are in the Cheers Research methodology.
Be especially skeptical of claims that adding Service schema caused a ranking lift or AI citation. A page launch often changes copy, internal links, crawl paths, speed, and structured data together. Without a controlled test, one before-and-after result cannot isolate schema as the cause.
Next step
Is AI recommending your business?
Find out how visible you are across ChatGPT, Gemini, Perplexity, and AI Overviews.
Decide where the markup belongs
On a dedicated service page
Use Service markup when the page explains one offering in enough detail to help a customer decide. The provider should be the organization or location responsible for the work. Add areaServed only if the page states that coverage clearly.
On a location page
A location page can include several Service entities when it visibly lists the services that branch performs. Keep the list selective. Hundreds of nearly identical service objects can become a maintenance problem and do not make a generic page more useful.
On a combined location and service page
A combined Phoenix heat-pump repair page can describe both the local provider and the specific service. This is often the clearest fit when availability, proof, hours, or the booking path genuinely changes by market.
On a corporate page
Use the parent organization as provider only when the organization, rather than a specific branch, is the accurate service provider. If fulfillment and booking happen locally, connect the service to the location that owns that customer experience.
Roll it out across 20 to 500 locations
The hard part is not producing one valid block of JSON-LD. It is keeping hundreds of page and markup combinations aligned with operations. A practical rollout has six controls:
- Maintain one approved record for each location, service, coverage rule, URL, and booking path
- Create a location-by-service matrix that operations can review before marketing publishes it
- Generate visible page facts and structured data from the same approved source when possible
- Omit services a branch cannot reliably deliver, even if another location offers them
- Validate a sample from each template and market type before a portfolio release
- Recheck changed URLs in Search Console and monitor customer actions, indexing, and search appearance separately
That source record should have a named owner. Marketing can manage templates and measurement, but operations needs to approve service availability. A regional leader should be able to answer why one branch offers a service and another does not.
Acquisitions create a common failure point. The acquired company may keep old service pages while the parent brand publishes new location markup. Before adding more entities, decide which URLs are canonical, which business fulfills the work, and when the old record should redirect.
A 30-day implementation plan
Week 1: audit page truth
Sample high-revenue and high-risk locations. Compare each page with the booking flow, branch service matrix, Google Business Profile, and operating rules. Record missing or conflicting facts before touching schema.
Week 2: design the graph
Define stable @ids for the parent organization and locations. Choose the Service fields the pages can support. Build one storefront example, one service-area example, and one exception before extending the template.
Week 3: validate the release
Use the Schema.org Validator to check vocabulary and graph relationships. Use Google's Rich Results Test to see which Google-supported structured data the page exposes. Fix errors and misleading fields, then deploy a small group.
Week 4: inspect and measure
Inspect deployed URLs in Google Search Console. Confirm that the rendered page and JSON-LD agree. Track indexing and search appearance, but keep calls, forms, bookings, and revenue in separate outcome reports. If an AI answer cites the page, record the prompt, engine, date, and cited URL rather than crediting schema alone.
Service schema is worth using when it makes a true page easier to interpret and govern. The useful question is not whether every branch can add more markup. It is whether every marked-up service traces back to a visible offer, a real provider, a defined market, and a working customer path.
Sources
Every link below was opened and checked September 2, 2026.
- Service and LocalBusiness. Schema.org vocabulary, checked September 2026. Source of the Service definition and of provider, areaServed, hoursAvailable, offers, and url, plus the more specific local business subtypes.
- Introduction to structured data markup in Google Search. Google Search Central, last updated December 2025. Source of the two quoted passages: Search Central as definitive over schema.org, and the JSON-LD recommendation.
- Local business (LocalBusiness) structured data. Google Search Central, last updated December 2025. Source of Google's supported local business feature, its properties, and the statement that Google does not guarantee that features consuming structured data will appear.
- General structured data guidelines. Google Search Central, last updated July 2026. Source of the three quoted policy lines on true representation, up-to-date information, and misleading markup.
- Optimizing your website for generative AI features on Google Search. Google Search Central, last updated July 2026. Source of the quoted statement that structured data is not required for generative AI search.
- Schema Markup Validator. Schema.org, checked September 2026. Vocabulary and graph-structure checker used in the week-three step above.
- Cheers Research methodology and AI visibility statistics. Cheers home-services panel, 28 days ending September 2, 2026, 119 organizations, aggregate only. Source of the 37.9% and 22.8% pooled appearance rates by prompt shape.
Amadeus Peterson is the CTO & Co-Founder of Cheers, the local search platform for multi-location service businesses.
