Skip to content
Optimization

Schema markup for AI agents: the complete guide

How to structure your Schema.org markup so AI agents can understand, cite, and recommend your business. Practical examples for services, products, and content.

Sebastien Balieu Sebastien Balieu
10 min read
Schema markup for AI agents: the complete guide
On this page

Schema markup has been a staple of SEO for over a decade, helping Google display rich snippets like star ratings, prices and FAQ dropdowns. It also describes your business, services and content in a format machines can read without interpreting your text. AI providers do not say exactly how they use it, but clean markup reduces the risk of confusion about who you are and what you offer.

Why structured data matters for AI, not just Google

Traditional SEO treats structured data as an enhancement: it helps Google show star ratings, pricing and FAQs in search results, while the page still ranks on content, links and technical signals. For AI systems, structured data plays a different role: it gives them facts in a form that needs no interpretation.

When an AI assistant researches businesses on behalf of a user, it needs precise, comparable facts: what services do you offer, at what price, where, and what do customers say? It can extract them from your text, but every interpretation is a chance to get something wrong. Structured data states those facts explicitly.

No AI provider publishes how much weight it gives to structured data, and the studies circulating on the subject rarely disclose their method. What is certain is that Google has used structured data for years to understand pages, and that clean markup can only reduce ambiguity for any system reading your site.

How AI agents parse structured data differently from Google

DimensionGoogle (traditional SEO)AI agents (Agentic GEO)
PurposeGenerate rich snippets in search resultsExtract facts for comparison and decision-making
Parsing depthReads specific types (Product, FAQ, Review)Reads all available structured data to build a complete entity profile
Action takenDisplay enhancement (stars, prices, breadcrumbs)Recommend, compare, or transact on behalf of a user
Error toleranceIgnores invalid markup, no penaltyMay misrepresent your business or skip you entirely
Completeness requirementPartial markup still triggers rich resultsMore complete data = higher confidence = more likely to recommend
Update sensitivityRe-crawled periodically (days to weeks)Can fetch in real-time when browsing your site

The critical difference: Google uses structured data for display, while AI agents use it for decisions. An incomplete Schema implementation might cost you a rich snippet on Google. An incomplete Schema in the age of AI agents might cost you a recommendation to a paying customer.

Key Schema.org types for AI visibility

Not all Schema types carry equal weight for AI agents. The following types form the core of an AI-optimized structured data strategy:

Organization and ProfessionalService

This is the foundation for any business. It tells AI agents who you are, where you operate, and how to contact you. Use ProfessionalService for agencies, consultancies, and professional firms. Use LocalBusiness (or more specific subtypes like Restaurant or MedicalClinic) for location-dependent businesses. The Organization type works as a broader container for companies that do not fit neatly into a local category.

{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "@id": "https://example.com/#organization",
  "name": "Example Agency",
  "description": "Digital agency specialising in web development and AI visibility for B2B companies.",
  "url": "https://example.com",
  "areaServed": ["BE", "FR"],
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Brussels",
    "addressCountry": "BE"
  },
  "priceRange": "€€",
  "knowsLanguage": ["fr", "en"]
}

Service and Offer

These types describe what you sell and at what price. AI agents performing comparisons rely heavily on Service and Offer to match user requirements against provider capabilities. Every distinct service should have its own Service entity with associated Offer and PriceSpecification.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Website design and development",
  "description": "Custom, fast website optimised for conversion and AI visibility.",
  "provider": { "@id": "https://example.com/#organization" },
  "areaServed": "BE",
  "offers": {
    "@type": "Offer",
    "priceSpecification": {
      "@type": "PriceSpecification",
      "priceCurrency": "EUR",
      "minPrice": "3000",
      "description": "Starting price for a showcase website"
    }
  }
}

Product

For e-commerce businesses, Product schema with detailed attributes (SKU, availability, price, brand, reviews) describes your items in a comparable way. Shopping assistants and search engines can reuse these fields when comparing products across stores. Include AggregateRating and Review where you have genuine reviews to show.

FAQPage

