Schema markup is the part of a website nobody visiting it will ever see, which is exactly why it is the part most local business sites get wrong. It sits quietly in the page's code, telling Google and — increasingly — AI answer engines exactly what your business is, where it is, what it does, and what it costs, in a format machines can parse without guessing.
Get it right and you are eligible for rich results in Google (star ratings, opening hours, FAQ dropdowns right in the search result) and you become a clean, quotable source when someone asks ChatGPT or Perplexity for a recommendation. Get it wrong, and at best you are invisible to both. At worst, contradicting schema actively confuses a crawler about what you actually are.
The three schema types that cover almost everything
LocalBusiness (or a more specific subtype). This should not be generic. A clinic, a pharmacy, and a law firm each have a more specific schema type available, and using the specific one unlocks fields the generic type does not have — accepted insurance, specialty, service area radius. Most sites default to the generic type because it is what the template shipped with, and leave real detail on the table.
Service schema for each distinct offering. If you offer three or four genuinely different services, each deserves its own Service entry linked back to the business, with its own description. A single blob covering "we do everything" tells a crawler nothing it can act on.
FAQPage schema for genuine, specific questions. Not five generic filler questions nobody actually asks. The real questions prospects ask on a discovery call, answered the way you would actually answer them. This is also the schema most directly rewarded with a visible rich result in search — Google will often surface an FAQ dropdown right under your listing.
Where it goes wrong in practice
The most common failure is not missing schema. It is schema that contradicts the page. A LocalBusiness block claiming hours that do not match what is written in the footer. A price range that does not reflect what the business actually charges. An address field with a typo nobody caught because nobody actually reads JSON-LD.
The second most common failure is stopping at the homepage. Every service page, every case study, every blog post is a missed opportunity for structured data specific to that page — an Article schema on a blog post, a Review schema on a testimonial page — and most sites only ever markup the homepage once and call it done.
Why this matters more now, not less
For years schema was purely a Google play. That has changed. AI answer engines pull structured facts before they pull prose, because structured data is unambiguous and prose requires interpretation. A business with clean, accurate schema is easier for an AI system to confidently recommend than one it has to infer facts about from marketing copy. We wrote about the broader shift in how to show up when customers ask AI for a recommendation — schema is the foundation that makes the rest of that strategy possible.
The one-hour audit worth doing this week
Run your homepage and one service page through Google's Rich Results Test and the Schema Validator. Check that the business type, hours, and pricing in the schema actually match what is visibly true on the page. If either tool throws an error, or the type is generic when a specific one exists, that is an hour of dev time with a real payoff.
Every site we ship goes out schema-complete and validated on day one — see our web development work or book a call if you want us to check what your current site is (or is not) telling Google.
