Schema Markup for Local Business and Service Websites: A Practical Guide

What schema markup is, how it works, and which types a local business or service website actually needs: Organization, LocalBusiness, Service, FAQPage, Article and BreadcrumbList, with examples.

Schema markup for local business websites is structured data, written in JSON-LD with the Schema.org vocabulary, that tells search engines exactly who the business is, where and when it operates, what services it offers, and how its pages relate. The essentials are LocalBusiness (or Organization), WebSite, Service and BreadcrumbList, plus Article and FAQPage on content pages.

This supports my pillar on entity SEO; schema is how you state your entity’s facts in machine-readable form.

What is schema markup and how does it work?

Schema markup is a block of code added to a page that labels its content: “this is a business named X at this address, open these hours, offering these services.” Search engines parse it, compare it with the visible page, and may use it for rich results, knowledge panels and understanding. It makes pages eligible for features; it does not guarantee them or directly raise rankings.

JSON-LD: the format to use

Google recommends JSON-LD when your setup allows it. It sits in a <script type="application/ld+json"> tag, separate from the HTML layout, which makes it easier to maintain than microdata.

The schema types a service business needs

1. LocalBusiness or Organization

Use LocalBusiness (or a more specific subtype such as ProfessionalService, Dentist, Restaurant) if customers visit you or you serve a defined area. Otherwise Organization. For freelancers, a Person entity often fits better.

{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "@id": "https://example.com/#business",
  "name": "Example Web Studio",
  "url": "https://example.com/",
  "logo": "https://example.com/logo.png",
  "image": "https://example.com/office.jpg",
  "telephone": "+20-000-000-0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 Example Street",
    "addressLocality": "Alexandria",
    "addressCountry": "EG"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Sunday","Monday","Tuesday","Wednesday","Thursday"],
    "opens": "09:00",
    "closes": "17:00"
  }],
  "areaServed": ["EG", "SA", "AE"],
  "sameAs": ["https://www.linkedin.com/company/example"]
}

The NAP (name, address, phone) must match your Google Business Profile and the page exactly.

2. WebSite

Identifies the site and its publisher, and references the organization by @id.

3. Service

Describe each main service on its own page:

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "WooCommerce store development",
  "serviceType": "Ecommerce development",
  "provider": { "@id": "https://example.com/#business" },
  "areaServed": "EG",
  "url": "https://example.com/services/woocommerce/"
}

4. BreadcrumbList

Mirrors the breadcrumb navigation and helps search engines understand site hierarchy.

5. Article / BlogPosting

On blog posts: headline, dates, author (referencing your Person @id), image and publisher.

6. FAQPage

For pages with genuine questions and answers visible on the page. Google limited FAQ rich results in 2023 to a small set of authoritative sites, so do not expect the dropdowns in results. The markup still clearly structures Q&A content, which can help machines, including AI systems, extract answers.

7. Review and AggregateRating

Only for reviews visible on the page and collected in line with Google’s policies. Google does not show review stars for self-serving reviews about your own business placed on your own site (LocalBusiness and Organization). Never invent ratings.

Connecting the graph with @id

Instead of repeating the business details everywhere, give each entity an @id and reference it:

  • WebSite publisher → #business
  • Service provider → #business
  • Article author → #person
  • Organization founder → #person

This produces one connected graph rather than disconnected snippets.

How to add schema in WordPress

  • SEO plugins such as Rank Math or Yoast generate Organization, WebSite, Article and Breadcrumb schema and offer settings for business details.
  • Theme-level output works when you need precise control, but make sure it switches off when an SEO plugin provides the same types, to avoid duplicates.
  • Custom fields let editors maintain FAQ items or service details without touching code.

Duplicate schema from a theme, a plugin and a page builder at the same time is very common. Check the page source and clean it up; a plugin audit often finds the cause.

Validation

  1. Rich Results Test (Google) shows which rich results the page is eligible for and any errors.
  2. Schema Markup Validator (schema.org) checks general validity against the vocabulary.
  3. Search Console enhancement reports show issues across the site over time.

Rules to stay safe

  • Mark up only content visible to users.
  • Keep facts consistent with the page, your Google Business Profile and other profiles.
  • Do not mark up content that is misleading or hidden.
  • Update schema when hours, address or services change.

Checklist

  • One main business or person entity with @id
  • WebSite and BreadcrumbList on all pages
  • Service schema on each service page
  • Article schema with author on posts
  • FAQPage only where Q&A is visible
  • No duplicate schema from multiple sources
  • Validated with both tools

Common mistakes

  • Copying a schema template with someone else’s address still in it.
  • Marking up five-star ratings with no visible reviews.
  • LocalBusiness for a fully remote company with no address.
  • Forgetting to update opening hours in schema after changing them on the site.

Schema is one part of a wider technical SEO audit. If you want your structured data set up and validated, contact me.

Frequently asked questions

What is schema markup?

Schema markup is code, usually JSON-LD, that uses the Schema.org vocabulary to describe what a page is about: a business, a product, an article, an FAQ. It helps search engines and other systems understand and display your content.

How does schema markup work?

Search engines read the structured data, match it with the visible content, and may use it for rich results and to understand entities. Markup makes a page eligible for some features but does not guarantee them.

Do I need LocalBusiness schema if I work remotely?

LocalBusiness is meant for businesses with a physical location customers visit or a defined service area. Remote service providers often use Organization or ProfessionalService, or Person for individuals.

Do FAQ rich results still show in Google?

Since August 2023 Google shows FAQ rich results only for a limited set of well-known authoritative government and health sites. FAQPage markup is still valid structured data and can help machines understand Q&A content.

Muhamed Ahmed

Ecommerce & Web Solutions Developer

I'm Muhamed Ahmed, an ecommerce and web solutions developer with 15 years of experience building fast, secure online stores and websites on WooCommerce, WordPress and custom Laravel platforms. I write about website speed, SEO, automation and conversion.

All articles Work with me

Related articles