Service Schema — JSON-LD for Service Page Rich Results
Service schema helps Google understand your service offerings — what you do, who you serve, where you operate, and what it costs. It contributes to local business rich results and enhances service-specific search queries.
What Google shows
Service information in local business panels and service-specific search results with service name, provider, area served, and pricing when available.
Example JSON-LD
{
"@context": "https://schema.org",
"@type": "Service",
"name": "Web Application Security Audit",
"description": "Comprehensive OWASP Top 10 security audit for web applications including penetration testing and vulnerability assessment.",
"provider": {
"@type": "Organization",
"name": "SecureCode Ltd",
"url": "https://www.securecode.com"
},
"areaServed": "United States",
"serviceType": "Security Consulting",
"offers": {
"@type": "Offer",
"price": "5000",
"priceCurrency": "USD",
"description": "Fixed-price audit for applications up to 50 endpoints"
}
}Required by Google
- *name
- *provider (Organization or Person)
Recommended
- ◎description
- ◎areaServed
- ◎serviceType
- ◎offers (price)
- ◎url
- ◎logo
- ◎telephone
- ◎hasOfferCatalog
When to use Service schema
Professional service firms
Law firms, accounting firms, and consulting companies use Service schema to describe their practice areas for professional service searches.
Home services
Plumbers, electricians, and landscapers combine Service schema with LocalBusiness schema to appear in home service search results.
SaaS products
Software-as-a-service companies use Service schema (with serviceType: 'SaaS') to describe subscription offerings alongside their product pages.
Frequently Asked Questions
What's the difference between Service and LocalBusiness schema?▾
LocalBusiness describes the physical business entity (address, hours, location). Service describes specific offerings from that business (what you do, pricing, service area). Use both together for service businesses with a physical location.
How do I specify a service area?▾
Use the 'areaServed' field with either a text description ('San Francisco Bay Area'), an AdministrativeArea type, or a GeoCircle for radius-based coverage. For nationwide services, use 'United States' or the relevant country name.
Should I create one Service per offering or one per page?▾
Create one Service schema instance per distinct service offering. If you have a single page covering multiple services, use multiple Service objects or a hasOfferCatalog with individual Offer items for each service.
All schema types
Validate in Google Rich Results Test
Paste the JSON-LD above to confirm it qualifies for rich snippets.
