AI search

Structured Data for AI Search: What Schema Actually Helps

7 min read
Difficulty
Moderate
You need
Template or CMS access, Search Console
Works with
Any platform that can output JSON-LD
On this page
  1. What structured data does and doesn't do for AI search
  2. What ChatGPT and Perplexity document
  3. Which schema types to use on each page
  4. Steps to add structured data that helps
  5. Troubleshooting
  6. Common questions

Structured data for AI search means schema.org markup that describes your pages accurately, so search systems can read key facts without guessing. Be clear about one thing first: Google says structured data isn't required for its generative AI features, and there's no special schema to add. It's still worth doing well, because it powers rich results and helps Google understand your business. You'll need access to your page templates and to Search Console. This guide is part of our AI search optimization guide.

Google's guide to generative AI features puts it plainly: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." The same guide recommends you keep using it as part of your overall SEO, because it helps pages qualify for rich results.

Google adds one rule that applies directly to AI features. Its AI features documentation lists "making sure your structured data matches the visible text on the page" among the SEO basics that remain worthwhile.

What ChatGPT and Perplexity document

Outside Google, the documentation is silent. OpenAI's and Perplexity's crawler pages explain robots.txt and IP access and don't mention schema at all. So treat claims that a certain markup type "gets you into ChatGPT" as unproven.

What does that leave? Markup that tells the truth about your business and your pages, matches what people see, and supports the Google features that exist. That is the version worth building.

Which schema types to use on each page

Most business sites need only a handful of types. The table below maps common page templates to the schema.org type that usually fits. Use it as a starting point, then check each type's Google documentation for its required properties.

Common page templates and the schema.org type that usually fits
Page templateMain typeWorth noting
Home or about pageOrganizationName, URL, logo and your official profiles
Guide or blog postArticleAuthor and an accurate modified date
Product pageProductPrice and availability must match the page
Physical location pageLocalBusinessOnly for a real address people can visit
Any page with breadcrumbsBreadcrumbListMirror the trail users actually see

A service business with no products or physical store might use only Organization, Article and BreadcrumbList. That's fine. Fewer accurate types beat many vague ones.

Steps to add structured data that helps

  1. List what each page type is really about.

    Go template by template: home, about, service pages, articles, products, contact. For each, write one line on the page's main purpose. Google's guidelines say to include the main type that reflects that focus, and to use the most specific type that applies. A guide is an Article. A product page is a Product. Getting this map right first saves rework.

  2. Describe your organization once, clearly.

    Add Organization markup to your home or about page. Google says it has no required properties, and that some properties help it tell your organization apart from others. Include your name, URL, logo and the profiles you control:

    json
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "@id": "https://example.com/#org",
      "name": "Example Studio",
      "url": "https://example.com",
      "logo": "https://example.com/images/logo.png",
      "sameAs": ["https://www.linkedin.com/company/example-studio"]
    }
  3. Add the main type for each page template.

    Use Article for guides and posts, with the author and an accurate `dateModified` in ISO 8601 format. Use Product for product pages and BreadcrumbList where breadcrumbs are visible. Use LocalBusiness only on a page for a real location people can visit. Every type should describe content that's actually on that page. Google says to put markup on the page it describes.

  4. Output JSON-LD in the server HTML.

    Google supports JSON-LD, Microdata and RDFa, and recommends JSON-LD. Place it in a script tag that's present in the HTML your server sends, not only injected later by a tag manager. Google can process JavaScript, but other crawlers don't document whether they do. Check what's in the raw response:

    bash
    curl -s https://example.com/guide | grep -c "application/ld+json"
  5. Match every value to the visible page.

    Google's guidelines say not to mark up content readers can't see, and that markup must truly represent the page. Dates, prices, authors and service names in the JSON-LD should read the same as on screen. Never mark up reviews or ratings that aren't real and visible. Generate the markup from the same data as the page, so the two can't drift apart.

  6. Connect related items with @id.

    Give your Organization a stable `@id`, as in step 2. Then reference it from other markup, such as an Article's publisher, instead of repeating the details. Google's guidelines describe using `@id` to show that items on a page belong together. It keeps your facts consistent across the whole site and makes updates a one-place change.

  7. Validate before and after release.

    Test templates in Google's Rich Results Test to see which rich results a page qualifies for, and in the Schema Markup Validator for general schema.org errors. After release, run URL Inspection on a live page to confirm Google sees the markup. Fix errors first. Warnings for missing recommended properties are worth fixing when the data is real.

  8. Monitor and maintain.

    Check Search Console's rich result reports monthly for new errors, especially after template or CMS changes. When a price, address or author changes on the page, the markup should change with it. If your markup comes from the same source as the page, this happens automatically. If it's hand-written, add it to your update checklist.

