What Is Service Schema?
Service schema is structured data from schema.org that describes a service a business offers, such as drain cleaning, tax preparation, or personal training, rather than a physical product. Added as JSON-LD, it names the service, the provider, the area served, and optionally the offer terms. It helps search engines and AI systems understand exactly what a business does and where, supporting relevance for service-based searches. It is the natural counterpart to Product schema for service businesses.
- Vocabulary
- schema.org/Service with provider, areaServed, and serviceType (schema.org)
- Best for
- Service pages of trades, professionals, and local businesses (industry-typical)
- Provider link
- provider connects to a LocalBusiness or Organization entity (schema.org)
- Rich result note
- No dedicated star rich result on its own; aids comprehension (industry-typical)
What is Service schema and when do you use it? #
Service schema describes something a business does for a customer rather than an item it sells off a shelf. Drain cleaning, root canals, roof repair, bookkeeping, haircuts, personal training, legal consultation, these are services, and Service schema is how you describe them to search engines. It captures the service name, the provider performing it, the area it is offered in, and the type of service. It is the counterpart to Product schema, covered in /wiki/what-is-product-schema: Product is for stocked goods with a price and availability, Service is for performed offerings without inventory. For the trades and professionals we serve, plumbers, dentists, HVAC companies, law firms, Service schema is the right markup for individual service pages, because a plumber does not have units of 'drain cleaning' in stock. It is part of the schema.org vocabulary in /wiki/schema-markup-guide. Adding it clarifies for Google and AI systems exactly what you do and where, which supports matching your pages to relevant service searches like 'emergency drain cleaning near me.'
What properties belong in Service schema? #
A useful Service block includes name, the clear name of the service like 'Emergency Drain Cleaning'; serviceType, a category descriptor; and provider, which links to the business performing it, expressed as a LocalBusiness or Organization with a name and ideally address details. areaServed states where you offer the service, a city, region, or list of areas, which is especially valuable for local relevance. You can add a description explaining what the service includes, and an offers object if you want to express pricing terms, though many services are quote-based rather than fixed-price. hasOfferCatalog can group related services. The provider link is important because it connects the service to your business entity, tying your Service, LocalBusiness, and Organization markup into one coherent graph. Every value should reflect the visible page content. Generate the structure with /tools/schema-generator and validate with /tools/schema-validator. For businesses with many services, this markup is best templated so each service page emits its own accurate block.
What does Service JSON-LD look like? #
A Service object names the service, links the provider, and states the area served. The example below shows an HVAC company's AC repair service. Note provider is a nested entity that ties back to your business, areaServed names the geographic scope, and serviceType categorizes the offering. If you offer the service at a set price you can add an offers object with price and priceCurrency, but many services are quoted per job, in which case you describe the service without a fixed price. Place the block on the specific service page it describes, one per service. After deploying, validate and monitor Google Search Console. Because Service schema does not produce a dedicated star rich result on its own, the confirmation you seek is clean validation and correct comprehension, not a visual badge, though pairing Service with Review markup where you have genuine reviews can attach ratings to the offering.
{
"@context": "https://schema.org",
"@type": "Service",
"name": "Air Conditioning Repair",
"serviceType": "HVAC repair",
"description": "Same-day diagnosis and repair of residential AC systems.",
"provider": {
"@type": "HVACBusiness",
"name": "Summit Air Solutions",
"telephone": "+1-480-555-0187",
"address": {
"@type": "PostalAddress",
"addressLocality": "Mesa",
"addressRegion": "AZ",
"addressCountry": "US"
}
},
"areaServed": {
"@type": "City",
"name": "Mesa, AZ"
}
}How does Service schema differ from Product schema? #
The distinction is fundamental and worth getting right. Product schema, in /wiki/what-is-product-schema, describes a tangible or digital good with a price and stock status, InStock, OutOfStock, a specific quantity you sell. Service schema describes an action you perform, which has no inventory and often no fixed price. Forcing Product schema onto a service, marking 'lawn care' as InStock, is a mismatch that confuses search engines and reads as inaccurate. The test is simple: does the customer buy a discrete item that ships or downloads, or do they hire you to do something? Trades and professionals almost always fall on the Service side. A business can use both when appropriate, a salon might sell retail products (Product) and styling appointments (Service), a gym might sell branded gear (Product) and personal training (Service). Choosing the correct type for each offering keeps your structured data honest and your search matching relevant. This is one of the first decisions we make when planning schema for a service business in /services/web-design.
How does areaServed strengthen local relevance? #
For a local service business, where you work is as important as what you do, and areaServed captures that. It tells search engines the geographic scope of a service, a single city, a metro area, a list of neighborhoods, or a radius. This matters because service searches are overwhelmingly local: people search 'roof repair in Denver' or 'emergency plumber near me,' and Google needs to know you serve that area. Combined with the provider's address and your LocalBusiness markup in /wiki/what-is-localbusiness-schema, areaServed reinforces your local footprint. It is especially useful for businesses that serve a wide area from one location, a contractor covering several suburbs, where areaServed can list the places you cover even though you have one office. This ties directly into the local SEO strategy in /services/local-seo and the location-focused pages we build for /web-design-for-roofers, /web-design-for-hvac-companies, and similar industries. Accurate areaServed data helps ensure you appear for the right places and are not matched to areas you do not actually cover.
Does Service schema produce rich results? #
Set expectations honestly: Service schema does not, on its own, generate a dedicated visual rich result like product stars or a breadcrumb trail. Its primary value is comprehension, giving search engines and AI systems a clear, structured statement of what you do, who provides it, and where. That comprehension supports several outcomes: better matching for service queries, clearer understanding of your service pages, and stronger signals for AI Overviews and answer engines described in /wiki/what-are-ai-overviews and /wiki/ai-search-optimization, which increasingly answer 'who does X near me' questions by synthesizing structured information. When you pair Service with genuine Review or AggregateRating markup, covered in /wiki/what-is-review-schema, ratings can attach to the service offering where reviews are truly present. So the honest framing is that Service schema is a clarity and relevance investment, not a badge generator. For service businesses whose entire visibility depends on being correctly understood and matched to local queries, that clarity is exactly what moves the needle, even without a flashy result.
How do you organize Service schema across many services? #
Most service businesses offer several distinct services, each ideally on its own page, a plumber with pages for drain cleaning, water heater installation, leak detection, and repiping. Each of these pages should carry its own Service block describing that specific offering, with the shared provider entity linking them all back to the business. This structure serves both users and search engines: dedicated service pages rank better for specific queries than a single 'services' page trying to cover everything, and per-page Service schema describes each offering precisely. For businesses with a service hub branching into individual pages, you can also use breadcrumb schema, covered in /wiki/what-is-breadcrumb-schema, to express the Home > Services > Service Name path. Planning this architecture is part of the information design in /services/ui-ux-design and /services/web-design. The markup then follows the structure: one Service block per service page, generated from the page's own data. This is far more effective than cramming every service into one block, which blurs relevance and helps no one.
How do you implement and maintain Service schema? #
On WordPress, some SEO and schema plugins support Service markup, and for full control a developer can add it to your service page template through /services/wordpress-development so each page outputs a block populated from its own fields, service name, description, area served, and the shared provider entity. On a custom site, our /services/web-app-development team wires the same template-driven approach. Generate and check examples with /tools/schema-generator and /tools/schema-validator, and monitor Google Search Console. Maintenance means keeping the markup aligned with your actual offerings: add a Service block when you launch a new service page, update areaServed if you expand or contract your coverage, and remove markup for services you no longer offer. Keep the provider entity, your business name, address, and contact, consistent across every Service block and in sync with your LocalBusiness and Organization markup, so the whole graph agrees. This coherence across schema types is the difference between structured data that quietly helps and a tangle that confuses, and maintaining it is part of our /services/care-plans.
FAQ
When should I use Service schema instead of Product schema?
Use Service schema when a customer hires you to perform something, like drain cleaning, tax preparation, or personal training, rather than buying a stocked item. Services have no inventory and often no fixed price, so Product schema, with its InStock status and price, does not fit. Trades and professionals almost always belong on the Service side for their offerings.
Does Service schema create a rich result in search?
Not a dedicated visual one by itself. Its value is comprehension: giving search engines and AI systems a clear statement of what you do, who provides it, and where. That supports better matching for local service queries and stronger AI visibility. Pairing it with genuine review markup can attach ratings where real reviews appear on the page.
What does the areaServed property do?
It tells search engines the geographic scope of a service, a city, region, list of neighborhoods, or radius. Because service searches are overwhelmingly local, this reinforces where you work and helps you appear for the right places. It is especially useful for businesses that cover a wide area from a single location, like contractors serving several suburbs.
Should each service have its own schema?
Yes. Each distinct service ideally lives on its own page with its own Service block, all sharing the same provider entity that links back to your business. Dedicated service pages rank better for specific queries than one catch-all page, and per-page schema describes each offering precisely. This structure serves both users and search engines far better than a single combined block.
How does Service schema connect to my business identity?
Through the provider property, which links each service to your business as a LocalBusiness or Organization with a name, address, and contact details. Keeping this provider entity consistent across every Service block, and in sync with your LocalBusiness and Organization markup, ties your whole structured-data graph together so search engines see one coherent business behind all your services.
Can a business use both Service and Product schema?
Yes, when it genuinely offers both. A salon might sell retail hair products with Product schema and styling appointments with Service schema; a gym might sell branded gear as products and personal training as a service. Choose the correct type for each offering based on whether the customer buys a stocked item or hires you to perform a task.
Was this helpful?