Schema Markup for Small Business: The 5 Types That Matter
- 3 days ago
- 6 min read
Schema markup for small business websites is the cheapest change on your list, and one of the few that decides whether a machine can read your page at all. It is a block of structured data in your site's code, invisible to visitors, that spells out what your business is, what it sells, where it is and what it charges.
There are more than 800 schema types on Schema.org. You need about five. The rest are for museums, TV episodes and clinical trials. This post covers the handful a plumbing company, a mover or a law office actually uses, how to check what your site already puts out, and how to confirm it worked.
What is schema markup, and does a small business need it? Schema markup is structured data, usually written in JSON-LD, that labels the facts on a page so search engines and AI assistants can read them without guessing. A small business needs five types: LocalBusiness, Service, FAQPage, Product or Offer, and Review or AggregateRating.
Why bother with structured data at all?
Because most searches never reach your site now. According to the SparkToro and Similarweb zero-click study reported by Search Engine Land, 68.01% of US Google searches ended without a click between January and April 2026, up from 60.45% in 2024. AI Overviews appear on more than 20% of searches, and when one appears, click-through rates drop by nearly 60%.
If a machine is going to summarize your business for someone who never visits your site, the summary should at least be correct.
Be honest about the ceiling. Semrush analyzed 230,000 prompts and more than 100 million citations across ChatGPT search, Google AI Mode and Perplexity between July 14 and October 12, 2025. The most-cited domains were Reddit, Wikipedia, LinkedIn, Forbes and Medium, and citation patterns varied sharply by platform. A five-page contractor site will not out-authority Wikipedia, and it does not need to. The realistic play is being trivially parseable on the narrow questions only you can answer: your service, your area, your price range, your hours.
JSON-LD or microdata, and where does the block go?
Use JSON-LD. Microdata means sprinkling attributes through your visible HTML, so every design change risks breaking the markup. JSON-LD sits in one script block, separate from your layout, describing the page from the outside. Google recommends it, every validator reads it, and it never touches your design.
It goes in the head of the page it describes, though the body works too. One block per entity: your LocalBusiness data belongs on the homepage and contact page, not on all 40 pages.
One rule matters more than the format: the markup must describe what is visibly on the page. Marking up prices that appear nowhere, hours you do not publish or reviews nobody can see is a policy violation, and the fastest way to get rich results switched off. Structured data labels a page, it does not add to it.
Which schema types does a small business actually need?
Five, plus a sixth that is nearly free.
Schema type | What it does | Where it goes | Builder emits it? |
|---|---|---|---|
LocalBusiness (or subtype) | Identifies the business, address, hours, phone, price | Homepage, contact page | Partially, often as generic Organization |
Service | Describes one service, who provides it, where, at what price | Each service page | Rarely, almost always manual |
FAQPage | Labels each question and answer as a self-contained pair | FAQ and service pages | Sometimes, with an FAQ block or plugin |
Product or Offer | Names a sellable item with price, currency, availability | Product and package pages | Yes on ecommerce, not brochure sites |
Review, AggregateRating | Attaches star ratings to a reviewed item | Only where reviews are visible | Sometimes on product pages |
BreadcrumbList | States where the page sits in your structure | Pages below the homepage | Usually yes, check before adding another |
A LocalBusiness block needs name, address, telephone, openingHours, url, geo coordinates and priceRange. Use the most specific subtype that fits: Plumber, HVACBusiness, Electrician, MovingCompany, Attorney, RoofingContractor. The subtype beats the generic type because it states what you are instead of leaving a parser to infer it, and it inherits every LocalBusiness property, so you lose nothing.
A Service block needs name, serviceType, a provider pointing back at your LocalBusiness, areaServed, description, and an offers property with a price or price range. Almost nobody has this one, and it maps most closely onto how customers ask questions.
An FAQPage block pairs each Question with an acceptedAnswer. Google restricted FAQ rich results in search, so most sites no longer get the expandable questions under their listing. The markup still earns its keep, because it marks each answer as a standalone unit, exactly the shape an AI assistant lifts out. Add it for the parser, not the decoration.
Product or Offer needs name, description, image, sku, brand and an offers block with price, priceCurrency and availability. Skip it if every job is quoted individually. A fixed-price package or a stocked item is fair use.
BreadcrumbList is an ordered list of positions, each with a name and a URL. Ten minutes of work, and most builders emit it already, so check first.
What are the rules on review markup?
Do not mark up reviews of yourself on your own site. Google treats review markup as self-serving when the review is about the business hosting it, so star ratings inside your own LocalBusiness or Organization markup are not eligible for rich results. Inventing an AggregateRating with numbers that appear nowhere can earn a manual action.
AggregateRating is legitimate on a Product page where third-party reviews are displayed and the numbers match what is on screen. Everything else is risk with no upside.
Reviews still matter, just not there. According to Whitespark's 2026 Local Search Ranking Factors report, review signals carry roughly 20% of local pack weight and Google Business Profile signals roughly 25%, with high ratings among the top map pack factors. That weight sits on your profile, not on markup you wrote about yourself.
How do you check what you already have?
Check before you add anything, because conflicting blocks are worse than none. Two LocalBusiness entities with two different phone numbers is a machine-readable contradiction you put there yourself.
Run your homepage through Google's Rich Results Test. It shows every type it detects and whether each qualifies for a rich result.
Run the same URL through the Schema.org validator, which ignores eligibility and checks whether your properties are correct. It catches what Google's tool ignores.
Open your platform's settings before writing anything. Builders and SEO plugins commonly emit Organization, LocalBusiness, BreadcrumbList and Product from a settings form.
Fill the gaps in that form first. Safer than pasting code, and it survives theme updates.
Hand-write JSON-LD only for what the form cannot cover, usually Service and FAQPage.
Re-validate in both tools, fix every error, read the warnings before ignoring them.
Check again after a redesign, since markup is the first thing a new theme drops.
What this costs and what to do this week
Cash cost is zero if you do it yourself, one to two hours of developer time if you do not. Budget an evening for the audit and the settings form, then 30 minutes per service page for a Service block. A ten-page site is a weekend, spread out.
This week, do only this: run your homepage and one service page through both validators, note what is missing, and fix the LocalBusiness block so name, address, phone, hours and price range match the page. For the wider context, read the guide to generative engine optimization and the walkthrough on showing up in ChatGPT search.
Frequently asked questions
Does schema markup improve my rankings?
Not directly. Google has said structured data is not a ranking factor on its own. What it does is make your page unambiguous, which affects whether you qualify for rich results and whether an AI assistant can pull a fact off your page without guessing at it.
Which LocalBusiness subtype should I use?
The most specific one that fits. Plumber, HVACBusiness, Attorney, MovingCompany and Electrician are all real subtypes, and each inherits every LocalBusiness property. A specific type states what you are instead of leaving a machine to infer it from your page copy.
Will schema markup get me quoted in AI answers?
It improves the odds, it does not buy a spot. Structured data makes your facts easy to extract, but assistants still weigh source authority heavily. The realistic win is being the cleanest, clearest source on narrow questions about your own service and your own prices.
Do I need a plugin, or can I paste the code in myself?
Either works. Most site builders and SEO plugins emit some structured data from a settings form, which is the safer route. Pasting a JSON-LD block into the page head is fine if you can edit templates, but check for duplicates first.
We add structured data to every build at Tulip Limited, and we are glad to run the validators on your site and tell you what is missing even if you never hire us. Call 303-349-2401 or book a free consultation from the Tulip homepage. We work with trades and professional services around Broomfield and the Denver metro. No contract.

Comments