Structured data never replaces readable, accessible HTML. Real headings, alt text and visible facts serve every visitor and every crawler. If you'd rather have this built and checked for you, our in-house SEO team handles structured data as part of our SEO work, end to end.

Troubleshooting

The Rich Results Test finds no structured data

Cause: the markup isn't in the HTML Google received. Common reasons are a tag manager or script that injects it too late, a template that only outputs it on some pages, or a robots.txt or noindex rule blocking the page. Google's guidelines say not to block structured data pages with any of these.

Fix: fetch the raw HTML with curl and search for `application/ld+json`. If it's missing, move the markup into the server-rendered template. If it's present, run URL Inspection and look at the crawled HTML to see what Googlebot got. Then check robots.txt and meta robots for the page. For AI crawler access in general, see robots.txt for AI crawlers.

Your markup is valid but no rich result appears

Cause: valid markup makes a page eligible, not guaranteed. Google says it doesn't guarantee rich results even when markup passes the test. It tailors results by query, device and location, and may decide a plain result is best. The feature may also no longer exist, as with FAQ rich results.

Fix: confirm the rich result type is still listed in Google's search gallery documentation. Check that you've included every required property for that type, and the recommended ones where the data is real. Make sure the marked-up content is the main content of the page, not a side element. Then give it time after Google recrawls, and track the relevant rich result report in Search Console.

Search Console reports a structured data manual action

Cause: Google found markup that breaks its quality guidelines. Typical problems are marking up hidden content, irrelevant or misleading data, or reviews that aren't genuine. Google says this kind of manual action removes rich result eligibility. It doesn't affect how the page ranks in web search.

Fix: open the Manual Actions report in Search Console and read the example URLs it lists. Remove or correct every markup item that doesn't match visible, genuine content, across the whole template, not just the examples. Then submit a reconsideration request explaining what you changed. For a wider look at machine-readable files, see llms.txt explained.

Common questions

Does schema markup help ChatGPT or Perplexity cite my site?

Neither company says so. OpenAI's and Perplexity's crawler documentation covers robots.txt and IP access and doesn't mention structured data. No one has published proof either way. Accurate markup costs little and supports Google features, but for ChatGPT and Perplexity, crawler access and clear visible text are the documented basics.

Which schema types matter most for a business website?

Start with Organization on your home or about page, then the type that matches each template: Article for guides and posts, Product for products, and BreadcrumbList where you show breadcrumbs. Add LocalBusiness only on pages for a real, visitable location. Google advises choosing the most specific type that truly describes the page.

Should I keep FAQPage markup on my pages?

Keep the visible FAQs; the markup is optional. Google says FAQ rich results stopped appearing in Google Search from May 7, 2026, so markup earns no rich result. Visible questions with direct answers still help readers and answer engines. If you keep FAQPage markup, generate it from the same text so it matches the visible FAQs exactly.

← Back to AI search

See where AI tools mention your business

Our in-house SEO team reports on client mentions in Google AI Overviews and ChatGPT. Quote within 24 hours.

5.0-star Google rating (24 reviews) · BBB Accredited, A rating