How to Create Service Schema Markup for Businesses

Schema Markup

When you’re developing a Schema Markup strategy for a business, there is often a Service ( offered that is core to the business. Most SEOs start by optimizing the business first, and you may have even used our Ultimate Guide for Local Business Schema Markup. Once that’s finished, you’re ready to tackle markup for Services.

Whether they’re home services, such as roofing, plumbing, contractor or lawn care, or professional services such as marketing, search engine optimization, or defense in a court of law, most companies offer some type of service. As such, it seems odd that Google’s structured data features do not include “Service”, but instead focus on product schema markup for rich results.

In this article we are going to show you how to create schema markup for Services, so that Google can explicitly understand what services are offered, to what area, and who is providing them.

Service is our co-founder, Mark van Berkel’s favourite schema class, now we’ll explain why.

Tips for Doing Service Schema Markup

By properly marking up your service with structured data, the information you define as entities on the page can be linked to a search engine’s knowledge graph. This provides relevance and context for your content so that your services can be better matched to a user’s search query. Services could include delivery services, print services, plumbing services, roofing services, and more!

Service is the broadest class to define a service offered by a business. The Professional Service class was commonly used in the past, but has since been deprecated by in favour of the more general Service. As a result, we recommend using Service, or one of the more specific subclasses instead of Professional Service.

Within your schema markup, you can describe exactly what type of service you offer (additionalType), who is providing the service (provider), and the area where the Service is offered (areaServed). You can also define the output of the service (serviceOutput). For example, if you are optimizing a Mortgage broker site, the output of the Service is a mortgage. Or if the service is for a home builder, the output would be a custom-built home.

These properties give you control over defining the services sold by the business so that Google and other search engines can accurately understand them and route appropriate traffic to the right pages.

Our Favourite Properties

  • Use the provider property to define who is offering the Service. This is usually the Organization or Local Business that the Service page is for.
  • Use additionalType to define the service more explicitly. Use a Wikidata or Wikipedia link to define this. For example, you would link to if you were optimizing a Plumbing service.
  • Use areaServed to explicitly define where the Service is available. Use a Wikidata or Wikipedia link to define this.
  • Use serviceOutput to define what the outcome of the service is.

List of Service Properties

Creating schema markup for services can be challenging as there are so few required properties to guide us. Instead, we will need to decide what is important about the service being offered, and use the available properties to call that out in the markup.

So which properties should we use? A good place to start is by searching for properties that contain the word “service” in their name or description. Below is a list of properties we recommend you use. Your list could vary depending on what features you want to call out and what information is displayed on the web page. If you don’t have the content for one of the properties on your page—such as an image—then consider adding it in the future.

  • name: The name of the item.
  • additionalType: An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. This is a great place to use Wikipedia.
  • areaServed: The geographic area where a service or offered item is provided. This is a great place to use Wikipedia.
  • availableChannel: A means of accessing the service which connects to a ServiceChannel data item. Creating a ServiceChannel allows you to leverage more touch point properties like servicePhone, servicePostalAddress, and serviceSmsNumber.
  • brand: The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.
  • description: A description of the service.
  • image: An image of the service. This can be a URL or a fully described ImageObject.
  • logo: An associated logo. You may want to just leave this blank and refer to the Organization and its logo.
  • offers: An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Note that the associated Offer requires the availability and price of the item offered. If you’re worried about errors showing up in your markup, we recommend only using this property if you also have the required information on your web page.
  • potentialAction: Indicates a potential Action, which describes an idealized action in which this thing would play an ‘object’ role. For example: “book a demo” or “request a quote”.
  • provider: The service provider, service operator, or service performer. This is a great way to link to the primary organization offering the service.
  • serviceOutput: The tangible thing generated by the service, e.g. a passport, permit, mortgage, etc.
  • serviceType: Another opportunity to further describe the service being provided. This can either be implemented with text, or by linking to Wikipedia.
  • subjectOf: Is there a CreativeWork (ie. Blog, Article, Video) that this service is the subject of? We recommend either using subjectOf to link your Service to the CreativeWork, or else linking the CreativeWork to the Service using the about property.
  • termsOfService: Human-readable terms of service documentation in the form of either text or a URL.
  • url: The URL of the page you are optimizing.

Service Schema Markup Tutorial

Every schema class has a list of properties that can be used to further define its features. Schema App gives you access to all the properties. You can use our recommended list above as a starting point to call out the information listed on your Service’s web page. Schema App will load all of the properties available for Services according to Services don’t have any required properties since requirements are only applied to data items eligible for Google’s Rich Results.

To see our tools in action, check out our tutorial for how to add schema markup for Services using the Schema App Editor:

Multi-Typing Service and Product

In some instances, you should consider multi-typing your data item as both a Service and a Product. This allows you to leverage all the properties granted to both types. This also makes your data item eligible for the Product rich result in search. defines a Product as:

“Any offered product or service. For example: a pair of shoes; a concert ticket; the rental of a car; a haircut; or an episode of a TV show streamed online.”

So, it stands to reason that any service could also receive Product markup. However, it’s always best to use the type that defines your data item most specifically. You should consider multi-typing a data item as both a Product and a Service when:

  • It could benefit from leveraging Service properties like provider, and areaServed
  • It has an image, as required for the Product rich result
  • It has the price, aggregateRating or review information required for the Product rich result

Schema Markup for Local Services

Google’s structured data documentation doesn’t include services, but it does include Local Business. You can use the provider property to define your organization or local business schema markup for enhanced Google features in search.

Call out where the services are provided using the areaServed property. Link this to a Wikidata entity for that place, as most Wikidate entries for places have coordinate location information.

Check out our Ultimate How-To Guide for Local Business Schema Markup for more information about how to mark up your local business organization.

Schema Markup for Software as a Service (SaaS)

Service schema markup is more complicated for representing SaaS because there aren’t specific Types to describe this in the vocabulary. For specific SaaS products, use SoftwareApplication, Product, or multitype as both depending on which definition best suits your needs, and which rich results you want the content to be eligible for.

If specific products aren’t provided, you can use service more generally, and use either sameAs or additionalType to link to a Wiki entity with a more specific definition. For example, IT service management or digital security.

Martha van Berkel is the co-founder and CEO of Schema App, an end-to-end Semantic Schema Markup solution provider based in Ontario, Canada. She focuses on helping SEO teams globally understand the value of Schema Markup and how they can leverage Schema Markup to grow search performance and develop a reusable content knowledge graph that drives innovation. Before starting Schema App, Martha was a Senior Manager responsible for online support tools at Cisco. She is a Mom of two energetic kids, loves to row, and drinks bulletproof coffee.