Article
Schema markup for service businesses
Schema for a local business is a block of structured data that tells search engines who you are, where you are and what you do. A service business needs two or three types: LocalBusiness or Organization for the business, and Service for what it offers. It must match what visitors can see on the page.
Last reviewed 10 October 2026
Schema markup is structured data added to a page's code so that search engines can read the facts about a business without guessing. For a service business, the useful set is small: one block that describes the business (LocalBusiness or Organization) and, where it helps, one that describes each service. This guide covers which types to use, working examples, and what the markup will and will not do.
What schema markup does and does not do
Google's local business documentation says the markup can help Google show details such as opening hours, departments and reviews, and supports the knowledge panel that appears when someone searches for a business by name.
It does not guarantee anything. Google's structured data guidelines state that correct markup makes a page eligible for a feature but does not guarantee the feature will show. The same guidelines set three rules that matter for every example below:
- Mark up only what visitors can see on the page.
- Keep it accurate and current. Markup that misleads can lead to a manual action, which removes eligibility for rich results.
- Use the most specific type that fits the business.
Google recommends the JSON-LD format. JSON-LD sits in the page code inside a script element with the type application/ld+json, separate from the visible content.
Which types a service business needs
LocalBusiness, for a business customers can visit
Use LocalBusiness markup when the business has a physical address that it shows publicly. Google requires only two properties: the name and the address. It recommends several more, including telephone number with country and area code, opening hours, the page URL and map coordinates.
Pick the most specific subtype rather than plain LocalBusiness. Google's own examples include Restaurant, DaySpa and HealthClub. The schema.org vocabulary lists many more.
Organization, for a business with no public address
A business that travels to its customers and does not publish its address has a problem with LocalBusiness, because the address is required. Organization markup has no required properties. Google recommends adding the name, website URL, logo, contact details and links to official profiles, and placing it on the home page or a single page about the business. It does not need to be on every page.
Service, for what the business offers
The schema.org Service type describes a service, who provides it and where it is available, using properties such as serviceType, provider and areaServed. Google's local business documentation does not list areaServed among its properties, so treat Service markup as a clear description of the business rather than something that produces a search feature.
Code examples
The details below are placeholders. Replace every value with the real details shown on the page.
A business with a public address
{
"@context": "https://schema.org",
"@type": "DaySpa",
"@id": "https://www.example.co.za/#business",
"name": "Example Day Spa",
"url": "https://www.example.co.za/",
"telephone": "+27320000000",
"address": {
"@type": "PostalAddress",
"streetAddress": "1 Example Road",
"addressLocality": "Ballito",
"addressRegion": "KwaZulu-Natal",
"postalCode": "4420",
"addressCountry": "ZA"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -29.53900,
"longitude": 31.21400
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "17:00"
}
]
}A business that travels to customers
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.example.co.za/#business",
"name": "Example Maintenance",
"url": "https://www.example.co.za/",
"logo": "https://www.example.co.za/logo.png",
"telephone": "+27320000000",
"email": "hello@example.co.za",
"sameAs": [
"https://www.facebook.com/example",
"https://www.linkedin.com/company/example"
]
}A service page
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "Roof repairs",
"provider": {
"@id": "https://www.example.co.za/#business"
},
"areaServed": ["Ballito", "Salt Rock", "Umhlanga"]
}The @id value links the service back to the business described on the home page. Google's guidelines suggest using @id to connect related items.
Three mistakes to avoid
- Star ratings from your own reviews. Google's review snippet rules say that when a business controls the reviews about itself, its LocalBusiness or Organization pages are not eligible for star ratings in search results. That includes reviews pulled in through a third-party widget. Adding the markup anyway breaks the guidelines.
- FAQ markup for rich results. Google's documentation updates record that FAQ rich results stopped showing in Google Search from May 2026, and the FAQ documentation was removed in June 2026. Questions and answers on a page are still useful to readers. The markup no longer earns a special result in Google.
- Markup that disagrees with the page. If the opening hours in the code differ from the hours in the footer, the markup is wrong. Update both together, and keep them in line with the Google Business Profile.
Schema markup and AI search
Google's guidance on generative AI features says structured data is not required to appear in AI Overviews or AI Mode, and that no special schema exists for them. It also says to keep using structured data as part of normal SEO. Schema is a way to state facts clearly. It does not replace pages that explain the services well.
How to check it
Test each page with Google's Rich Results Test, then watch Search Console for structured data errors after launch. Passing the test confirms the code is valid. It does not confirm a rich result will appear.
Stryx adds schema as part of technical SEO and reviews existing markup during an SEO audit. For the wider checks around it, see the technical SEO audit checklist and the glossary entry on schema markup. To talk through a site, get in touch.
Frequently asked questions
Does schema markup improve rankings?
Google describes structured data as a way to make a page eligible for certain search features, such as business details in results. Its guidelines say eligibility is not a guarantee that a feature will show. Treat schema as a way to state facts clearly, alongside good pages, and not as a ranking shortcut.
Which schema type should a service business use?
Use the most specific LocalBusiness subtype if the business shows a public address. Google requires a name and address for that type. If the business travels to customers and does not publish an address, Organization markup has no required properties and is the better fit. Service markup can then describe each service.
Can I mark up my own customer reviews to get star ratings?
No. Google's review snippet guidelines say pages are not eligible for star ratings when the business being reviewed controls the reviews, including reviews shown through an embedded third-party widget.
Is FAQ schema still worth adding?
Not for Google rich results. Google's documentation updates record that FAQ rich results stopped showing in Google Search from May 2026. Clear questions and answers on the page still help readers.