What schema is
Schema.org is a shared vocabulary for describing things on the web. When you mark up a page with schema, you are telling Google, Bing, and every AI model: "This isn't just text — this is a plumbing business, at this address, with these hours, that offers these services." The model no longer has to guess.
Why Google and AI use it
Search engines and LLMs both operate on entities and relationships. Schema hands them a pre-parsed record. In exchange, they reward you with rich snippets (star ratings, prices, FAQs, sitelinks), inclusion in the knowledge panel, and — critically — much higher confidence when an AI answer engine cites your business.
JSON-LD: the format to use
There are three schema formats — Microdata, RDFa, and JSON-LD. Use JSON-LD. It lives in a single <script> block in your <head>, doesn't clutter your HTML, is trivially editable, and is Google's explicitly-preferred format.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Hulsey Creative Co.",
"url": "https://hulseycreativeco.com",
"telephone": "+1-205-570-3850",
"address": {
"@type": "PostalAddress",
"streetAddress": "Studio",
"addressLocality": "Haleyville",
"addressRegion": "AL",
"postalCode": "35565",
"addressCountry": "US"
}
}
</script>LocalBusiness (and its subtypes)
Every small business site needs LocalBusiness (or a more specific subtype like Plumber, Electrician, RoofingContractor, HVACBusiness, Restaurant) on the homepage. Include name, url, telephone, address, geo, openingHoursSpecification, priceRange, and sameAs links to your social profiles and Google Business Profile.
FAQPage
Wrap frequently-asked-questions pages (and FAQ sections on other pages) with FAQPage schema. It powers Google's expandable FAQ rich results and is one of the highest-hit pieces of markup for AI citations.
Organization vs. LocalBusiness
If you have multiple locations, or if you operate primarily online, use Organization on the homepage and a LocalBusiness per branch. If you're a single physical location, LocalBusiness alone (which extends Organization) is enough.
Service
For each core offering, publish a Service schema on its dedicated page. Link it back to your LocalBusiness with a provider property, name the areaServed, and describe the serviceType. This is how you get individual services surfaced in AI answers instead of just the parent business.
Review and AggregateRating
Only mark up reviews that are real, verifiable, and displayed on the same page as the markup. Fake or synthesized reviews are a manual-action risk and will get you delisted from rich results permanently. When in doubt, pull reviews from Google Business Profile programmatically.
Product (for e-commerce)
Product schema drives Google Shopping and Merchant Listings rich results. Include name, image, description, sku, brand, price, priceCurrency, availability, and — where possible — Review/AggregateRating.
Common mistakes
- Marking up content that is not visible on the page. Google will flag this.
- Using a generic LocalBusiness when a specific subtype exists (Plumber, Electrician, etc.).
- Missing @id on entities that reference each other, breaking the relationship graph.
- Marking up reviews that never happened. Instant manual action.
- Copy-pasting schema between pages without updating URLs, names, or IDs.
Validation tools
- Google's Rich Results Test — tells you exactly which rich features your markup qualifies for.
- Schema.org Validator — checks strict conformance to the spec.
- Google Search Console → Enhancements — shows aggregate errors on live pages.