Structured Data for Small Businesses: A 2026 Guide

Structured data is schema.org markup, usually JSON-LD, that labels your business facts so Google reads them correctly. It rarely boosts rankings by itself. It earns rich results, better local visibility, and accurate info in AI answers. For small businesses, start with LocalBusiness, hours, address, and reviews.
Part of the complete SEO guide.
On this page
- What structured data actually is
- How it helps you: rich results and entity building
- The schema types a local small business should actually use
- LocalBusiness (or a specific subtype)
- Organization
- FAQPage
- Review and AggregateRating
- BreadcrumbList
- Service
- Person (for the owner)
- Where to put it
- A real LocalBusiness snippet
- How to test it
- The honest bottom line
- FAQ
- Does structured data improve my Google rankings?
- Can I just let my SEO plugin handle all of this?
- Will adding FAQ schema get my questions shown in search results?
Structured data is one of those things that sounds more complicated than it is. If you run a small business and you’ve heard you “need schema,” here’s the short version: it’s a standardized way of labeling the facts about your business so Google can read them without guessing. I’ve been doing Long Island SEO long enough to know that most owners get sold on schema as a magic rankings switch, and it isn’t that. It does something more specific and, honestly, more useful than that.
What structured data actually is
Your website is written for humans. A paragraph that says “we’re open Monday through Friday, 8 to 5, and we’re on Main Street” reads fine to a person. To a crawler, it’s just a pile of words it has to interpret. Structured data is a second layer of the same information, written in a format machines parse reliably. You’re not changing what’s on the page. You’re adding labels that say “this number is a phone number, this string is a street address, this is the name of the business.”
The vocabulary everyone uses is schema.org, a shared dictionary of types and properties maintained by Google, Microsoft, Yahoo, and Yandex. The format you’ll almost always use to deliver it is JSON-LD, which stands for JavaScript Object Notation for Linked Data. Practically, that means a block of key-value pairs inside a <script type="application/ld+json"> tag. You don’t need to know JavaScript to write it. You need to know the field names.
There are two older formats, Microdata and RDFa, where you sprinkle attributes into your HTML tags. Ignore them for new work. Google recommends JSON-LD because it lives in one block, separate from your markup, so it doesn’t break when you redesign a page. That separation is the whole reason it won.
How it helps you: rich results and entity building
Structured data does two jobs, and people constantly conflate them.
Job one is eligibility for rich results. Google has a set of “search features” it only shows to pages that provide the right structured data. Star ratings under a product. An FAQ accordion. A breadcrumb trail instead of a raw URL. Event dates. Those are rich results, and the schema is the ticket you need to even be considered. Without it, you’re not in the pool. With it, you’re in the pool and Google still decides whether to show anything, based on quality and relevance. That’s the honest framing: schema buys eligibility, not placement.
Job two is entity building, and this is the one small business owners underrate. Google doesn’t think in keywords anymore, it thinks in entities: real-world things with attributes and relationships. Your business is an entity. Your owner is an entity. Your services are entities. When you mark up your business consistently across your site (same name, same address, same phone, same URL everywhere), you’re feeding Google a clean, unambiguous signal about who you are and what you do. Over time that helps Google connect your site to your Google Business Profile, your reviews, your mentions elsewhere. It’s how a small company starts showing up as a recognized thing rather than an anonymous web page. This is slow work with no dashboard, which is exactly why most people skip it and why it’s still worth doing.
What schema does not do is directly raise your rankings. Google has said this plainly. There’s no “schema score” that bumps you up the page. Anyone telling you otherwise is selling something.
The schema types a local small business should actually use
You don’t need twenty types. You need a handful, done correctly.
LocalBusiness (or a specific subtype)
This is your foundation. LocalBusiness is a broad type with more specific children like Dentist, Plumber, Restaurant, LegalService, HairSalon, and dozens more. Use the most specific one that fits. Include name, address, telephone, url, geo coordinates, opening hours, price range, and an image. If you have a physical location customers visit, this is non-negotiable.
Organization
If you’re a service business without a storefront, or you’re a brand more than a place, Organization is the parent type. LocalBusiness is technically a subtype of Organization, so you’ll often see them merged. For most local businesses, LocalBusiness alone covers it. Add Organization when you want to describe the company as a whole separate from a specific location.
FAQPage
Here’s where I have to be straight with you. Google drastically cut back FAQ rich results in 2023, limiting them to authoritative government and health sites. For a typical local business, marking up an FAQ with FAQPage will not get you the accordion in search results anymore. So why bother? Because the markup still helps Google understand the questions your customers ask, and it costs you almost nothing if you already have an FAQ on the page. Just don’t pay an agency a monthly fee specifically for “FAQ schema.” That ship has sailed.
Review and AggregateRating
Star ratings are the most visible rich result there is, and the most abused. The rule that trips people up: you can mark up reviews that are genuinely about your business, collected on your own site. You cannot mark up reviews you scraped from Google, Yelp, or Facebook and paste onto your own page. That’s a guidelines violation and it can earn you a manual action. AggregateRating needs a real, verifiable set of ratings behind it. If you don’t have a review system on your site, don’t fake one.
BreadcrumbList
Cheap, easy, and useful. It tells Google the path a visitor took to reach a page, so search results can show Home > Services > Drain Cleaning instead of a long ugly URL. Good for users, good for clarity. If your site has any depth at all, add this.
Service
Service describes what you offer, tied to your business as the provider and an area served. It’s how you tell Google “this business does X in these towns.” For a local company with multiple offerings, marking up each service page with a Service block is one of the more underused moves. It connects your business entity to specific things you do.
Person (for the owner)
This one matters more than people think, especially for solo operators and consultants. Marking up yourself as a Person, linked to your business via the founder or employee property, and cross-linked to your LinkedIn or other profiles with sameAs, helps Google build a picture of you as a real, named entity. If you’re building a personal brand alongside the business, this is how you reinforce the connection. It also plays into E-E-A-T signals, since Google wants to know there’s a real, accountable human behind the site.
Where to put it
JSON-LD goes inside the <head> of the page, or anywhere in the body, though head is the convention. You have three realistic options.
Hand-coded. You paste the script block into your template. Full control, no plugin bloat, but you own the maintenance. This is what I do on client sites I build from scratch, and it’s the cleanest result.
A plugin. If you’re on WordPress, Yoast SEO and Rank Math both generate a solid baseline of schema automatically, and let you add custom JSON-LD for anything they don’t cover. This is the right call for most small business owners. You get LocalBusiness, Organization, BreadcrumbList, and Article markup without touching code. Just check the settings, because the defaults aren’t always right for your business type.
A mix. Let the plugin handle the basics, and hand-code the specific stuff it doesn’t do well, like Service blocks or a Person for the owner. That’s usually where I land with clients.
If your site is custom-built (which is common for the work I do in custom web development), you’ll likely hand-code everything into a shared header template so it’s consistent site-wide.
A real LocalBusiness snippet
Here’s a working example. Swap in your own details.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Harbor Plumbing & Heating",
"url": "https://www.harborplumbingexample.com",
"telephone": "+1-631-555-0142",
"image": "https://www.harborplumbingexample.com/images/storefront.jpg",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "412 Main Street",
"addressLocality": "Huntington",
"addressRegion": "NY",
"postalCode": "11743",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 40.8682,
"longitude": -73.4257
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "17:00"
}
],
"areaServed": {
"@type": "City",
"name": "Huntington"
},
"sameAs": [
"https://www.facebook.com/harborplumbingexample",
"https://www.google.com/maps/place/harborplumbingexample"
]
}
</script>
A few notes on that. The @type is the specific subtype, not the generic LocalBusiness, because specificity helps. The sameAs array is where you list your other profiles so Google can tie them together. The geo coordinates should match your actual location, not a guess. And every URL and phone number here should match what’s on your Google Business Profile exactly. Inconsistency is worse than omission.
How to test it
Don’t ship schema you haven’t checked. Two tools cover almost everything.
- Google’s Rich Results Test. Paste your URL or your code and it tells you which rich result types your page is eligible for, and flags errors. This is the one that matters most because it uses Google’s actual rules.
- The Schema Markup Validator (validator.schema.org). This checks your markup against the full schema.org vocabulary, not just Google’s subset. Useful for catching typos in property names that Google’s tool might gloss over.
Run your homepage and a couple of key service pages through both. Fix errors first, warnings second. Warnings often mean you’re missing a recommended property like image or priceRange, which won’t break anything but leaves eligibility on the table. Then, once you’re live, watch the Enhancements reports in Google Search Console. That’s where Google tells you, over time, whether it actually accepted and used your markup.
The honest bottom line
Structured data won’t move you from position 8 to position 3. It makes you eligible for the visual extras that get clicks when you’re already ranking, and it feeds Google a cleaner picture of who your business and your people are. For a local company, that combination is worth the afternoon it takes to do it right. Do the LocalBusiness foundation first, add BreadcrumbList and Service next, and leave the review markup alone unless you have legitimate reviews on your own site. Then test it and move on.
FAQ
Does structured data improve my Google rankings?
Not directly. Google has been clear that schema isn’t a ranking factor. What it does is make you eligible for rich results, like star ratings and breadcrumbs, which can raise your click-through rate when you’re already ranking. Better CTR can indirectly help over time, but the markup itself doesn’t push you up the page. Anyone who promises rankings from schema alone is overselling.
Can I just let my SEO plugin handle all of this?
For the basics, yes. Yoast and Rank Math will output LocalBusiness, Organization, and BreadcrumbList for you, and that covers a lot of ground. Where they fall short is the specific stuff: Service blocks, a Person for the owner, custom properties for your business type. You can usually add custom JSON-LD through the plugin to fill those gaps. Check the plugin’s output with the Rich Results Test rather than assuming it’s correct.
Will adding FAQ schema get my questions shown in search results?
Almost certainly not anymore, unless you’re a government or health site. Google scaled FAQ rich results way back in 2023. The markup is still valid and still helps Google parse your content, so there’s no harm in keeping it if you already have an FAQ section. Just don’t pay someone specifically for “FAQ schema” expecting an accordion in the results. That expectation is years out of date.


