Generate valid Service JSON-LD structured data for each service you offer. Add the provider, service area, pricing, and a catalog of sub-services, then copy the markup. Free, no sign-up required.
What a customer would call it. Required for valid Service markup.
The category of work in plain words. Free text, so use the term customers search for.
Pick the most specific type that fits your business, the same one you use in your local business markup.
Use exactly the same name as your local business markup and Google Business Profile.
Leave this on quote on request if every job is priced individually.
Enter your service name above and your JSON-LD will build here automatically.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service"
}
</script><head> section of that service page. Give each service its own page and its own block.Structured data explains the service to search engines. These free widgets convince the customer to book it.
Show real Google reviews for this service so the person reading the page can see it has worked for others.
Put a client quote about this exact service next to the description. Specific praise beats generic praise.
Answer the questions people ask before booking, on the page, so they do not have to call to find out.
Let people request a quote for this service in a few taps, with the details you need to price it.
Other free tools to help you optimize and grow.
Generate LocalBusiness JSON-LD with address, opening hours, and service area.
Use Tool →Generate Person JSON-LD for team, author, and staff bios with job title and profiles.
Use Tool →Generate valid FAQ Page JSON-LD structured data to earn FAQ rich results.
Use Tool →Generate Organization, WebSite, and LocalBusiness JSON-LD structured data for your whole site.
Use Tool →Generate Product JSON-LD with price, availability, and ratings for rich results.
Use Tool →Generate title, description, and social meta tags for any page in seconds.
Use Tool →How It Works
No account needed, no sign-up, completely free. Fill in your service details, and valid JSON-LD structured data builds live, ready to copy into your page.
Name the service the way a customer would, add the service type in plain words, and write a short description of what the job actually involves.
Link the business that performs the work, list the towns you cover, and add a fixed price or a range if you publish one. Everything you type builds the markup live.
Copy the generated JSON-LD, paste it into the head of the service page, and confirm it with the Google Rich Results Test. No sign-up, completely free.
The Basics
Search engines read your service page, but structured data tells them exactly what they are looking at: which service, who performs it, where, and roughly what it costs.
The idea
One service's details → schema.org vocabulary → JSON-LD in your <head>
Result: a distinct, described service rather than one page listing everything
Service schema is structured data that describes work you perform, using the shared schema.org vocabulary. It is the counterpart to Product markup: Product is for a physical item you sell, Service is for a job you do. For service businesses, it is the type that actually fits what you offer.
The recommended format is JSON-LD: a small block of JSON placed in the head of the page. It lives separately from your visible content, so it is easy to add without touching your design. Service markup works best alongside LocalBusiness markup: the business block says who you are, and each service block says what you do and where you do it.
Structured data does not guarantee rankings or rich results. Google does not currently show a dedicated rich result for Service. What it does is make each of your services unambiguous to search engines and to AI assistants, which increasingly answer questions about who does what in a given area.
Pricing Choices
Pricing is optional, and how you handle it is a judgement call. Here is what each option actually commits you to.
| Option | What it does | When to use | Risk |
|---|---|---|---|
| No price | No Offer is added at all. The markup describes the service without committing to a number. | Custom work priced per job after a site visit. | Safest |
| Fixed price | Adds an Offer with a single price and currency. Clear, but you are held to it. | Standardized jobs with a genuine flat rate. | Specific |
| Price range | Adds a PriceSpecification with a minimum and maximum, so the number is honest about variation. | Jobs that vary by size, access, or materials. | Flexible |
Based on the schema.org Service, Offer, and PriceSpecification types, 2026.
What It Can Unlock
Structured data helps search engines understand each service you offer. Search features are never guaranteed, but the clarity compounds across your pages.
Separate Service markup per page means search engines see distinct services rather than one blurry list of everything you do.
areaServed states the towns and regions you cover, which matters when you travel to customers rather than trading from a shopfront.
The provider property links each service to your business, so your service pages and location markup describe one connected entity.
A fixed price or a range gives searchers a sense of cost, and a range keeps it truthful when jobs genuinely vary.
A catalog breaks a broad service into the individual jobs it covers, which describes your offer far more precisely.
When an AI assistant is asked who does this kind of work nearby, structured service data is easier to read and cite accurately.
Avoid These
Structured data helps only when it is accurate and valid. Steer clear of these common errors.
A single page covering fifteen services cannot carry meaningful markup for any of them. Give each real service its own page and its own block.
One service per pageA price in your markup is a public claim. If jobs genuinely vary, use a range or no price at all rather than a number you will renegotiate.
Only publish real pricesThe provider name should be identical to your local business markup and your Google Business Profile. Small differences split one business into two.
Keep the name consistentListing fifty towns you would not actually drive to is not a coverage strategy. List the areas you genuinely serve.
Be honest about coverageService is for work you perform. Product is for a physical item you sell. Using Product for labour invites errors and misdescribes what you offer.
Match type to offerAlways run your markup through the Rich Results Test and the Schema.org Validator. A single syntax slip can invalidate the whole block.
Validate before you shipGet More From It
Practical ways to make your schema work harder. All CommonNinja widgets mentioned are free to start.
Service markup and good local SEO want the same thing: a real page for each service, with real content on it. The markup is the easy half.
Copy the business name, phone, and type from your local business markup, character for character. Consistency is the entire point of the provider link.
Most people have two or three questions before they book. Answer them on the service page, and pair the answers with FAQ markup.
Try the FAQ widget →A review about the exact job on the page beats a generic five-star average. Put real reviews where the decision happens.
Try the Google Reviews widget →A from-and-to range is more useful to a searcher than silence and more honest than a fixed price you will not hold to.
If a service covers several distinct jobs, list them with hasOfferCatalog. It describes your offer more precisely without inventing extra pages.
Glossary
A quick reference for the properties behind service markup.
| Field | Definition | Example | When It Matters |
|---|---|---|---|
| name | The service as a customer would name it. This is the anchor for the whole block. | Emergency Electrical Repair | Every service you mark up |
| serviceType | The category of work in plain words. Free text, so use the phrase people actually search for. | Electrical repair | Every service you mark up |
| provider | The business performing the service, as a nested LocalBusiness or Organization. Ties the service to your company. | Electrician + name | Every service you mark up |
| areaServed | The places this service covers. Essential for mobile trades that travel to the customer. | Columbia, MO | Any service with a travel radius |
| offers | Pricing, as either a fixed price or a PriceSpecification with a minimum and maximum. Optional. | Offer + price | Services with published pricing |
| hasOfferCatalog | A list of the individual jobs this service covers, each as a nested Service inside an Offer. | OfferCatalog | Broad services with sub-services |
From the Blog
Go deeper on winning local service customers and making your content easier for search engines to understand.
In this article, we are going to discuss SEO, explain why it’s important to the success of a website, and suggest ways...
Read article →In this article, we will look at some important SEO factors to consider when building a website, for the purpose of...
Read article →In this article, we are going to discuss the top backend as a service (BaaS) platforms in 2025.
Read article →In this article, we discuss the importance of readability in SEO, highlighting its impact on search engine rankings,...
Read article →In this article, we explore how SEO enhances Instagram visibility, focusing on optimizing profiles with keywords,...
Read article →In this article, we discuss image compression's benefits for web performance and SEO, highlighting faster load times...
Read article →