Skip to main content
How-To

Local Business Schema for Contractors: What It Is and Why Google Cares

Local business schema is a small block of code that describes your business to search engines. Here's what it is, what Google reads, and what it won't do for you.

Published September 26, 2026 6 min read

Local business schema is a small block of code on a web page that describes your business to search engines in a fixed format: your name, type of business, phone, hours and so on. Visitors never see it. Google uses structured data like this to understand what a page is about. Google is also clear that having it doesn't guarantee anything shows up differently in search.

Here's what contractors need to know, without the SEO jargon.

Structured data in plain English

A person reading your website can tell you're a plumber open 7 to 6 who serves three counties. A search engine can usually work that out too, but it's guessing from the words on the page.

Structured data removes the guessing. It's a labeled list that says: this is a business, it's a plumber, here's the name, here's the phone number, here are the hours. The most common format is called JSON-LD, and Google recommends it where your site's setup allows.

In Google's words, it "uses structured data that it finds on the web to understand the content of the page."

The trade types schema.org has, and doesn't

Schema.org is the shared vocabulary search engines use for structured data. It has a general type, LocalBusiness, and a group called HomeAndConstructionBusiness with eight more specific trade types:

  • HVACBusiness
  • Plumber
  • Electrician
  • Locksmith
  • RoofingContractor
  • GeneralContractor
  • HousePainter
  • MovingCompany

If your trade is on that list, use the specific type. It's the clearest label you can give.

If it isn't (pest control, landscaping, solar, pool service, managed print), there's no special type. Use HomeAndConstructionBusiness or LocalBusiness. Don't invent a type that schema.org doesn't define.

What Google looks for

Google's documentation for local business structured data lists name and address as required. It recommends several other properties, including:

  • telephone: your main number
  • url: the page for this business location
  • openingHoursSpecification: the hours you're open
  • priceRange: a rough price range, like "$$" or "$100–$500"
  • geo: latitude and longitude

Schema.org has plenty of other properties, like areaServed for the cities or ZIP codes you cover. Those are valid schema and can help other search engines understand your business. Google's local business documentation doesn't list them, though, so don't expect them to change anything in Google specifically.

A simplified example for a plumber:

{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Harbor Plumbing",
  "telephone": "+1-555-010-0199",
  "url": "https://example.com/",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Springfield",
    "addressRegion": "IL",
    "postalCode": "62704",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "07:00",
    "closes": "18:00"
  }],
  "priceRange": "$$"
}

Harbor Plumbing is a made-up business. Replace every value with your own, and make sure it matches your Google Business Profile.

Where the markup goes

The code sits in the page's HTML, usually in a script tag in the header, and visitors never see it. Put it on the page that represents your business: your homepage if you have one location, or each location's page if you have several. Many website builders have a setting or plugin for it. If you're not sure where yours goes, ask whoever built your site.

If you're a service-area business

Most plumbers, HVAC shops and electricians work from home or from a shop they don't want customers showing up at, so they hide their street address on Google. Google's local business markup lists address as required, which feels like a conflict.

The practical answer:

  • Only mark up what's visible on the page. Google's rule is "Don't mark up content that is not visible to readers of the page." If your street address isn't shown, don't put it in the code.
  • City, state and ZIP are usually fine to show and mark up, even when the street address isn't.
  • Keep it consistent. Whatever you show on the page should match your Business Profile.

If you're not sure, ask whoever manages your profile before adding a full street address to your site.

What schema won't do

It's worth being blunt here, because a lot of SEO sales pitches aren't.

  • It won't guarantee rankings. Google says it "does not guarantee that your structured data will show up in search results, even if your page is marked up correctly."
  • It won't give you FAQ dropdowns. In 2023 Google said FAQ rich results would only be shown for well-known, authoritative government and health websites. FAQ markup doesn't hurt, but a plumber won't get the dropdowns.
  • It won't replace your Google Business Profile. Your profile is still the main thing customers see in local results. Structured data backs it up. It doesn't compete with it.
  • Star ratings are a trap. Don't add rating markup for reviews that aren't shown on the page. It breaks the same rule about marking up only what readers can see.

What it does do is remove guesswork and make your site agree with your profile. That's the part you control.

How to check your markup

  1. Open Google's Rich Results Test and paste in your page URL. It shows whether Google can read your structured data and flags errors.
  2. Use the Schema Markup Validator for a general check against schema.org.
  3. Compare every value (name, phone, hours) with your Google Business Profile. Mismatches are the most common problem.

The easy path if you don't have a website

If you don't have a website, or can't edit the one you have, adding structured data yourself isn't realistic. A booking page that comes with it built in covers the basics. Point your Google profile's appointment link at it, and you have a public page that describes your business in the format search engines read. Our guide to getting booked from Google without a website covers that setup, and what field service management software does explains the software behind it.

How FSM Navigator handles it

On the Pro and Enterprise plans, every business gets an online booking page with local SEO built in: LocalBusiness structured data for your trade, including your hours, the areas you serve, your service catalog, your FAQs and a booking action. The booking pages also have their own sitemap, and each page is designed for your Google Business Profile's "Appointments" link. There's a step-by-step guide to adding that link.

The page is also where customers request visits. Requests land in your Service Requests list in the same tool you dispatch and invoice from, and an approved request becomes a scheduled visit. You can build the page and preview it in the app during a 14-day Pro trial, and it goes live after the trial.

FAQ

What is local business schema?

Code on a web page that describes your business to search engines in a standard format: business type, name, phone, hours and more.

Is there a schema type for my trade?

Schema.org has specific types for HVAC businesses, plumbers, electricians, locksmiths, roofers, general contractors, house painters and moving companies. Other trades use the general HomeAndConstructionBusiness or LocalBusiness type.

Will schema markup help my business rank higher?

Google doesn't guarantee it. Structured data helps Google understand your page. It's not a ranking shortcut.

Should a service-area business put its address in schema?

Only mark up information that's visible on the page. If you hide your street address, don't include it in the markup.

See how online booking works

A booking page for your business, with service requests that land where you already schedule and dispatch. On the Pro and Enterprise plans.