All posts
AI Search

LocalBusiness Schema for Contractors: What to Add and Where

By Omar Basir, Founder

Published · 4 min read

LocalBusiness schema is a labeled, machine-readable version of facts that are already on your page: who you are, where you work, how to reach you, and when you're open. It is useful, but it is optional. Google says you don't need special schema.org structured data or new files to appear in its AI features (AI features and your website). Think of it as clear labeling, not a shortcut. The guide to AI search visibility and how to get cited cover where it fits.

Choose the Most Specific Type

Google's local business structured data documentation says to use the most specific LocalBusiness subtype possible. For home service trades, schema.org's HomeAndConstructionBusiness type has these more specific subtypes:

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

Each sits under HomeAndConstructionBusiness, which sits under LocalBusiness (schema.org Plumber shows the hierarchy). If none of the subtypes fits your trade, HomeAndConstructionBusiness is the parent type.

Properties to Fill In

Google lists two properties as required for local business markup: name and address. It lists these among the recommended ones:

  • telephone
  • url
  • openingHoursSpecification
  • geo
  • priceRange

Google's list also includes properties aimed at other business types, such as menus for restaurants. Skip those. Schema.org also defines areaServed, described as "the geographic area where a service or offered item is provided," and the trade subtypes inherit it, along with sameAs and hasMap. Use areaServed for the same towns you listed as your service area on your Google Business Profile, as covered in service area or storefront.

If Your Address Is Hidden

Google requires address for this markup, but many contractors hide their address on their profile. Google also says not to add structured data about information that isn't visible to the user, even if it is accurate. So markup should describe what your page actually shows. This site's own markup lists only the city, region, and country, without a street address. We can't confirm how Google treats a partial address, so check the result in the Rich Results Test and decide what you're comfortable showing publicly.

The Format and Where It Goes

Google recommends JSON-LD, a block of script embedded in a <script> tag in the <head> or <body> of the page, because it's the easiest format to implement and maintain. Put the markup on the page it describes. For business details, that is typically your homepage and your contact page. Google also says your mobile and desktop pages should carry the same structured data, since it uses the mobile version of a page for indexing.

Match What's Visible

The single most important rule is Google's own: structured data describes the content of the page it's on, and you shouldn't add structured data about information that isn't visible to the user. If your page says you're open until 5 p.m., your markup should say 5 p.m. If you change your hours on the page, change them in the markup too.

Check Your Markup

Google's documentation says to validate your code with the Rich Results Test and fix any critical errors. Run it on every page where you add markup, and again after any change to hours, phone number, or service areas.

Keep It Current

Structured data goes stale the same way any other business information does. When your hours, phone number, or service area change, update your page, your Business Profile, and your markup together, so the three still agree.

What Schema Won't Do

It won't make an AI assistant name you, and it isn't a ranking shortcut. It labels facts that are already on the page. If the page doesn't clearly say what you do and where, no markup fixes that. The Google Business Profile playbook covers the profile side of the same information.

Related Guides

Want to know where you stand on all of this?

Run the free audit. Enter your email and business name, and we check your website, Google Business Profile, reviews, and AI search visibility, then send you the results.

Run my free audit