When you are developing a Schema Markup strategy for a business, there is often a Service (Schema.org/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, providing 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 Schema.org 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 https://en.wikipedia.org/wiki/Plumbing 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 pagesuch as an imagethen 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.


Creating Schema Markup for Services in Schema App

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 Schema.org/Service properties. You can use our recommended list above as a starting point to call out the information listed on your Service’s web page. When you login to Schema App, and go to your Schema App Editor, search for Service, and click Create.


You will be asked to provide the name of your service, and the URL. This is the URL where your schema markup will be deployed. Schema App will load all of the properties available for Services according to Schema.org. You’ll notice that Services don’t have any required properties since requirements are only applied to data items eligible for Google’s Rich Results. We recommend filling in the properties listed above, linking to existing data items, or creating new ones as required. Click Done. Your JSON-LD will be created.

 

Creating Service Markup in the Schema App Editor


Follow the Step by Step tutorial on how to add schema markup for Services illustrated using an example from Ckitchen.



To save yourself time and frustration, try using Schema App’s schema markup implementation and validation tools in a 14-day free trial of our pro subscription. You’ll be able to add schema markup to your website without having to write a line of code. Sign up here!


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, and makes your data item eligible for the Product rich result in search.

Schema.org 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 schema.org 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

To multi-type your data item:

  1. Create either a Service or Product data item
  2. Find the "Type" property listed under "Other fields" and click the "+" symbol
  3. Select the additional type



For more information about Product markup, see Google's documentation on the Product feature.


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 schema.org vocabulary. For specific SaaS products, use SoftwareApplicationProduct, 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.


JSON-LD Examples

Here is some sample JSON-LD* for the Consulting Service from the training video.
*Note that additional characters have been added to modify the script tags and prevent validation errors.


{

    "@context": "http://schema.org",

    "@type": "Service",

    "provider": {

        "@type": "Organization",

        "name": "Ckitchen",

        "additionalType": "https://www.wikidata.org/wiki/Q24649023",

        "address": {

            "@type": "PostalAddress",

            "streetAddress": "2237 New York Avenue",

            "postalCode": "11234",

            "addressRegion": "NY",

            "addressLocality": "Brooklyn",

            "addressCountry": "http://www.wikidata.org/entity/Q30",

            "name": "Postal Address",

            "@id": "https://www.ckitchen.com/#PostalAddress"

        },

        "description": "When you’re shopping around for commercial kitchen equipment, you want a supplier that’s an authorized dealer of top brands, provides the guaranteed lowest prices and is staffed by a team of well-trained commercial kitchen experts. Only one company checks all those boxes and more, and that’s CKitchen.com. Not only do you get an unbeatable selection and top-quality service here, but you’ll also appreciate that 10 percent of our profits go to charity, so you can feel good about shopping with us. We’re one of the web’s top commercial kitchen suppliers, and can even provide you with professional food service consulting and kitchen design services based on your individual needs and budget.  Our selection of commercial kitchen supplies includes everything from cutting-edge bar, bakery and concession equipment to catering equipment, supplies and appliances that can handle large volumes. It doesn’t matter if you’re operating a brick-and-mortar restaurant or food truck, CKitchen.com can outfit your business with the supplies required to boost efficiency, sales and productivity. We have commercial food preparation equipment, gas and electric ranges, ice machines, refrigerators, walk-in coolers and freezers, beverage systems, sinks, tables, shelving, and many more supplies that will help transform your commercial kitchen so it can handle even the most demanding needs.",

        "@id": "https://www.ckitchen.com/"

    },

    "logo": {

        "@id": "https://cdn.ckitchen.com/i_l/logos/ckitchen.png"

    },

    "image": {

        "@type": "ImageObject",

        "url": "https://www.ckitchen.com/crm/userfiles/2a06815c-a613-4616-94cf-ebffa45f5734.jpg",

        "height": "565",

        "width": "847",

        "@id": "https://www.ckitchen.com/crm/userfiles/2a06815c-a613-4616-94cf-ebffa45f5734.jpg"

    },

    "brand": {

        "@id": "https://www.ckitchen.com/"

    },

    "additionalType": "https://en.wikipedia.org/wiki/Consultant",

    "url": "https://www.ckitchen.com/design/consulting/",

    "areaServed": "http://www.wikidata.org/entity/Q60",

    "description": "The role of the food service operation consultant is to guide the client in the following ways. First, a general review of the project and the available square footage for storage, prep, production and clean up. Also the \"front of the house\" food displays, anticipated seating of the dining/lounge and/or bar as applicable, the traffic patterns that include entry, delivery and trash removal.  Next, the client's menu is reviewed and equipment is properly matched for its production. The future expansion or changes in the menu are also considered. The proper layout of the vital kitchen areas will have a major impact on cost savings to the owner/operator. Included in these savings are labor, breakage, food waste, food yield, energy efficiencies and waste handling.  Consulting services are offered independent of a complete project or as part of a design.",

    "name": "Food Service Operation Consulting",

    "@id": "https://www.ckitchen.com/design/consulting/"

}


Here is some sample JSON-LD for a Mortgage page. 


{

    "@context": "http://schema.org",

    "@type": "Service",

    "serviceType": "Mortgages",

    "areaServed": [

        {

            "@type": "City",

            "name": "Toronto",

            "@id": "https://en.wikipedia.org/wiki/Toronto"

        },

        {

            "@type": "City",

            "name": "Aurora",

            "@id": "https://en.wikipedia.org/wiki/Aurora,_Ontario"

        },

        {

            "@type": "City",

            "name": "Oshawa",

            "@id": "https://en.wikipedia.org/wiki/Oshawa"

        }

    ],

    "audience": "http://www.wikidata.org/entity/Q131524",

    "provider": {

        "@type": "Organization",

        "name": "Hanely Mortgage Group",

        "@id": "http://hanleymortgagegroup.com/"

    },

    "availableChannel": {

        "@type": "ServiceChannel",

        "serviceUrl": "http://hanleymortgagegroup.com",

        "servicePhone": {

            "@type": "ContactPoint",

            "telephone": "1-416-323-0535",

            "name": "Hanley Mortgage Group Sales Contact Point",

            "faxNumber": "1-416-323-0744",

            "description": "Sales phone number for Hanley Mortgage Group",

            "contactType": "sales",

            "availableLanguage": "https://en.wikipedia.org/wiki/English_language",

            "areaServed": [

                {

                    "@id": "https://en.wikipedia.org/wiki/Toronto"

                },

                "https://en.wikipedia.org/wiki/King_City,_Ontario"

            ],

            "@id": "http://hanleymortgagegroup.com/get-in-touch/#salesnumber"

        },

        "serviceLocation": "http://schemaapp.com/db/Marthas_Dare/Place_2",

        "name": "Hanley Mortgage Group Service Channel Phone Web Office",

        "description": "Contact Hanley Mortgage group by phone, web or office. ",

        "@id": "http://schemaapp.com/db/Marthas_Dare/ServiceChannel_2"

    },

    "description": "Why do major financial institutions make it so difficult for ‘non-traditional’ borrowers? After all, almost 16% of Canadians now work for themselves. And Statistics Canada data suggests that self-employed workers have a higher median net worth than salaried workers.",

    "image": [

        "http://hanley.wpengine.com/wp-content/uploads/2016/02/Entrepreneur.jpg",

        {

            "@type": "ImageObject",

            "width": "1698",

            "url": "http://hanley.wpengine.com/wp-content/uploads/2016/02/Entrepreneur.jpg",

            "height": "1131",

            "@id": "http://hanley.wpengine.com/wp-content/uploads/2016/02/Entrepreneur.jpg"

        }

    ],

    "name": "Self Employed Mortgages",

    "serviceOutput": {

        "@type": "Product",

        "name": "Mortgage Loan",

        "@id": "https://en.wikipedia.org/wiki/Mortgage_loan"

    },

    "url": "http://hanleymortgagegroup.com/mortgage-services/self-employed/",

    "@id": "http://hanleymortgagegroup.com/mortgage-services/self-employed/"

}


Here is some sample JSON-LD for a Mortgage page. 


{

    "@context": "http://schema.org",

    "@type": "Service",

    "serviceType": "Mortgages",

    "areaServed": [

        {

            "@type": "City",

            "name": "Toronto",

            "@id": "https://en.wikipedia.org/wiki/Toronto"

        },

        {

            "@type": "City",

            "name": "Aurora",

            "@id": "https://en.wikipedia.org/wiki/Aurora,_Ontario"

        },

        {

            "@type": "City",

            "name": "Oshawa",

            "@id": "https://en.wikipedia.org/wiki/Oshawa"

        }

    ],

    "audience": "http://www.wikidata.org/entity/Q131524",

    "provider": {

        "@type": "Organization",

        "name": "Hanely Mortgage Group",

        "@id": "http://hanleymortgagegroup.com/"

    },

    "availableChannel": {

        "@type": "ServiceChannel",

        "serviceUrl": "http://hanleymortgagegroup.com",

        "servicePhone": {

            "@type": "ContactPoint",

            "telephone": "1-416-323-0535",

            "name": "Hanley Mortgage Group Sales Contact Point",

            "faxNumber": "1-416-323-0744",

            "description": "Sales phone number for Hanley Mortgage Group",

            "contactType": "sales",

            "availableLanguage": "https://en.wikipedia.org/wiki/English_language",

            "areaServed": [

                {

                    "@id": "https://en.wikipedia.org/wiki/Toronto"

                },

                "https://en.wikipedia.org/wiki/King_City,_Ontario"

            ],

            "@id": "http://hanleymortgagegroup.com/get-in-touch/#salesnumber"

        },

        "serviceLocation": "http://schemaapp.com/db/Marthas_Dare/Place_2",

        "name": "Hanley Mortgage Group Service Channel Phone Web Office",

        "description": "Contact Hanley Mortgage group by phone, web or office. ",

        "@id": "http://schemaapp.com/db/Marthas_Dare/ServiceChannel_2"

    },

    "description": "Why do major financial institutions make it so difficult for ‘non-traditional’ borrowers? After all, almost 16% of Canadians now work for themselves. And Statistics Canada data suggests that self-employed workers have a higher median net worth than salaried workers.",

    "image": [

        "http://hanley.wpengine.com/wp-content/uploads/2016/02/Entrepreneur.jpg",

        {

            "@type": "ImageObject",

            "width": "1698",

            "url": "http://hanley.wpengine.com/wp-content/uploads/2016/02/Entrepreneur.jpg",

            "height": "1131",

            "@id": "http://hanley.wpengine.com/wp-content/uploads/2016/02/Entrepreneur.jpg"

        }

    ],

    "name": "Self Employed Mortgages",

    "serviceOutput": {

        "@type": "Product",

        "name": "Mortgage Loan",

        "@id": "https://en.wikipedia.org/wiki/Mortgage_loan"

    },

    "url": "http://hanleymortgagegroup.com/mortgage-services/self-employed/",

    "@id": "http://hanleymortgagegroup.com/mortgage-services/self-employed/"

}


Here is some sample JSON-LD for a multi-typed Service and Product. 


{

    "@context": "http://schema.org",

    "@type": [

        "Product",

        "Service"

    ],

    "image": "https://example.ca/haircut-photo/5a21be1.svg",

    "areaServed": "https://en.wikipedia.org/wiki/Akron,_Ohio",

    "name": "Master Stylist Haircut",

    "url": "http://example.ca/master-stylist-haircut",

    "description": "Haircut includes a thorough consultation with a Master Stylist.",

    "provider": {

        "@type": "LocalBusiness",

        "name": "The Hair Necesseties",

        "image": "http://example.ca/company-image.jpg",

        "address": {

            "@type": "PostalAddress",

            "streetAddress": "123 Hair Today Gone Tomorrow St.",

            "postalCode": "43333",

            "addressRegion": "Ohio",

            "addressLocality": "Akron",

            "addressCountry": "http://example.ca/homepage#Country",

            "name": "Hair Necessities Address",

            "@id": "http://example.ca/homepage#PostalAddress"

        },

        "@id": "http://example.ca/homepage"

    },

    "offers": {

        "@type": "Offer",

        "name": "Master Stylist Haircut Offer",

        "price": 80,

        "priceCurrency": "USD",

        "availability": "InStock",

        "url": "http://example.ca/master-stylist-haircut",

        "@id": "http://example.ca/master-stylist-haircut#Offer"

    },

    "@id": "http://example.ca/master-stylist-haircut"

}