Professional working at a desk in an office, the kind of small business schema markup is built for

Schema Markup for Local Businesses: A Plain-English Guide

Schema markup won't move you up a single spot in Google's rankings. Say that out loud to anyone selling "schema markup services" as an SEO silver bullet and watch them get uncomfortable. But it directly controls whether your listing is a plain blue link or one with stars, hours, and a price range sitting next to it, and that changes how many people click.

If your business has never touched structured data, you're not behind on rankings. You're behind on how your listing looks next to a competitor's. Different problems. This guide fixes the second one without wasting time chasing the first.

58
avg. clicks per 100 queries on pages with rich results, per Milestone's click-curve research
2
fields Google actually requires for LocalBusiness: name and address

The short answer

Schema markup is a block of code you add to your site that tells Google, in a format it can parse without guessing, what your business is called, where it's located, what hours you keep, and what people think of you. It doesn't change your rankings. It changes your listing's appearance, and appearance is what gets clicked.

The honest answer is that most local business owners have this backwards. They hear "schema" and picture an advanced tactic reserved for big sites with dev teams. It's the opposite: a cheap, mechanical fix a lot of businesses skip entirely while a competitor two spots down shows up with a star rating baked into the result.

Google's own documentation describes structured data as a standardized format for classifying page content, one it uses to understand a page and, when the conditions are met, show that content as a rich result. Rich results are the whole point. Nothing else about schema matters nearly as much.

What schema markup actually is (skip the jargon)

Under the hood, schema is usually written as JSON-LD: a small script block, invisible to visitors, sitting in your page's HTML. It looks like this for a basic local business:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Foothill Plumbing Co.",
  "image": "https://foothillplumbing.com/photo.jpg",
  "telephone": "+1-303-555-0148",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "412 Maple Ave",
    "addressLocality": "Denver",
    "addressRegion": "CO",
    "postalCode": "80204"
  },
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "07:00",
    "closes": "18:00"
  },
  "priceRange": "$$"
}
</script>

That's the entire mechanism. No plugin, no API call, no ongoing maintenance beyond keeping it accurate. Write it once, drop it into your homepage, and Google's crawler reads it on the next visit. This site runs a version of the same idea: every post here carries Article schema, and the FAQ section further down this page is wrapped in FAQPage schema, just with different fields for a different content type.

Notice the type above isn't generic "LocalBusiness" — it's Plumber, one of dozens of more specific subtypes. That's not cosmetic. Schema.org's own guidance lists over thirty subtypes, from Restaurant to Dentist to LegalService, and using the most specific one that fits is the correct move, not an optional nicety.

25 RICH RESULT TYPES GOOGLE SUPPORTS, BY CATEGORY
25documented typesContent & media (Article, Recipe, Video...)48%Business, local & reviews16%Site structure & technical20%Commerce & jobs16%

Google's structured data gallery documents 25 rich result types in total, everything from recipes to job postings to math solvers. A local business needs maybe three or four of them. Ignore the rest.

Which schema types actually matter for a local business

Not every type on that list is worth your afternoon. Here's the order I'd actually work through them, and why.

OUR PRIORITY ORDER FOR LOCAL BUSINESS SCHEMA
Do firstLocalBusinessHigh valueReview / RatingWorth doingArticle / OrganizationSkip for mostFAQPage

LocalBusiness (or a specific subtype) — do this first

This is the schema that ties your name, address, phone, and hours together in a form Google can trust as authoritative. Google's own reference for this type lists exactly two required fields for eligibility: name and address. Everything else (phone, hours, price range, geo coordinates) is recommended, not required, which is why so many sites half-implement it and never notice. Get this one right and it reinforces the same information that should already match across your Google Business Profile and every other directory, the same discipline behind NAP consistency.

Review and AggregateRating — high value, one big catch

Star ratings under a search result are one of the most eye-catching rich results that exist, built from Review or AggregateRating markup. Here's the catch almost nobody reads the fine print on: Google disqualifies self-serving reviews. If you control the reviews and put them on your own page, even through an embedded widget pulling your own Google or Facebook reviews, your site is ineligible for the star snippet. This only works cleanly on a third-party platform reviewing someone else. Your Yelp profile can carry it. Your own homepage generally can't.

Article and Organization — worth doing, lower ceiling

If you run a blog, Article schema marks up your posts as legitimate published content instead of an undifferentiated wall of text, the same schema this post is wearing right now. Organization schema is a smaller lift: company name, logo, and social profiles tied together in one block. Neither transforms your search presence alone, but both are quick, low-risk, and stack cleanly with LocalBusiness.

FAQPage — skip it for most local businesses

This is the one that trips people up, because FAQ schema used to be a genuinely strong CTR lever. It isn't anymore, for most sites. Google restricted FAQPage rich results in August 2023 to a narrow set of well-known, authoritative government and health websites. Unless you run a hospital system or a public agency, marking it up today mostly won't produce the dropdown you're picturing. Keep the FAQ content on the page (it's still great for ranking on long-tail keyword phrases), just don't expect the schema to buy you a rich result anymore.