FAQ markup turns each question-answer pair into a discrete fact with no ambiguity. Since assistants answer in a question-and-answer format themselves, it is a natural fit, although no provider publishes how much weight it carries.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does a showcase website cost at Numinam?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A showcase website starts at €2,975, or five working days at €595."
      }
    },
    {
      "@type": "Question",
      "name": "How long does a landing page take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A landing page is online within a week."
      }
    }
  ]
}

Article and BlogPosting

Content markup helps AI agents assess the authority and recency of your published material. Always include author, datePublished, dateModified, and publisher properties. AI systems use these to evaluate whether your content is current and credible: a blog post from 2022 about AI visibility will be weighted far less than one from 2026.

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How to implement llms.txt for your business",
  "author": {
    "@type": "Person",
    "name": "Sébastien Balieu",
    "jobTitle": "Founder",
    "worksFor": { "@type": "Organization", "name": "Numinam" }
  },
  "datePublished": "2026-03-05",
  "publisher": { "@type": "Organization", "name": "Numinam" }
}

Person

Personal brand entities matter more than ever in the age of AI. AI agents evaluate content credibility by assessing the author's identity, expertise, and linked presence across the web. A well-marked-up Person entity connected to your content establishes the E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) signals that both Google and AI systems value.

Include sameAs links pointing to the person's LinkedIn profile, Twitter account, and any other authoritative profiles. This helps AI agents disambiguate the person and connect them to their broader digital footprint.

Implementation: JSON-LD format explained

JSON-LD (JavaScript Object Notation for Linked Data) is the recommended format for Schema.org markup. Google explicitly recommends it over Microdata or RDFa, and AI agents parse it most reliably. The markup goes in a <script type="application/ld+json"> tag, typically in the <head> of your HTML document.

Key principles for AI-optimized JSON-LD:

  • One comprehensive graph per page. Use @graph to combine multiple entities (Organization, WebPage, Service, BreadcrumbList) in a single JSON-LD block. This gives AI agents a complete picture in one parse.
  • Use @id references to link entities. When your Service references your Organization, point to its @id (for example https://yourdomain.com/#organization) rather than repeating the whole entity. This creates a linked graph instead of duplicated information.
  • Be specific with types. Use the most specific Schema type available. ProfessionalService is better than LocalBusiness for an agency. MedicalClinic is better than LocalBusiness for a clinic.
  • Include all relevant properties. The more complete your data, the less the system has to guess. A Service with name, description, provider, areaServed, offers and category says far more than one with just a name and description.
  • Keep data synchronized with visible content. Contradictions between your Schema markup and on-page content confuse both Google and AI agents, and can result in penalties or exclusion from citations.

Complete implementation example

Here is a comprehensive JSON-LD implementation for a service business home page, combining multiple entity types into a single linked graph:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "ProfessionalService",
      "@id": "https://example.com/#organization",
      "name": "Example Agency",
      "url": "https://example.com",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Brussels",
        "addressCountry": "BE"
      },
      "sameAs": ["https://www.linkedin.com/company/example-agency"]
    },
    {
      "@type": "WebPage",
      "@id": "https://example.com/#webpage",
      "url": "https://example.com",
      "name": "Example Agency: websites for B2B companies",
      "about": { "@id": "https://example.com/#organization" }
    },
    {
      "@type": "Service",
      "name": "Website design and development",
      "provider": { "@id": "https://example.com/#organization" },
      "areaServed": "BE"
    }
  ]
}

{``}

Testing and validation tools

Validation ensures your markup is syntactically correct and follows Schema.org specifications. Use these tools in combination:

  • Google Rich Results Test (search.google.com/test/rich-results): Validates markup and shows eligible rich result types. Note this tests Google compatibility. AI agents may parse additional types Google does not support as rich results.
  • Schema.org Validator (validator.schema.org): Tests against the full Schema.org specification, not just Google's supported subset. Use this for comprehensive validation.
  • Manual browser inspection: View page source and search for application/ld+json to verify the markup renders correctly in production. Check that dynamic rendering (SSR/SSG) outputs the JSON-LD as expected.
  • AI agent testing: Ask ChatGPT or Perplexity about your business and compare their response against your structured data. If the AI gets facts wrong that are correctly defined in your Schema, the markup may not be deployed correctly or the page may not be indexed yet.
  • Structured Data Linter (linter.structured-data.org): Catches common errors like missing required properties, incorrect value types, and deprecated terms.

