Skip to main content

Service Schema Missing

Issue No: 153

Category: Structured Data & Rich Results

Issue type: Suggestion

Priority: STANDARD

Description

Pages describing a service offering are missing Service schema. Without it, search engines cannot identify and surface the page's service details in rich results or AI-generated overviews, reducing discoverability for service-based businesses.

How do we capture it

  • Detect pages likely to be service pages: URLs matching patterns like /services/, /solutions/, /offerings/; or page titles containing words like "service", "solution", "consulting", "agency"
  • Check JSON-LD for "@type": "Service"
  • If service-page pattern detected but Service schema absent → trigger suggestion

What to store

StructuredDataAudit record with schemaType = Service, issueNumber = 153, plus StructuredDataField rows:

FieldTypeComment
has_namebooleanname property present
has_descriptionbooleandescription property present
has_providerbooleanprovider (Organisation/Person) linked
has_service_typebooleanserviceType property present
has_area_servedbooleanareaServed property present
has_offerbooleanoffers (Offer schema) nested inside Service
has_urlbooleanurl property present

Core audit fields used: isPresent, hasName, hasDescription, rawJson

Condition for trigger

  • Trigger Rule 1: Service schema absent on service page

    • Target Field: isPresent
    • Evaluation Logic: isPresent = false AND URL or page title indicates a service/offering page
    • Severity: STANDARD
    • Diagnostic Message: "Service page detected but no Service schema found. Add Service schema to improve eligibility for rich results and AI overviews."
  • Trigger Rule 2: Provider not linked

    • Target Field: has_provider
    • Evaluation Logic: has_provider = false
    • Severity: STANDARD
    • Diagnostic Message: "Service schema found but provider is missing. Link to your Organisation schema to establish entity association."
  • Trigger Rule 3: Service type missing

    • Target Field: has_service_type
    • Evaluation Logic: has_service_type = false
    • Severity: STANDARD
    • Diagnostic Message: "serviceType is missing from Service schema. Specifying the service type improves categorisation signals."

Sources

Long description

Service schema communicates to search engines that a page describes a specific service offering by a business or individual. It enables search engines and AI systems (Google AI Overviews, Bing Copilot) to understand what the service is, who provides it, where it is available, and at what price — without needing to parse unstructured page content.

Key benefits:

  • Increased eligibility for AI Overview citations for service-related queries
  • Stronger entity association between the service and the providing Organisation
  • Potential eligibility for rich snippets showing service details in SERPs

Service can be combined with Offer (nested in offers) to provide pricing signals, and with LocalBusiness to indicate a locally available service.

Full example:

{
"@context": "https://schema.org",
"@type": "Service",
"name": "SEO Consulting",
"description": "Professional SEO consulting services to improve organic search visibility for B2B and e-commerce businesses.",
"serviceType": "SEO Consulting",
"provider": {
"@type": "Organization",
"name": "XeoPix Digital",
"url": "https://www.xeopix.com"
},
"areaServed": {
"@type": "Country",
"name": "United States"
},
"url": "https://www.xeopix.com/services/seo-consulting",
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "1500",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "1500",
"priceCurrency": "USD",
"unitText": "per month"
}
}
}

Key properties:

PropertyRequiredDescription
nameYesName of the service
descriptionYesDescription of the service
serviceTypeRecommendedCategory of service (free text)
providerRecommendedOrganization or Person offering the service
areaServedRecommendedGeographic coverage (Country, City, State)
offersOptionalNested Offer schema for pricing
urlRecommendedCanonical URL of the service page

How to Fix

  1. Identify all service, solution, or offering pages on the site
  2. Add Service JSON-LD schema to each page
  3. At minimum include: name, description, provider (linking to Organisation schema), and url
  4. Add serviceType and areaServed for stronger categorisation signals
  5. Optionally nest Offer schema inside offers property if pricing is public
  6. Validate with Google Rich Results Test and Schema Markup Validator
  7. Monitor Google Search Console Enhancements for any new rich result eligibility