What Is JSON-LD Schema and How Does It Help Local Businesses?

What Is JSON-LD Schema and How Does It Help Local Businesses?

JSON-LD is the specific format that Google, ChatGPT, and Perplexity use to read structured data about your business. It's the difference between AI knowing exactly what you do and having to guess.

What JSON-LD actually is

JSON-LD stands for JavaScript Object Notation for Linked Data. It's a specific way of writing structured information that AI systems, search engines, and other machines can read reliably.

The "Linked Data" part is important. JSON-LD doesn't just describe your business — it links your business to a shared vocabulary of concepts that every major AI system understands. That vocabulary is called Schema.org, and it's maintained by Google, Microsoft, Yahoo, and Yandex.

When your website includes JSON-LD schema, you're essentially saying to every AI system: "Here is exactly what my business is, using the same definitions you already know."

Why JSON-LD and not other formats

There are three ways to add structured data to a website: JSON-LD, Microdata, and RDFa. Google recommends JSON-LD for all new implementations, and it's the format that ChatGPT, Perplexity, and Google's AI Overview rely on most heavily.

The reason is practical: JSON-LD sits in a separate block in your page's <head> section. It doesn't mix with your visible content, which means it's easier to add, easier to update, and less likely to break your design. Microdata and RDFa require you to annotate your HTML directly, which is more error-prone and harder to maintain.

What JSON-LD looks like for a local business

Here's a real example of JSON-LD schema for an HVAC company:

json
{
  "@context": "https://schema.org",
  "@type": "HVACBusiness",
  "name": "Chicago Climate Control",
  "url": "https://chicagoclimatecontrol.com",
  "telephone": "+1-312-555-0200",
  "email": "[email protected]",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "456 Oak Ave",
    "addressLocality": "Chicago",
    "addressRegion": "IL",
    "postalCode": "60614"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 41.9242,
    "longitude": -87.6484
  },
  "areaServed": [
    {"@type": "City", "name": "Chicago"},
    {"@type": "City", "name": "Evanston"},
    {"@type": "City", "name": "Naperville"}
  ],
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "07:00",
      "closes": "19:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday"],
      "opens": "08:00",
      "closes": "16:00"
    }
  ],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "HVAC Services",
    "itemListElement": [
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "AC Installation"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Furnace Repair"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Emergency HVAC"}}
    ]
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

When an AI system reads this, it has a complete, unambiguous picture of the business: what type it is, where it's located, what areas it serves, when it's open, what services it offers, and how customers have rated it.

How this affects AI recommendations

AI systems that generate local recommendations — ChatGPT, Perplexity, Google's AI Overview — are essentially answering the question: "Which business in this area can I confidently recommend for this specific need?"

Confidence comes from data. A business with complete JSON-LD schema gives the AI system everything it needs to be confident. A business without it requires the AI to infer details from unstructured text — and AI systems are conservative. When they're uncertain, they recommend the business they're most certain about.

This is why JSON-LD schema is the single most impactful technical change you can make to a local service business website. It doesn't guarantee AI recommendations, but without it, you're competing with one hand tied behind your back.

The most important schema types for tradespeople

Schema.org has hundreds of types, but for a local service business, these are the ones that matter:

Schema TypeWhat It DoesPriority
LocalBusiness / specific trade typeIdentifies your business categoryEssential
PostalAddressConfirms your physical locationEssential
GeoCoordinatesPins your location preciselyHigh
areaServedLists the cities/areas you serveHigh
hasOfferCatalogLists your specific servicesHigh
openingHoursSpecificationConfirms your hoursHigh
aggregateRatingShows your review scoreMedium
FAQPageMarks up Q&A contentMedium

The specific business type matters. Schema.org has dedicated types for Plumber, Electrician, HVACBusiness, Locksmith, RoofingContractor, and many others. Using the specific type rather than the generic LocalBusiness type gives AI systems more confidence in what your business does.

What happens if the schema has errors

Invalid JSON-LD is silently ignored. If there's a syntax error, a missing required field, or an incorrect type, the schema is simply not processed — and your site behaves as if it has no structured data at all.

This is why implementation quality matters. Adding schema markup incorrectly is not better than not having it. You can check your schema using Google's Rich Results Test at search.google.com/test/rich-results.

Frequently asked questions

Does JSON-LD schema directly improve my Google ranking? Not directly for traditional search rankings. However, it significantly affects your eligibility for Google's rich results (star ratings, FAQ dropdowns in search results) and for Google's AI Overview recommendations.

How often should I update my schema? Update it whenever your business information changes: new services, new service areas, changed hours, new phone number. Outdated schema can actively hurt you — if the AI recommends you based on schema that says you're open on Sundays but you're not, that's a bad experience for the customer.

Can I have multiple JSON-LD blocks on one page? Yes. It's common to have a LocalBusiness block on every page and an additional Service or FAQPage block on specific pages. Each block is processed independently.

What's the difference between JSON-LD and Open Graph? Open Graph tags (og:title, og:description, og:image) are for social media sharing — they control how your page looks when shared on Facebook, LinkedIn, or WhatsApp. JSON-LD schema is for AI systems and search engines. Both are important, but they serve different purposes.


Related reading


If you want to see what an AI-ready site would look like for your business, get a free preview — we build the preview first, you only pay if you like it.

Ready to make your business visible to AI?

Get a free preview →

Stay ahead of the AI shift

Get notified when we publish new guides on AI visibility for local businesses.

No spam. Unsubscribe any time.

← All articles