Home / Insights / SEO Systems

SEO Systems

Schema Markup for Service Businesses: Practical Guide

For service businesses the practical stack is Organization on the About or home page, one LocalBusiness per location using the most specific subtype available, and Service entities carrying areaServed and hasOfferCatalog. Google's general guidelines matter more than any type list: markup must match visible content, stay crawlable, and use the most specific type possible.

Choose formats and placement

Eligible formats for rich results are JSON-LD, which Google recommends, plus Microdata and RDFa; structured data pages must not be blocked by robots.txt or noindex. [Google Search Central, General structured data guidelines]

Put markup on the page it actually describes, and duplicate pages should carry the same markup as their canonical counterpart, since inconsistent markup between a canonical page and its duplicates is one of the more common validation failures teams run into.

None of this work is glamorous, and that is precisely why it tends to be neglected until a traffic drop forces attention back to it. Building it into a recurring operating rhythm is cheaper than doing it once under pressure.

  • Where a fix requires developer time that is not immediately available, prioritize the requirement that gates everything else, crawl access and indexability, since improvements elsewhere on the page cannot compensate for a page that is not eligible to be shown at all.

The core types

LocalBusiness requires address and name, with geo, openingHoursSpecification, priceRange, telephone, and url recommended. [Google Search Central, Local business structured data]

Organization markup belongs on the home page or a single About-style page, and identifiers like naics and iso6523Code help disambiguation. [Google Search Central, Organization]

Choosing the most specific available subtype rather than a generic LocalBusiness type is worth the extra research time, since a specific type carries implicit meaning a generic type does not, and it costs nothing beyond looking up the correct schema.org identifier.

Hours, departments and edge cases

Open-24-hours is expressed as opens 00:00 and closes 23:59, and closed-all-day as opens 00:00 and closes 00:00, which trips up more implementations than any other single field. [Google Search Central]

Multi-location businesses with holiday hours or seasonal schedules should treat openingHoursSpecification as a living field that gets updated on a calendar, not a one-time setup task.

A small business without a dedicated engineer can still execute this checklist with a part-time contractor or a knowledgeable freelancer, provided the priorities are sequenced correctly and not treated as a single undifferentiated to-do list.

Reviews and ratings: the property Google restricts

aggregateRating and review on LocalBusiness are only recommended for sites that capture reviews about other local businesses, not for a business reviewing itself. [Google Search Central]

Document every fix as you make it, since the next person to touch the site, whether that is a new hire or a new agency, will move faster with a written record of what was already tried and why.

What can go wrong

Markup must be a true representation of page content; misleading markup such as fake reviews is prohibited and can trigger a structured data manual action. [Google Search Central]

Google's FAQ rich result is no longer shown in Search results, and the documentation was removed in June 2026, so FAQ markup should not be sold as a rich-result play. [Google Search Central documentation updates]

Most of the mistakes covered in this article are reversible, which is worth remembering if an audit turns up several problems at once. Prioritize by impact and work through the list methodically rather than trying to fix everything in a single sprint.

Testing and monitoring

Validate markup after every template change and monitor the Rich Results status in Search Console rather than assuming a one-time implementation holds forever.

Set a recurring calendar reminder tied to your development team's release cadence, since a theme or template update is the single most common way structured data quietly breaks.

Keep a simple change log tied to deployments or theme updates, since a large share of technical SEO regressions trace back to a change nobody flagged as SEO-relevant at the time it shipped.

Frequently asked questions

Which format should I use?

JSON-LD is Google's recommended format (Google, https://developers.google.com/search/docs/appearance/structured-data/sd-policies).

Can I mark up reviews I collected myself?

Not as LocalBusiness aggregateRating; that is only recommended for sites reviewing other businesses (Google, https://developers.google.com/search/docs/appearance/structured-data/local-business).

Is FAQ schema still worth it?

Not for rich results; the feature is no longer shown in Search (Google, https://developers.google.com/search/docs/appearance/structured-data/faqpage).

Does markup need to match the page?

Yes, explicitly (Google, https://developers.google.com/search/docs/appearance/structured-data/sd-policies).

What happens if markup is wrong?

A possible manual action that costs rich-result eligibility without affecting web ranking (Google, https://developers.google.com/search/docs/appearance/structured-data/sd-policies).

Primary sources

Policy and statistical claims in this guide are grounded in the sources below. Access dates and policy details can change, so verify regulated guidance before acting.

Seven clients. One of them could be you.

Tell us what you're building and what's stalled. If we're not the right fit, we'll say so on the call - and point you somewhere better.

Start a project