Local SEO

Local Business Schema Markup: How to Add It, What Google Actually Uses, and What to Skip

Local business schema markup is a block of structured data that tells Google your business name, address, phone, hours and service type in a format it can read without guessing. Here is what to include, how to add it, how to test it, and the markup that wastes your time.

By Tyler Martin, Founder of Red Ridge AI

Local business schema markup is a small block of structured data, usually JSON-LD, placed in your website code to tell Google your business name, address, phone number, hours and type of business in a machine-readable format. Google only requires two properties, name and address, but a useful setup adds your phone, URL, hours, coordinates and the most specific business type that fits. It will not push you to the top of the map pack on its own. What it does is remove guesswork, so the facts on your site match the facts Google already holds about you. Below: what to include, how to add it, how to test it, and the markup that is no longer worth adding.

What local business schema markup does (and does not do)

Search engines read your pages the way a person skims them: they see a phone number in the footer, an address on the contact page, hours in a sidebar, and they infer that these belong to the business. Structured data removes the inference. It labels each fact explicitly using the shared schema.org LocalBusiness vocabulary, so a crawler knows that this string is your telephone, that one is your street address, and these are your opening hours.

Be realistic about the payoff. Google’s structured data guidelines state plainly that it does not guarantee that your structured data will show up in search results, even when it is valid. Schema is not a ranking shortcut. It is a consistency layer. For a local business, that consistency matters because Google is constantly cross-checking your website against your Google Business Profile, directory listings and reviews. When every source says the same thing, there is less for the algorithm to doubt.

Think of schema as one item on a technical SEO checklist alongside page speed, mobile layout, crawlability and HTTPS. If your site is slow or blocked from indexing, markup will not rescue it. Our guide to small business website speed covers the performance side.

The properties Google requires and recommends

Google’s LocalBusiness structured data documentation lists only two required properties: name and address. Everything else is recommended. For a service business, these are the ones worth filling in:

PropertyWhat to put in itCommon mistake
@typeThe most specific subtype that fits, such as Plumber, HVACBusiness, Electrician, Dentist or LegalServiceLeaving it as the generic LocalBusiness
nameYour business name exactly as it appears on your Google Business ProfileStuffing in keywords or town names
addressA PostalAddress with street, city, state, ZIP and countryFormatting it differently from your listings
telephoneYour main number, with country codeUsing a tracking number that changes
urlThe canonical URL of the location page or home pagePointing to a page that redirects
geoLatitude and longitudeToo few decimal places
openingHoursSpecificationDays plus opening and closing timesHours that disagree with your profile
priceRangeA short indicator, such as a dollar-sign rangeWriting a paragraph

A few details from Google’s documentation trip people up. Coordinates must have a precision of at least five decimal places. The priceRange field must be shorter than 100 characters. Times use the hh:mm:ss format, and hours that run past midnight are defined in a single opening hours entry rather than split across two days. Google also tells you to “use the most specific LocalBusiness sub-type possible,” and if more than one type genuinely applies, to list them as an array.

Two optional extras are worth knowing about. sameAs lists the URLs of your official profiles elsewhere, such as your Facebook page or industry directory listings, which helps tie your entity together. areaServed describes the towns or counties you cover, which is useful for service-area businesses that do not see customers at their address.

How to add local business schema to your website

Google’s introduction to structured data says it generally recommends JSON-LD when your site’s setup allows it. JSON-LD is a self-contained script block, so it does not tangle with your page design and is easy to update. Here is the process we follow:

  1. Pull your facts from one source of truth. Open your Google Business Profile and copy the name, address, phone, hours and primary category exactly. If those are wrong, fix the profile first; our Google Business Profile optimization guide walks through it.
  2. Pick the subtype. Match your primary category to the closest schema.org type. A heating and cooling company is HVACBusiness, a law office is LegalService or Attorney, a general contractor is GeneralContractor.
  3. Write the JSON-LD block. Include the required properties, then telephone, url, geo, hours and priceRange. Keep the values identical to what visitors see on the page.
  4. Place it on the right page. Single-location businesses usually put it on the home page or contact page. Multi-location businesses put one block on each location page, each describing only that location.
  5. Use your platform’s tools where they exist. WordPress SEO plugins, Wix and Squarespace all have settings that output business details as structured data. Check what they generate before adding your own, so you do not end up with two conflicting blocks.
  6. Test, deploy, then monitor. Covered in the next section.