Watch out

A lot of "SEO checklist" advice online still tells you to add FAQPage schema for the rich snippet. That advice is two years stale. Add the schema if you want (it's harmless), just don't budget for a result it can no longer deliver for a typical local business.

What this actually does for your click-through rate

Rich results earn more clicks because they take up more space and say more before anyone clicks: a star rating, a price range, a phone number right there in the result. One data point, from a SchemaApp case study covered by Search Engine Land: after SAP added structured data across relevant pages, it saw more than 400% net growth in organic traffic attributed to rich results.

ORGANIC RICH-RESULT TRAFFIC, ONE COMPANY'S CASE STUDY (SAP)
100 (index)Before rich results500 (+400%)After rich results

Don't read that as "you'll get 400% more traffic." It's one company, one moment in time, and an enterprise site sees different volume than a five-page local business site ever will. Treat it as a ceiling case. The realistic promise here is smaller and quieter: your listing looks more complete next to a competitor's plain blue link, and a higher share of the people who see both click yours.

"Schema doesn't get you found. It gets you picked, once you're already in front of someone."

How to check if you already have schema markup

Before you write a single line of JSON-LD, find out what's already there. Go to Google's Rich Results Test, paste in your homepage URL, and run it. In under a minute you'll get one of three outcomes:

  1. Nothing detected. Most local business sites land here. No schema, no rich result eligibility, and a clean slate to build from.
  2. Detected, with errors. A template, plugin, or past developer added partial schema that's broken enough for Google to ignore. Worth fixing rather than starting over.
  3. Detected and valid. Rare for a small business site, and worth confirming it's the type you actually want, not a generic default your builder inserted.

The tool also shows which specific rich result types your markup qualifies for. If it shows LocalBusiness eligible but Review ineligible, you know exactly what to fix next instead of guessing.

Want this handled for you?

RankLoft builds LocalBusiness and Article schema into every site from day one, matched to your Google Business Profile so nothing conflicts and nothing gets left blank.

Get a free site audit →

What to actually do about it

Start with LocalBusiness, or the closest specific subtype to your industry. Fill in name, address, phone, hours, and price range, matching what's already live on your Google Business Profile and every other listing. Run the Rich Results Test to confirm it validates. Then, only if you publish articles, add Article schema to those pages. Skip FAQPage unless you're a government or health organization, and leave Review markup to third-party platforms unless your reviews are genuinely independently sourced.

This is a two-to-three-hour project for anyone comfortable editing a code block, not a specialized service you need to hire out. What most businesses need help with isn't the schema itself. It's what schema depends on being accurate: a real address, real hours, and a phone number that matches every listing on the web, the fundamentals our local SEO starter guide covers first.

What most local businesses get wrong

The biggest mistake is chasing FAQPage schema for a rich result that's no longer available, while skipping LocalBusiness, the one type that's actually required for eligibility. Second: copying a template from a generic tutorial and never updating it, so the JSON-LD still says the old address six months after a move, quietly contradicting the rest of the site. Third: treating schema as a ranking lever and getting discouraged when position doesn't budge. It was never supposed to move rankings. It was supposed to make the listing you already have look better, and on that measure it usually works.

The bottom line

Schema markup doesn't get you found. It makes you look credible once you're already showing up, a smaller job than most SEO pitches make it sound, and a far more achievable one. Run the Rich Results Test on your homepage today, add LocalBusiness if it comes back empty, and stop there unless you have a real reason to go further.

Sources

Frequently asked questions

Does schema markup improve rankings?

Not directly. Google has been consistent that structured data is not a ranking factor on its own. What it does is make you eligible for rich results (stars, FAQ dropdowns, business details) that can pull more clicks from the same ranking position, which is a real, measurable effect even if the position itself doesn't move.

How do I add schema to my website?

Add a JSON-LD script block to the page's HTML, usually in the head or right before the closing body tag. Most modern site builders support this directly, or you can hand-write it since JSON-LD is just a block of structured text, not a whole new coding language.

Do I need a developer for structured data?

For a straightforward LocalBusiness block, no. Copy a template, swap in your own name, address, phone, and hours, and paste it into your site. It gets more useful to have a developer once you want it generated automatically from your actual business data instead of hand-edited every time something changes.

How do I check if my site already has schema markup?

Run your homepage through Google's Rich Results Test. It shows exactly what structured data it found, what's valid, what's broken, and which rich results you're eligible for. An empty result means you don't have any schema markup yet.

Can schema markup hurt my site if I get it wrong?

Broken schema mostly just gets ignored rather than penalized, but markup that misrepresents your page, like reviews you wrote yourself or information that doesn't match what's visible on the page, can get specific rich result features disabled. The safest rule: only mark up what's true and visible to a real visitor.

If you're still working through the fundamentals, our local SEO starter guide covers the basics schema builds on top of, and optimizing your Google Business Profile is the other half of getting your business information consistent everywhere it appears.