Service Schema Markup Generator (Free JSON-LD for Service Businesses)
Table of Contents
Service schema is the structured data type for businesses that sell services rather than physical products. Consultants, agencies, contractors, plumbers, lawyers, accountants — anyone selling expertise, time, or work product. Product schema doesn't fit. LocalBusiness only covers location data. Service schema is the right type, and most service businesses skip it because nobody talks about it. Our free schema generator covers Service alongside the more common types.
When Service Schema Is the Right Type
Use Service when you sell something that isn't a physical product or a digital file. Examples:
- Consulting (business strategy, marketing, legal advice)
- Agency services (web design, SEO, content writing, ad management)
- Contracting (construction, plumbing, electrical, landscaping)
- Professional services (accounting, tax prep, legal counsel)
- Personal services (coaching, training, therapy, tutoring)
- Repair services (auto, appliance, computer)
- Subscription services (software, ongoing support, retainers)
For these, Product schema misses the mark — the keyword "Product" implies a discrete object you can hold, ship, or download. Service schema fits the actual offering: a defined deliverable from a defined provider in a defined area.
Service vs LocalBusiness — Why Both Matter
Service and LocalBusiness aren't substitutes. They cover different aspects of the same business:
- LocalBusiness describes the business itself — name, address, hours, phone. It's the entity layer.
- Service describes a specific offering — what you sell, who provides it, where you serve, what it costs. It's the offering layer.
A plumber should have both: LocalBusiness on the homepage with address and hours, and Service schema on each individual service page (drain cleaning, water heater installation, leak repair, etc.).
The two link together via the provider field. Each Service has a "provider" which references the LocalBusiness. Google reads this and understands: "This service is offered by this business at this location."
Required and Recommended Service Fields
Required:
- name — service name
- provider — the business offering it (Organization or LocalBusiness reference)
Strongly recommended:
- description — what the service is, what's included
- serviceType — category (Consulting, Repair, Construction, Education, etc.)
- areaServed — geographic area you serve (city, region, country, or radius)
- offers — pricing information (single price, price range, or "Contact for quote")
- image — a representative photo of the service or work
- availableChannel — how to access the service (online, phone, in-person)
- termsOfService — link to your terms page
- brand — the brand offering the service (often same as provider)
The areaServed field is critical for local service businesses. It tells Google your geographic relevance — "this plumber serves the Austin metro area within 30 miles." Without it, Google has to guess from address signals alone.
Sell Custom Apparel — We Handle Printing & Free ShippingHandling Pricing in Service Schema
Service businesses rarely have fixed prices, which makes the offers field tricky. Three valid patterns:
Fixed price: Use a single Offer with price and priceCurrency. Works for productized services like "WordPress maintenance — $99/month."
Price range: Use AggregateOffer with lowPrice and highPrice. Works for services with variable scope like "logo design — $300 to $1500 depending on revisions."
Quote-based: Use Offer with priceSpecification set to "PriceSpecification" and priceCurrency, but omit a numeric price. Add a description like "Contact for custom quote." Works for fully custom services like roofing or legal cases.
For most service businesses, the price range pattern is the most useful. Google can show "from $X" in some search results, which qualifies leads (filters out tire-kickers) without committing to specifics.
One Service Per Page (Don't Bundle Everything)
A common mistake: putting all your services on one page with one big Service schema block. Better practice: dedicate a page to each service with its own Service schema.
For example, a contractor should have:
- /services/kitchen-remodel/ — Service schema for kitchen remodel
- /services/bathroom-remodel/ — Service schema for bathroom remodel
- /services/deck-construction/ — Service schema for deck building
- /services/roofing/ — Service schema for roofing
Each page has its own URL, its own keywords, and its own schema. Google indexes them separately and can show them in different searches. Bundling everything into a "Services" page with one schema block dilutes all of them.
For your homepage, use Organization or LocalBusiness instead. Reserve Service schema for the dedicated service pages.
Validating and Monitoring Service Schema
Service schema doesn't have a dedicated rich result like Product or Recipe, but it still needs validation. Use the standard workflow:
- Generate the JSON-LD with our free generator
- Validate at validator.schema.org
- Test at search.google.com/test/rich-results (it'll detect Service even without a dedicated rich result)
- Monitor in Search Console for any errors
The lack of a dedicated rich result doesn't mean Service schema is useless. It still:
- Helps Google understand your service offerings as structured entities
- Feeds AI search engines that summarize your services
- Connects to your LocalBusiness/Organization schema for entity recognition
- Contributes to overall site quality signals
For more on the full validation workflow, see our validator workflow guide.
Try It Free — No Signup Required
Runs 100% in your browser. No data is collected, stored, or sent anywhere.
Open Free Schema Markup GeneratorFrequently Asked Questions
What's the difference between Service and Product schema?
Product is for physical or digital things you can sell as discrete units (a coffee mug, an ebook, a software license). Service is for work or expertise you sell (consulting hours, plumbing repairs, agency work). Use the type that matches your actual offering.
Do I need Service schema if I already have LocalBusiness schema?
Yes — they serve different purposes. LocalBusiness describes the business entity. Service describes individual offerings. Multi-service businesses benefit from both: LocalBusiness on the homepage, Service schema on each service page.
Should I include pricing in Service schema?
Yes when possible. Fixed prices, price ranges ("from $X"), or "Contact for quote" all work. Pricing helps qualify leads and is one of the top signals Google uses to match service searches to businesses.
Can a single Service have multiple providers?
Technically yes (provider can be an array), but practically no — if multiple businesses offer the same service, each should have its own page with its own Service schema referencing only that business.
Does Service schema get any rich results?
Service doesn't have its own dedicated rich result like Product or Recipe, but it can contribute to local pack listings, knowledge graph mentions, and AI search citations. The value is structural, not visual.
How does areaServed work for online-only services?
For online services with no geographic limit, set areaServed to a country or use AdministrativeArea covering "Worldwide." For services limited to specific countries (like legal services that require licensing), list each country individually.

