Schema markup for service businesses: a checklist that goes beyond Organization
What most sites ship
A single Organization JSON-LD block with name, URL, and logo. Useful, but not enough to let AI tools confidently describe a multi-service agency or its individual offerings.
A fuller graph
Use a @graph that includes ProfessionalService (Organization), WebSite, WebPage, BreadcrumbList, Service (one per offering), Person (the principal or author), and FAQPage where applicable. Link entities by @id rather than by name so AI tools can stitch them together without ambiguity.
Speakable for voice and audio
Add SpeakableSpecification with a cssSelector pointing at the page's key paragraphs. Usually that is the hero lead and the overview block. This is the surface AI voice assistants prefer when summarizing the page out loud.
Common mistakes
Stuffing marketing language into the description field. Inventing an aggregateRating without real reviews behind it. Forgetting to link Service entities to the parent Organization with provider/@id. Each of these makes AI tools distrust the markup as a whole.
Written by Mustafa Karim, founder and principal consultant at NavoTech Digital Solutions. Have a project or counter-example? Get in touch.