Service + Offer schema — what it does & how to ship it
Service marks up a service you provide (with serviceType, provider, areaServed and hasOfferCatalog) — surfacing service snippets on the SERP and grounding local-intent answer engines.
What it does
Service names the service, links to the Organization providing it, defines the geographic area served, and nests an OfferCatalog listing the tiers. It's the commerce analog of Product for intangible offerings.
SERP / AI benefit
Service snippets, local pack context enrichment, and AI answer citations for 'X service near me' style queries. LLMs use serviceType + areaServed to answer geographically scoped questions.
Where to use it
Every /services/* page — SEO audits, migrations, consulting, done-for-you programmatic builds.
JSON-LD example
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "SEO Audit",
"provider": { "@type": "Organization", "name": "WBP Omni SEO Pro" },
"areaServed": { "@type": "Country", "name": "United States" },
"hasOfferCatalog": { "@type": "OfferCatalog", "name": "Audit tiers", "itemListElement": [] }
}Copy, edit for your site, and drop into your page head inside a<script type="application/ld+json">block. Validate with Google's Rich Results Test.
In WBP Omni SEO Pro
Auto per service × industry × location page, with OfferCatalog reflecting the actual tier grid.
Ship Service + Offer without touching codeFrequently asked
Service vs Product?›
Product for tangible or software goods; Service for intangible offerings (consulting, audits, done-for-you work).
Do I need areaServed?›
Not required, but strongly recommended — it's the field LLMs use to answer 'near me' and country-scoped queries.
Can Service nest under LocalBusiness?›
Yes — LocalBusiness.makesOffer / providesService links a physical business to its service catalog.
