Not just websites. Experiences.
Schema markup for small business sites in plain English: what it is, why AI search reads it, and the mistakes I keep finding on real client sites.
Every small business website has a front door for people and a side door for robots. Most owners spend months on the front door (fonts, photos, that one shade of blue) and leave the side door with no sign on it. That sign is called schema markup, and right now the robots reading it are the same ones deciding who gets recommended in AI answers.
The short version
Schema markup is a name tag for robots. It’s a small chunk of structured code, usually JSON-LD, that sits in your page and spells out the facts: business name, type of business, address, phone, hours, service area, the services you offer.
Your homepage already says all of this to a human. The problem is that a human reads “Serving Palm Coast since forever, call Mike!” and gets it. A machine reads that and has to infer that Mike is a plumber, that “forever” isn’t a year, and that the number in the footer belongs to the business and not the guy who built the site. Schema just hands it the answer key.
Google’s own intro to structured data recommends JSON-LD and is very clear that markup should match what’s actually visible on the page. Which brings me to the fun part.
Yes, in the sense that it makes you easier to understand, and being easy to understand is most of the game. AI tools that recommend businesses are pulling from what they can confidently piece together about you. Clear, consistent facts help. Vague, contradictory ones get you skipped.
Think of it like a dinner party. The person who introduces themselves as “Dana, I’m an HVAC tech in Palm Coast” gets the referral. The person who says “oh, I do a little of everything” gets nodded at politely and forgotten by dessert. Schema is your introduction, written down, so nobody has to remember it.
What it won’t do is make a thin website rank. Markup describes the house. If the house is an empty lot with a nice mailbox, the robots will figure that out too.
This week I went through about thirty client sites I host and looked at exactly this stuff: schema, sitemaps, the robots file, and whether the AI crawlers were actually welcome.
More than half had no structured data at all. Yes, some of those were sites I built. The cobbler’s kids have no shoes, and apparently no name tags either.
Seven were already in good shape. About ten got fixed on the spot: proper business schema with the real address, phone, hours and services, a sitemap, a robots file that names the AI crawlers and points them to the sitemap, and an llms.txt file (basically a cheat sheet for AI tools that says “here’s what this site is and where the good stuff lives”).
The ones that made me wince were four sites where the page was quietly telling search engines its real home was an old preview address from when the site was being built. Imagine handing out business cards with your old apartment on them. Everything else looked perfect. The robots were just being sent to the wrong damn house.
Start with the boring basics and get them exactly right. That means the business type (not just “LocalBusiness” if a more specific one like HVACBusiness or Bakery fits), name, address, phone, hours, service area, logo, and links to your real social profiles.
The LocalBusiness type on schema.org lists every property you can use. You don’t need all of them. You need the ones that are true and that match your Google Business Profile word for word, because if your schema says Suite 4 and Google says Suite 400, the robots now have two versions of you and no reason to trust either.
After that, add what you actually have: a list of services, an FAQ section if there’s a real FAQ on the page, reviews only if they’re displayed on the page. Don’t mark up things visitors can’t see. That’s not optimization, it’s fibbing in a font nobody reads, and search engines are not fans.
Paste your homepage into Google’s Rich Results Test or the Schema Markup Validator. If it comes back empty, you have no name tag. If it comes back full of stuff, read it like a stranger would.
Look for the obvious crap first. Old phone number. The previous owner’s email. A business type that says “Organization” when you’re a roofer. Hours that say you’re open Sundays when you’ve never once been open Sundays. I see this all the time: the schema was set up once by a plugin in 2021 and nobody’s looked at it since.
Then check that it matches everywhere else you exist: the site footer, Google Business Profile, Facebook, Yelp. Same name, same address format, same number. Boring? Extremely. It’s also the cheapest visibility upgrade most small businesses will ever get. (I covered how AI tools sort businesses into topics in my post on the Bing Topics Portfolio, which is the other half of this same coin.)
Not always. WordPress SEO plugins can add basic business schema if you fill in the settings carefully. Custom service lists, FAQs and fixing conflicts between plugins is where it gets fiddly, and where most half-assed setups live.
Maybe, maybe not. Google decides which rich results to show and has narrowed several of them over the years. Treat schema as a way to be understood, not a ticket to stars.
It’s a plain text file at the root of your site that summarizes who you are and points to your most useful pages for AI tools. It’s not a ranking switch. It’s cheap, it takes ten minutes, and it’s one more place your story is told clearly.
None of this is glamorous. Nobody’s ever going to compliment your JSON-LD at a barbecue. But AI search is getting pickier about who it trusts, and the businesses with clear, consistent, honest facts are the ones that get the nod. I set this up as part of my AI search optimization work, and if you want me to take a look at what your site is telling the robots about you, tell me about your project. I do web, you do you.