On custom-built sites, generate the block from the same config file that feeds your footer and contact page. That way a phone number change happens in one place and the markup never drifts from what is on screen. It is how we build the AI-powered websites we deliver to clients.

How to test and monitor your markup

Google’s LocalBusiness documentation lays out a simple loop: validate the code with the Rich Results Test and fix any critical errors, deploy a few pages, then use the URL Inspection tool in Search Console to confirm Google can crawl them and is not blocked by robots.txt, a noindex tag or a login. Google warns that re-crawling can take several days, so do not panic if nothing changes overnight.

The Rich Results Test only checks the properties Google uses for its own features. For a broader check against the full vocabulary, run the page through the Schema Markup Validator as well. Then set a reminder: any time you change hours, move, add a phone line or rebrand, update the markup on the same day you update your profile.

Markup to skip: reviews, FAQ and anything not on the page

This is where most local schema guides are out of date. Three kinds of markup cost time and deliver nothing, or worse.

Your own review stars. Google’s review snippet guidelines say that when a business controls the reviews about itself, its pages using LocalBusiness or any other Organization type are ineligible for star review rich results. That includes testimonials on your site and third-party review widgets embedded on it. Adding aggregateRating to your own homepage will not produce stars.

FAQ markup for rich results. Google’s FAQPage documentation now records that the FAQ rich result is no longer shown in Google Search, with the feature ending in May 2026. Existing FAQ markup does no harm, but adding it to win expandable answers in results is wasted effort. Write a good FAQ section for readers instead.

Anything that is not visible. Google’s policies say, “Don’t mark up content that is not visible to readers of the page,” and that structured data “must be a true representation of the page content.” Hidden service areas, keyword-stuffed names and fake reviews can earn a structured data manual action, which removes your eligibility for rich results. The rule of thumb is simple: if a visitor cannot see it, do not mark it up.

Schema checklist for a local business site

  • One LocalBusiness block per location, using the most specific subtype
  • Name, address and phone identical to your Google Business Profile
  • Hours in openingHoursSpecification, matching the hours shown on the page
  • Coordinates with at least five decimal places
  • A canonical url that does not redirect
  • sameAs links to your official profiles
  • No aggregateRating on your own pages and no hidden content
  • No duplicate blocks from a plugin and a hand-written script
  • Passes the Rich Results Test with no critical errors
  • Checked in Search Console URL Inspection after deployment

A note for New Jersey businesses

Many New Jersey service businesses run from a home address in one town while serving three or four counties. If you hide your address on Google, do not publish it in your markup either; describe your coverage with areaServed and the towns you actually list on the page, such as Somerset, Middlesex and Hunterdon. If you have more than one location, give each one its own page and its own block. A single block that lists every town in the state is the kind of markup that does not match the page, and it helps nobody.

Frequently asked questions

Does local business schema markup improve rankings? Not directly. Google does not guarantee structured data will change how your site appears, and schema is not a listed ranking shortcut. It helps Google read your business details accurately and keeps your site consistent with your other listings, which supports local SEO rather than replacing it.

Where do I put LocalBusiness schema? On the page that best represents the location, usually the home page or contact page for a single-location business. Multi-location businesses should put a separate block on each location page.

JSON-LD, Microdata or RDFa? Google says all three work if they are valid, but it generally recommends JSON-LD. It is easier to maintain because it sits in one script block instead of being woven through your HTML.

Should a service-area business include its address? Google requires an address for LocalBusiness rich result eligibility, but you should only mark up information that is visible on the page. If you hide your address publicly, keep the markup consistent with what visitors see and describe your coverage with areaServed.

Get your site’s technical SEO checked

Schema problems rarely travel alone. When we find conflicting markup, we usually also find slow pages, stale hours and indexing gaps. Our one-time SEO audit checks structured data along with the rest of your technical SEO and gives you a prioritized fix list. If you would rather have it built right from the start, Red Ridge AI designs and runs websites for local businesses from our office in Branchburg. Book a call and we will look at what Google currently sees on your site, or see what is included in The Never-Miss-a-Job System.

Want this running in your business?

Book a 15-minute intro call. We'll map your calls, leads and follow-up gaps and tell you exactly what fits.

Book a Consultation