Service schema
Who needs it: Agencies, consultancies, trades, and anyone selling work rather than a product.
What it does for AI citation
Service businesses are the ones assistants describe worst, because what they sell is only ever stated in prose. Marking up the service and its area makes you eligible for 'who does X in Y' answers that otherwise skip you entirely.
A working example
Paste this into a <script type="application/ld+json"> tag in your page head and replace the values. It is valid as written.
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "AI search visibility consulting",
"provider": { "@type": "Organization", "name": "Example Co", "url": "https://example.com" },
"areaServed": { "@type": "Country", "name": "United States" },
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Services",
"itemListElement": [{
"@type": "Offer",
"itemOffered": { "@type": "Service", "name": "AI visibility audit" }
}]
}
}What actually goes wrong
These are the errors that show up repeatedly on real sites, in rough order of how often we see them.
- serviceType written in internal language rather than the words a buyer would search.
- No areaServed, which quietly removes you from every location-qualified question.
- One Service block covering six unrelated services, when each deserves its own page and its own markup.
Markup is necessary, not sufficient
Valid Service does not buy you a citation. It makes your page legible, which is the precondition. Whether an assistant names you when a buyer asks also turns on your content, how current the page is, and who else on the web corroborates you. Any tool that tells you markup alone will get you cited is overselling.
Check what you have now
Before writing new markup, it is worth seeing whether assistants can reach your pages at all. The crawler checker is free and needs no sign-up.