Not just LocalBusiness — use Dentist, HVACBusiness, Plumber, LegalService. Full list at schema.org. Specificity improves knowledge graph mapping.
Schema Implementation Checklist.
Twenty-five points for deploying and validating schema.org JSON-LD across your site — LocalBusiness, BlogPosting, FAQPage, BreadcrumbList, Service / Review / Rating. Plus validation tooling and the @id-reference pattern that keeps entity data DRY.
01 · LocalBusiness / Organization
Use @id: https://yoursite.com/#business. Reference from BlogPosting.publisher, Service.provider, Review.itemReviewed — never duplicate full LocalBusiness data across pages.
Structured PostalAddress. Every field (streetAddress, addressLocality, addressRegion, postalCode, addressCountry) matches your canonical NAP.
Required for map pack eligibility. geo gives your business location; areaServed defines who you serve (can be larger than geo).
Cross-reference your GBP, LinkedIn, Facebook, Instagram URLs via sameAs. Helps Google connect your entity graph.
02 · BlogPosting / Article
Required properties: @type, headline, datePublished, author, publisher, image, mainEntityOfPage. Build via schema.ts helpers.
author: { '@id': 'https://yoursite.com/about#person' }. The Person entity is defined once at /about. 166 blog posts reference it — none duplicate it.
Match schema type to actual content shape. Tutorials with step-by-step should use HowTo (with step array). Opinion essays use OpinionNewsArticle. Mismatched types can miss rich-result eligibility.
Don't just bump dateModified on auto-publishing. Actual revisions trigger re-indexing and signal freshness. Unchanged timestamps over 2+ years signal abandonment.
03 · FAQPage
Google devalued FAQPage rich results for most sites in 2023. Still works for authoritative sites. Deploy on /faqs hub + individual FAQ pages, not on service pages with 2 inline Q&A.
Schema.org Validator flags Q&A pairs where the Answer is shorter than 50 characters. Write substantive answers; don't schema-mark your one-liners.
Google penalizes hidden FAQ schema. The questions and answers in your JSON-LD must be visible to users on the page. No 'invisible optimization'.
04 · BreadcrumbList
Match the visible breadcrumb navigation. Helps Google understand site hierarchy and displays breadcrumb trails in SERPs.
Current page (last item) shouldn't have item URL. All prior items should have both name + item URL.
05 · Service / Review / AggregateRating
@type: 'Service', references provider (LocalBusiness via @id), includes offers (PriceSpecification), areaServed, serviceType.
availability: 'https://schema.org/InStock', priceCurrency: 'USD'. Missing currency is the #1 cause of Offer validation errors.
Faking ratings = Google manual action territory. Only use when you have a real review/rating collection system on your own site. GBP reviews don't count for site schema.
If you display customer reviews with names, dates, ratings — schema-mark them individually. Never schema-mark testimonials that don't have all required fields.
Not all local businesses. For retailers and some service businesses that sell productized services: Product schema with Offer + Brand. Required for shopping rich results.
06 · Validation & deployment
search.google.com/test/rich-results. Test every page type (home, service, blog, FAQ). Errors suppress rich results.
validator.schema.org covers the full spec, not just Google's subset. Catches valid-for-Google but spec-invalid patterns.
Not in <body>, not microdata, not RDFa — JSON-LD in <head> is what Google prefers and parses most reliably.
Googlebot renders JS, but schema should not depend on client-side injection. Ship it in the initial HTML. Astro + Next.js static rendering handle this natively.
GSC → Enhancements → LocalBusiness / Breadcrumbs / FAQPage / Article etc. Shows errors and warnings on your schema. Fix errors within 7 days of first appearance.
If the page content changes (new address, price change, new service), the schema updates too. Stale schema is worse than no schema — signals unmaintained site.
Schema is infrastructure . It should be invisible when done right.
If you want someone to audit your full schema deployment across a real site — what's missing, what's broken, what's duplicate — the $197 audit includes schema analysis as one category.