LocalBusiness schema in plain English, and the three fields that actually matter
Structured data is the closest thing to telling a machine directly what your business is and where it is. Most small-business sites have none, or have the wrong kind. Here is what to add, what to skip, and how to check it in two minutes.
If you've ever wondered how an assistant decides that a website belongs to "a plumber in Tucson" rather than "a blog about plumbing" or "a national franchise," part of the answer is a block of code most people never see. It's called structured data, the format is JSON-LD, and the vocabulary comes from schema.org. Marketers make it sound complicated. It isn't. It's a labelled list of facts about your business, sitting in the page where a machine can read it without guessing.
What it looks like
Here's a complete, working example for a fictional plumber. You could paste this into the head of your homepage today.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Saguaro Plumbing & Rooter",
"url": "https://saguaroplumbing.example/",
"telephone": "+1-520-555-0142",
"address": {
"@type": "PostalAddress",
"streetAddress": "4120 E Speedway Blvd",
"addressLocality": "Tucson",
"addressRegion": "AZ",
"postalCode": "85712",
"addressCountry": "US"
},
"areaServed": ["Tucson", "Oro Valley", "Marana", "Vail"],
"openingHours": "Mo-Su 00:00-23:59",
"priceRange": "$$",
"sameAs": [
"https://www.google.com/maps/place/?cid=0000000000000000000",
"https://www.yelp.com/biz/saguaro-plumbing-tucson",
"https://www.facebook.com/saguaroplumbing"
],
"description": "24/7 emergency plumbing, drain cleaning and water heater repair for Tucson homeowners since 2009."
}
</script>
That's it. No API, no plugin required, though plugins make it easier. Read it top to bottom and you'll notice it says nothing a human visitor doesn't already know. The point is that it says it in a form a crawler can't misread.
The three fields that matter most
Everything in that block helps. Three parts do most of the work.
The type. "@type": "Plumber" is a specific subtype of LocalBusiness, and specific beats generic. Schema.org has subtypes for most trades: HVACBusiness, RoofingContractor, Electrician, Dentist, Attorney, AutoRepair, HairSalon, Locksmith, MovingCompany, RealEstateAgent and dozens more. If none fits, use LocalBusiness. Don't use Organization alone for a local business — it says "we exist" without saying "we are here."
The address. PostalAddress with locality and region is how the assistant matches you to "in Tucson." It should be the same address, character for character, as your Google Business Profile and your site footer. The audit's NAP check exists because inconsistency here is treated as a signal that one of the sources is wrong.
The sameAs list. This is the least understood and, in my experience, the most valuable. sameAs says "this business is the same entity as the one at these other URLs." Point it at your Google Business Profile, your Yelp page, your BBB listing, your Facebook page. You're handing the assistant the thread that connects your site to the reviews and directory pages it already trusts. Without it, the model has to infer the connection from matching names, and it often doesn't.
What to skip
Don't add review markup that repeats third-party reviews; Google has been penalising self-serving review schema for years and it's noise to the assistants. Don't add FAQ schema to the homepage unless the homepage actually contains the questions and answers — that's a separate note. Don't mark up services as products unless you sell fixed-price products. And don't stack three different plugins that each emit an Organization block; one clear block beats three contradictory ones.
How to check what you have
Open your homepage, right-click, View Page Source, and search for ld+json. If nothing comes up, you have no structured data. If something comes up, copy the block and paste it into validator.schema.org — free, from the people who maintain the vocabulary. It will tell you the type and flag errors.
Or run the free readiness scan here. It reports every schema type it finds on the homepage and specifically whether any of them describes the business itself. "Schema types found: WebSite, BreadcrumbList" is the most common result we see — an SEO plugin's defaults, describing the website and its menu, saying nothing about the company.
How to add it
If you use Yoast, Rank Math or SEOPress, there's a setting for "Organization or Person" and, in most of them, a Local SEO module that writes the LocalBusiness block for you. Turn it on, fill in every field, choose the specific subtype, and add the sameAs links — that last part is often a free-text box they hide under "advanced."
If you'd rather do it by hand, put the block in your theme's header, or use a "code snippets" plugin to inject it site-wide. Site-wide is fine for a single-location business; every page saying "we are a plumber in Tucson" is not a problem.
If you have several locations, each location page gets its own block with its own address and its own Google Business Profile link. Don't put five addresses in one block.
What it changes
Nothing you can see. Everything a crawler can. In the reports we run, businesses with a correct LocalBusiness block and a sameAs list tend to move from absent to named fairly quickly once the crawlers can get in, because for the first time the site is stating, in the machine's own language, exactly the thing the customer asked about. It's the difference between a shop with a sign and a shop without one.
What ChatGPT, Claude, Perplexity and Gemini say when a customer asks for a business like yours — who they name, who they link, and the 19 things on your site keeping you out.
Check my business See a sample reportThirty years in search, three clients at a time, diagnosis before prescription. Rankings are vanity. Revenue is sanity.
- Citation Fix Sprint — the report's technical fixes, done, in three weeks$1,950
- Revenue Audit — two weeks, eight areas, written by hand$3,500
- The Engagement — full implementation, three seats$6,000/mo
Yishai — in search since 1996, Southern Arizona. Built Duly Noted so owners could see what the assistants say without paying for an agency retainer to find out.
Read enough? Measure yourself.
Free readiness scan. Full report $99. Every claim with the evidence beside it.