Skip to main content
Cheers

Technical

What Is JSON-LD? The Technical Foundation of GEO

JSON-LD is how you give search engines and AI systems clean structured facts about your business. Here's what it is and why it matters.

Amadeus Peterson, CTO & Co-Founder, Cheers6 min readPublished November 20, 2025Updated July 10, 2026

If you want AI systems to understand your business, make your best facts easy for machines to read. JSON-LD is the most common format for doing that.

JSON-LD stands for JavaScript Object Notation for Linked Data. It's a way of structuring information on your website so machines can read it directly, without having to interpret your page content.

Pro Tip

Think of JSON-LD as a machine-readable business card. Instead of hoping an AI can infer your business name, address, and services from page text, you provide a structured version of the facts.

Electrician labeling a breaker panel directory
JSON-LD gives search systems a cleaner way to parse the facts on a page.

Why this matters for GEO

AI systems pulling information about local businesses face a challenge: the web is messy. Your business name might be styled differently in your logo than in your footer. Your address might be written multiple ways. Your services might be scattered across pages.

JSON-LD helps by providing clean, standardized data. When a crawler encounters JSON-LD on your site, it can extract your business information with less ambiguity.

Important

JSON-LD can describe visible business facts in a machine-readable format. It is not a recommendation guarantee and should not introduce claims that are absent from the page.

For the broader structured data layer, read What Is Schema Markup?. For multi-location brands, pair JSON-LD with the entity cleanup work in How to Fix Conflicting Records Across 50 Locations.

What JSON-LD looks like

Here's a simplified example of LocalBusiness JSON-LD:

{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Smith Plumbing",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78701"
  },
  "telephone": "+1-512-555-0123",
  "areaServed": "Austin, TX",
  "sameAs": [
    "https://www.google.com/search?q=Smith+Plumbing+Austin",
    "https://www.yelp.com/biz/smith-plumbing-austin"
  ]
}

This gives crawlers a structured version of the core facts: this is a plumber named Smith Plumbing at this address with this phone number.

Key schema types for local businesses

LocalBusiness is the foundation, but you should use more specific types when available. Plumber, Electrician, HVACBusiness, BeautySalon. These give AI systems more context about your category.

Service schema describes what you offer. If you're a plumber who does water heater installation, emergency repairs, and drain cleaning, each service can be structured.

GeoCoordinates defines your service area. This helps AI systems recommend you for location-specific queries.

FAQPage marks up useful questions and answers on pages where that content is visible to visitors.

sameAs links connect your website to verified profiles like Google Business Profile, Yelp, Facebook, BBB, Apple Maps, and industry directories.

Next step

Is AI recommending your business?

Find out how visible you are across ChatGPT, Gemini, Perplexity, and AI Overviews.

Common mistakes

Important

A surprising number of local business websites have no structured data at all. That makes crawlers rely more heavily on inference and third-party sources.

Using generic LocalBusiness when specific types exist. If there's a schema type for your exact business category, use it. More specificity helps.

Inconsistent data. If your JSON-LD says your phone number is 512-555-0123 but your website displays a different number and your Google profile has another, you've created confusion. Standardize.

Overusing review markup. Google's guidance around LocalBusiness reviews is narrower than many plugins imply. Mark up only content that is visible, accurate, and compliant with current structured-data rules.

Not updating. If your JSON-LD has your old address or outdated rating data, you're sending bad information to AI systems.

Implementation

JSON-LD goes in a script tag in your page's head section. Most website platforms have plugins or settings for adding structured data. If you're using WordPress, there are several schema plugins. If you have a custom site, your developer needs to add this manually.

Pro Tip

After implementation, test with Google's Rich Results Test or Schema.org's validator. These tools will flag errors and missing fields.

Every local business website should have LocalBusiness schema at minimum. The businesses that do this well give AI systems cleaner evidence to work with. The ones that don't are trusting crawlers to piece the facts together from messy page content.

Further Reading

Amadeus Peterson is the CTO of Cheers, the local search platform for service businesses.

Share this article

Pass it to the operator who still thinks AI visibility is just SEO with a different label.

Share:

Frequently Asked Questions

JSON-LD (JavaScript Object Notation for Linked Data) is a way of structuring information on your website so machines can read it directly. Think of it as a machine-readable business card that gives crawlers clean facts about your business.

AI systems face messy web data: inconsistent business names, addresses written multiple ways, services scattered across pages. JSON-LD gives AI structured, unambiguous data about your business, improving their confidence in recommending you.

Start with LocalBusiness (or a specific subtype like Plumber or BeautySalon), which covers name, address, phone, hours, and service area. Add Service schema for what you offer, FAQPage for useful questions, and sameAs links to verified profiles.

JSON-LD goes in a script tag in your page's head or body. Visitors usually do not see it, but crawlers can read it. Most CMS platforms have plugins to add it, or your developer can implement it directly.

Keep reading