Technical guide

Schema markup for AI search: which types matter and how to add them

In short

Schema markup is structured data (usually JSON-LD) that states facts about your organization, products, articles and FAQs in a form machines can read without guessing. It does not guarantee rankings or AI citations, but it removes ambiguity about who you are and what your pages contain. Start with Organization, WebSite, Service or Product, Article and BreadcrumbList, keep every value true to what the page shows, and test it.

What schema does, and what it doesn't

Schema markup uses the shared vocabulary at schema.org to describe the things on a page: an organization, a product, an article, a person, a question and its answer. Search engines read it to understand pages more precisely, and some types make a page eligible for rich results, such as product details or breadcrumbs in search listings.

Two honest caveats:

  • Markup is not a ranking shortcut. It helps machines understand content that is already good; it does not make weak content rank.
  • Rich results change. Google has narrowed some features over the years. For example, FAQ rich results were limited to a small set of well-known, authoritative sites in 2023, and in May 2026 Google stopped showing them altogether; HowTo rich results were retired earlier. The markup can still help machines understand a page even when no special result is shown.

For AI search, the value is clarity. When your brand's name, description, logo, official profiles and offerings are stated explicitly and consistently, systems that build answers from the web have less room to confuse you with someone else.

The types that matter most

TypeUse it onWhat it tells machines
Organization (or a subtype such as ProfessionalService or LocalBusiness)Home page or About pageWho you are, your logo, contact details and official profiles
WebSiteHome pageYour site's name and address
Service or Product with OfferService and product pagesWhat you sell, and when relevant its price and availability
Article with a Person authorGuides, blog posts, researchWhat the page is about, who wrote it and when
FAQPagePages with a visible FAQQuestions and their answers
BreadcrumbListEvery page below the home pageWhere the page sits in your site
Review and AggregateRatingOnly where you show genuine reviewsWhat customers say, collected by you or a trusted platform

Example: Organization

Put this in the <head> of your home page and edit the values. The @id gives your organization a stable identifier that other markup on your site can refer to, and sameAs lists your official profiles.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://www.example.com/#organization",
  "name": "Example Co",
  "url": "https://www.example.com/",
  "logo": "https://www.example.com/logo.png",
  "description": "Example Co makes scheduling software for small clinics.",
  "email": "hello@example.com",
  "sameAs": [
    "https://www.linkedin.com/company/example-co",
    "https://x.com/exampleco"
  ]
}
</script>

Example: Article with an author

Use this on guides and posts. A named author with a profile page is a strong signal of who stands behind the content.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to choose scheduling software for a small clinic",
  "datePublished": "2026-09-01",
  "dateModified": "2026-09-20",
  "author": {
    "@type": "Person",
    "name": "Jane Doe",
    "url": "https://www.example.com/about/jane-doe"
  },
  "publisher": { "@id": "https://www.example.com/#organization" }
}
</script>

Example: FAQPage

Only mark up questions and answers that are visible on the page, word for word.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Does Example Co work for multi-location clinics?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Yes. One account can manage up to 20 locations, each with its own calendar."
    }
  }]
}
</script>

How to add schema without mistakes

  1. Use JSON-LD. It sits in a script tag, separate from your visible HTML, which makes it easy to maintain. Google recommends it.
  2. Match the page. Every value must be true and visible to visitors. Markup that describes things the page does not show can lead to manual actions in Google.
  3. Use one identity. Give your organization one @id and refer to it everywhere, rather than describing it slightly differently on each page.
  4. Keep it current. When prices, addresses or products change, update the markup at the same time as the page. Generate it from the same data if you can.
  5. Mark up real reviews only. Self-written or incentivised reviews in markup break Google's guidelines.

How to test it

  • Google's Rich Results Test shows which rich results a page is eligible for and flags errors.
  • The Schema Markup Validator at validator.schema.org checks any schema.org markup, whether or not Google uses it.
  • Search Console reports errors and valid items for supported types across your whole site after Google crawls it.

Common mistakes

  • Several conflicting Organization blocks with different names or logos across the site.
  • Leaving out sameAs, so machines cannot connect your site with your official profiles.
  • Copying markup from a template and forgetting to replace its example values.
  • Adding FAQ markup for questions that are not on the page.
  • Marking up the page for one product while the page shows another.
Chat on WhatsApp