Blog
Wild & Free Tools

Service Schema Markup Generator (Free JSON-LD for Service Businesses)

Last updated: April 2026 8 min read

Table of Contents

  1. When to use service schema
  2. Service vs localbusiness
  3. Required and recommended fields
  4. Pricing in service schema
  5. One service per page
  6. Validating service schema
  7. Frequently Asked Questions

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:

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:

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:

Strongly recommended:

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 Shipping

Handling 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:

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:

  1. Generate the JSON-LD with our free generator
  2. Validate at validator.schema.org
  3. Test at search.google.com/test/rich-results (it'll detect Service even without a dedicated rich result)
  4. Monitor in Search Console for any errors

The lack of a dedicated rich result doesn't mean Service schema is useless. It still:

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 Generator

Frequently 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.

Launch Your Own Clothing Brand — No Inventory, No Risk