Vizoryo › Blog › Schema.org for AI search: the 7 markups every business needs in 2026

Technical SEO

Schema.org for AI search: the 7 markups every business needs in 2026

Schema.org JSON-LD is the highest-leverage thing you can ship for AI search visibility. AI assistants — ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews — read these markups to extract facts cleanly, without having to guess from prose. Here are the seven types that actually matter in 2026, in the order to ship them.

Vizoryo Team · 2026-06-12 · 8 min read

Why JSON-LD specifically

Schema.org supports three encodings: JSON-LD, Microdata, and RDFa. AI assistants and modern crawlers overwhelmingly prefer JSON-LD: a self-contained script block in the page <head> with all the entity data. No DOM walking, no inline attribute hunting. Microdata and RDFa still work but offer no advantage.

For every example below, the markup goes inside <script type="application/ld+json">...</script> in the page head.

1. Organization (or LocalBusiness)

The single most important markup. Tells assistants who you are. LocalBusiness for businesses with a physical location and service area; Organization for everyone else.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://example.com/#organization",
  "name": "Cohen & Sons Plumbing",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "image": "https://example.com/storefront.jpg",
  "telephone": "+972-3-555-1234",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 HaShalom Rd",
    "addressLocality": "Tel Aviv",
    "addressCountry": "IL"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Sunday","Monday","Tuesday","Wednesday","Thursday"],
    "opens": "08:00",
    "closes": "18:00"
  }],
  "sameAs": [
    "https://www.facebook.com/cohenplumbing",
    "https://www.linkedin.com/company/cohen-plumbing"
  ]
}

What it earns you: A clean entity card. Assistants pull name, telephone, address, and openingHoursSpecification verbatim when answering "what are X's hours" or "how do I call X" queries.

Ship this on every internal page. Tells the assistant where a page sits in your site structure, which helps it group related URLs and pick the right one to cite.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com" },
    { "@type": "ListItem", "position": 2, "name": "Services", "item": "https://example.com/services" },
    { "@type": "ListItem", "position": 3, "name": "Drain Cleaning", "item": "https://example.com/services/drain-cleaning" }
  ]
}

What it earns you: Better internal linking signal to assistants, and a chance at the breadcrumb rich result in Google search.

3. FAQPage

Pound for pound, the highest-leverage markup for AI citations. Assistants love FAQ data because it is pre-parsed, declarative, and exactly the format they need.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do you offer emergency service?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes — we offer 24/7 emergency drain cleaning in Tel Aviv and Ramat Gan. Call +972-3-555-1234."
      }
    },
    {
      "@type": "Question",
      "name": "How much does drain cleaning cost?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Standard residential drain cleaning starts at ₪380. We provide a written estimate before any work begins."
      }
    }
  ]
}

Common mistake: using FAQ markup on questions nobody actually asks. Use the wording from your support tickets and sales calls, not aspirational SEO bait.

4. Service

One Service markup per distinct service you sell. Lets assistants match queries like "who does X in Y city" to your offerings.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "serviceType": "Drain cleaning",
  "provider": { "@id": "https://example.com/#organization" },
  "areaServed": [
    { "@type": "City", "name": "Tel Aviv" },
    { "@type": "City", "name": "Ramat Gan" }
  ],
  "offers": {
    "@type": "Offer",
    "price": "380",
    "priceCurrency": "ILS"
  }
}

What it earns you: Citations on "best X in Y" type queries — the highest-intent local search you can win.

5. Article (or BlogPosting)

For every blog post, guide, and editorial page. Identifies the page as primary content, lists the author and publisher, and provides the canonical URL.

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "What is GEO? A 2026 guide",
  "description": "Generative Engine Optimization explained.",
  "url": "https://example.com/blog/what-is-geo",
  "datePublished": "2026-06-12",
  "dateModified": "2026-06-12",
  "author": { "@type": "Organization", "name": "Example Co" },
  "publisher": {
    "@type": "Organization",
    "name": "Example Co",
    "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" }
  }
}

What it earns you: Inclusion in "according to a recent article..." style citations and improved freshness signals.

6. Review and AggregateRating

Only ship if you have real reviews. Faking reviews is a fast way to get penalized by Google and ignored by every assistant.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://example.com/#organization",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "142",
    "bestRating": "5"
  }
}

What it earns you: Star ratings in Google rich results, and signal to assistants that the business has third-party validation.

7. WebSite with SearchAction

One per site, on the homepage. Identifies your site to the assistant and (optionally) declares a search endpoint the assistant can point users to.

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://example.com/#website",
  "url": "https://example.com",
  "name": "Example Co",
  "publisher": { "@id": "https://example.com/#organization" },
  "potentialAction": {
    "@type": "SearchAction",
    "target": { "@type": "EntryPoint", "urlTemplate": "https://example.com/search?q={search_term_string}" },
    "query-input": "required name=search_term_string"
  }
}

What it earns you: A site search box in Google rich results, and clearer identity signal for assistants.

The order to ship them

If you can only ship one this week: Organization (or LocalBusiness). If you can ship two: add FAQPage on your top three pages. If you can ship three: add BreadcrumbList everywhere. After that, layer in Service, Article, reviews, and the WebSite markup as time allows.

Common mistakes

Validators and tools

The bottom line

Structured data is unglamorous infrastructure. It will not write your marketing copy or build your authority. But without it, assistants cannot reliably extract facts about your business — and businesses whose facts cannot be extracted do not get cited.

Ship the seven markups above, validate every one, and you will already be in the top decile of the open web for AI readability.

Frequently asked questions

Do I need every one of the 7 schemas?
No. Organization (or LocalBusiness) and FAQPage are the two highest-leverage. Add BreadcrumbList next. Service, Article, reviews, and WebSite are valuable but lower priority. Pick what fits your site.
JSON-LD or Microdata?
JSON-LD. Every modern assistant prefers JSON-LD, and it is easier to maintain — one script block in the head, no DOM attribute hunting.
Will rich result rendering in Google guarantee citations in ChatGPT?
No. Rich results in Google are a downstream signal that your markup is valid and complete. ChatGPT and other assistants use the same markup, but their ranking signals differ. Treat Rich Results Test as a baseline, not a finish line.
Can I have multiple JSON-LD scripts on a page?
Yes. Splitting by entity type — one script for Organization, one for FAQPage, one for BreadcrumbList — is the recommended approach. Easier to validate and maintain.
How often should I update the markup?
When the underlying facts change — new services, new prices, new hours, new FAQ questions. At minimum, audit every quarter. Stale schema gets discounted.
Does schema markup work for non-English sites?
Yes. Schema.org property names stay in English, but values are in your site's language. Set the page <code>lang</code> attribute correctly and assistants will index in that language.

Run a free AI Visibility Audit

See how AI assistants read your business today. Run a free AI visibility audit at vizoryo.com or browse the business directory.

Keep reading