Home / Guides / Schema markup guide
Technical SEO

Schema Markup for Local Businesses: A Plain English Guide

XPBy Xavier P.·June 17, 2026·5 min read

TLDR

Schema markup is a label maker for your website. It tells machines which text is your business name, which is your service area, and which is an answer to a question.

Three types do most of the work for local companies: LocalBusiness, Service, and FAQPage. Google lists name and address as the required LocalBusiness properties.

Use the most specific business type available, keep every fact matching your Google profile, and never mark up anything that is not visibly true on the page.

What is schema markup?

Schema markup is a small block of code, usually JSON-LD, that restates your page's facts in a format machines read directly. The vocabulary lives at schema.org, a shared standard the major search engines maintain together. Instead of hoping a crawler guesses that "Summit Air" is a business name and "Austin" is its city, you label both explicitly.

Humans never see it. Machines rely on it. That trade is the whole point.

Why does it matter for local visibility?

Two reasons. First, search engines use structured data to power rich results, like the business panels and detail displays customers see before clicking anything. Google's LocalBusiness documentation covers exactly what that takes.

Second, and growing fast: AI assistants answering local questions need verified facts. Structured data is the cleanest fact source a website can offer, because there is no prose to misread. A business with complete markup gives machines confident answers about its hours, services, and coverage. A business without it makes them guess.

Which schema types does a service business need?

Which business type should you pick?

The most specific one that fits. Google explicitly recommends subtypes over the generic LocalBusiness. A plumbing company should be Plumber, and an electrical contractor should be Electrician. Schema also supports an array of types for companies that genuinely span trades. Google's own example shows a business typed as Electrician, Plumber, and Locksmith at once.

Specific types matter because they carry meaning. A machine that knows you are a Plumber can match you to plumbing questions without inference.

What does a real example look like?

Here is a clean LocalBusiness block for a fictional HVAC company. Swap in your real details, and only your real details.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HVACBusiness",
  "name": "Your Business Name",
  "url": "https://www.yourdomain.com",
  "telephone": "+1-512-555-0100",
  "email": "office@yourdomain.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78701",
    "addressCountry": "US"
  },
  "areaServed": [
    { "@type": "City", "name": "Austin" },
    { "@type": "City", "name": "Round Rock" }
  ],
  "openingHours": "Mo-Fr 08:00-18:00",
  "sameAs": [
    "https://www.facebook.com/yourbusiness"
  ]
}
</script>

Paste the block into the head of the page about your business, most naturally the homepage or contact page. One identity block per business is plenty. Service and FAQ markup then live on the pages they describe.

What are the rules that keep you safe?

How do you test that it works?

Validate before and after publishing. Google's Rich Results Test shows how Google reads the page and flags eligibility problems. The Schema Markup Validator checks the raw syntax against the schema.org vocabulary. Run both after any edit, because one missing comma silently breaks the entire block.

Then confirm in the wild. After a few weeks, check your pages in Search Console for structured data reports, and keep asking the AI assistants about your trade in your area. Clean markup is one of the quietest wins in local visibility: invisible to customers, obvious to machines.

Frequently asked questions

Do I need a developer to add schema markup?

Not necessarily. JSON-LD is a copy-paste block, and most site platforms let you insert code into a page head. A developer helps on complex sites, but a careful owner can ship the basics with a validator open in the next tab.

Will schema markup improve my rankings directly?

Treat it as an understanding signal rather than a ranking shortcut. It makes your facts unambiguous, powers rich displays, and feeds AI answers. Those effects compound into visibility even when position numbers do not jump overnight.

Is FAQ markup still worth it now that Google retired FAQ rich results?

Yes. Google removed the dropdown display in May 2026, but FAQPage remains a valid schema.org type. The markup still tells machines exactly which questions your page answers, and that is the material AI assistants quote.

Where should LocalBusiness markup live?

On the page that best represents the business, usually the homepage or contact page. Google notes it can go on any page, but one authoritative identity block beats scattering copies everywhere.

What is the fastest way to break schema markup?

Editing it by hand and missing a bracket or comma. Always revalidate after changes. The second fastest is letting the markup drift out of sync with reality, like old hours after a schedule change.

XP
Xavier P.

Xavier writes about structured data and the technical work of being read by machines. FoundLocal is where the full playbook lives.

See what AI says about your business

Run the free FoundLocal report. We check the map, search, and AI answers for your trade and your town, then send you the fastest wins.

Run my free report