Common mistakes to avoid

  • Implementing Schema only for Google rich results. Many businesses only add the minimum markup needed to trigger rich snippets (Review, FAQ, Product). For AI agents, you need a complete entity profile: Organization, Service, Offer, Person, and content types working together.
  • Duplicating rather than linking entities. If your Organization appears on every page, use @id references instead of repeating the full entity. Duplicated entities with slight variations confuse AI parsers and create inconsistencies.
  • Missing pricing information. AI agents performing comparisons heavily weight pricing data. If competitors include PriceSpecification and you do not, agents have less confidence in recommending you: they cannot compare what they cannot quantify.
  • Outdated markup. Schema data that contradicts your current offerings (old prices, discontinued services, wrong addresses) actively harms your AI visibility. Treat structured data as a living asset that requires regular maintenance.
  • Ignoring author markup. For blog posts and articles, missing Person entities for authors weakens E-E-A-T signals. AI agents evaluate content credibility partly through author identity and expertise.
  • Using Microdata or RDFa instead of JSON-LD. While technically valid, these inline formats are harder for AI systems to parse and more prone to implementation errors. JSON-LD is the industry standard.
  • Inconsistent naming. If your Schema says "Example Agency" but your website header says "Example Digital" and your Google Business Profile says "Example Agency Inc.", AI agents struggle to build a coherent entity. Use the exact same name everywhere.

Schema markup in your broader AI visibility strategy

Structured data does not exist in isolation. It is one layer of a comprehensive AI visibility strategy:

  • llms.txt: a curated Markdown summary of your business for AI consumption, providing the narrative context that Schema alone cannot convey.
  • Agentic GEO: making your website actionable by autonomous AI agents through structured APIs, clear calls-to-action, and machine-readable workflows.
  • Brand entity presence: establishing your business identity across platforms that AI models use for knowledge: LinkedIn, YouTube, Wikipedia, industry directories.
  • Technical performance: fast-loading pages that AI crawlers can access and parse efficiently, because a page that takes 8 seconds to load may be skipped entirely by a time-constrained AI agent.

Schema markup is the foundation because it provides the structured facts that every other layer builds upon. Without it, AI systems have to infer those facts from your text, with the risk of errors that implies.

Key takeaways

  • Structured data matters for AI visibility. It gives AI systems explicit facts about your business, which reduces the risk of confusion when they describe or compare you.
  • Focus on the core types: Organization/ProfessionalService, Service, Offer, PriceSpecification, FAQPage, BlogPosting, Article, and Person.
  • Use JSON-LD format with @graph and @id references for clean, linked data that AI agents can parse in a single pass.
  • Be comprehensive. Complete data leaves less room for interpretation: include pricing, service areas, languages and author information.
  • AI agents use structured data for decisions, not display. Incomplete or inaccurate markup carries higher consequences than missing a rich snippet.
  • Validate with Google Rich Results Test, Schema.org Validator, and Structured Data Linter, then test with actual AI agents to verify real-world impact.
  • Treat structured data as a living asset: review quarterly, synchronized with your website content and business changes.
Article

How to implement llms.txt for your business website

Step-by-step guide to creating and deploying llms.txt on your website. Help AI assistants understand your business and cite your content accurately.

Lire la suite

Sebastien Balieu

About the author

Sebastien Balieu — Fondateur Numinam

Sébastien est full stack developer, UX/UI designer, fondateur et multi entrepreneur. Il vit en Belgique depuis plus de 10 ans.

Let’s talk about your project

Whether it’s related to “Schema markup for AI agents: the complete guide” or something else, let’s discuss it and see how to move forward.

Prefer to talk it through? Book a call