How to add Service schema so AI search understands what you offer
Last updated:
If your page sells or describes a service, AI Search Score checks for a Service (or Product) schema block. Without it, AI engines can read your words but have no structured statement of what you actually offer — which makes you harder to cite accurately. This is one of the most common gaps on service-business sites.
Why this matters
Generative engines like Google AI Overviews, ChatGPT and Perplexity lean on structured data to understand entities and offerings with confidence. A Service block tells them, unambiguously, “this business provides X.” It pairs with your Organization entity to form a small, machine-readable picture of your business — exactly the kind of clarity that gets quoted rather than skipped.
How to fix it
Add a Service schema block describing what you offer, linked to your business entity. Keep it in its own JSON-LD script block (don’t merge everything into one @graph). In WordPress you can place it via your code-snippets plugin (e.g. WPCode) in the site header, or in a Custom HTML block. Replace the example values with your own:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://example.com/#service",
"serviceType": "Your service category",
"name": "Your service name",
"description": "A clear one-sentence description of what you provide and for whom.",
"provider": { "@id": "https://example.com/#organization" },
"areaServed": "Where you serve (city, region, or Worldwide)",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "What we offer",
"itemListElement": [
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Service tier one", "description": "What it includes." } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Service tier two", "description": "What it includes." } }
]
}
}
</script>
Notes:
providershould reference your existing Organization/LocalBusiness@id, so the two link up.- Leave prices out of the schema unless you’ll keep them current — stale prices in schema are worse than none. List the offerings by name.
- This works alongside any SEO plugin (Slim SEO, Yoast, Rank Math). It doesn’t replace them; it adds the one block they may not generate for you.
How to check it worked
Re-scan the page with AI Search Score. “Service or Product schema present” should turn green. Also confirm “All JSON-LD parses as valid” stays green — if it flips, you have a typo (a stray comma or smart-quote); paste the block through a JSON validator to find it.
Prefer this done for you? See our services.