Schema markup types explained and when to use each

A plain-language guide to the schema.org types you'll use most — LocalBusiness, Organization, FAQPage, Article, Product, Service, BreadcrumbList, and WebSite — with short examples.

Schema markup comes in dozens of types, but most small-business sites only ever need a handful of them. This article walks through the ones you'll actually use, what each one is for, and a short JSON-LD example so you can recognize what the AI generator produces (or write your own if you're adding it manually). Pair this with Generate schema markup with AI for funnel and website pages for the how-to.

Note: JSON-LD is the format schema markup takes — a small script block, usually placed in the page's <head>, written as a JSON object with a @context and @type. You don't need to memorize the syntax; this is here so you can sanity-check what's generated for you.

LocalBusiness

Use this on your homepage or contact page if you have a physical location or a defined service area — a shop, clinic, restaurant, office, or a service business (plumber, electrician, agency) that serves customers in a region even without walk-in traffic.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Example Dental Practice",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Springfield",
    "addressRegion": "IL",
    "postalCode": "62701",
    "addressCountry": "US"
  },
  "telephone": "+1-555-123-4567",
  "openingHours": "Mo-Fr 08:00-17:00",
  "priceRange": "$$"
}

Tip: Your name, address, and phone number (NAP) in this schema should match exactly what's on your Google Business Profile and in any directories you're listed in. Mismatches are a common, quiet reason local rankings underperform.

Organization

Use this instead of LocalBusiness when you're not location-based — a SaaS company, an online-only brand, a national or remote service business. It establishes your company's identity, logo, and official channels.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Software Co.",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/example",
    "https://www.instagram.com/example"
  ]
}

sameAs links your official social/profile pages, which helps search engines and AI assistants confirm you're a real, findable entity — this matters more than it sounds like for AEO (see Answer Engine Optimization).

FAQPage

Use this on any page with a genuine, visible list of questions and answers — not just any page with an FAQ section buried at the bottom, but one where the Q&A is a real part of the visible content. This is one of the highest-value types for AEO because it's literally the format AI assistants pull answers from.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do you offer emergency appointments?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, we hold same-day emergency slots Monday through Friday. Call our office and mention it's an emergency when you book."
      }
    }
  ]
}

Warning: The questions and answers in the schema must match what's actually visible on the page. Marking up content that isn't shown to visitors is against search engine guidelines and can get the markup ignored or the page penalized.

Article / BlogPosting

Use this on blog posts and news-style content. BlogPosting is a more specific subtype of Article — either works, but BlogPosting is the better fit for a company blog.

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "5 Ways to Reduce No-Shows at Your Clinic",
  "image": "https://example.com/images/no-shows-cover.jpg",
  "author": { "@type": "Organization", "name": "Example Dental Practice" },
  "datePublished": "2026-08-15",
  "dateModified": "2026-09-01"
}

Keep dateModified current when you update a post — freshness signals matter for both search rankings and AI citation, since assistants tend to prefer recently-updated sources for time-sensitive answers.

Product

Use this on individual product pages in a storefront or funnel. It's what enables price, availability, and review-star rich results in search.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Widget Pro",
  "image": "https://example.com/images/widget-pro.jpg",
  "description": "A durable widget built for daily commercial use.",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD",
    "price": "49.99",
    "availability": "https://schema.org/InStock"
  }
}

Warning: Only mark up pricing and availability that's accurate and current. Search engines actively check for pricing schema that doesn't match what a visitor actually sees, and stale data damages trust in your other markup too.

Service

Use this for a service offering that isn't a physical product — consulting, repair, design, coaching, installation. It's the service-business equivalent of Product schema.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "serviceType": "HVAC Installation",
  "provider": { "@type": "LocalBusiness", "name": "Example HVAC Co." },
  "areaServed": "Springfield, IL",
  "description": "Full HVAC system installation for residential and light commercial properties."
}

Use this on any page nested more than one level deep in your site structure. It's what produces the little "Home > Services > HVAC Installation" trail sometimes shown under a search result, and it helps search engines understand your site hierarchy.

{
  "@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": "HVAC Installation", "item": "https://example.com/services/hvac" }
  ]
}

Use this once, typically on the homepage, to establish your site's identity as a whole and — if your site has an internal search function — enable a search box to appear directly under your homepage result in Google.

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://example.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://example.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}

Skip the potentialAction block entirely if your site doesn't have a working internal search page — pointing it at a search URL that doesn't exist will just confuse crawlers.

Choosing the right type at a glance

Your page is about...Use this type
Your business location, hours, contact infoLocalBusiness
Your company identity (no physical location)Organization
A visible list of Q&AFAQPage
A blog post or articleArticle / BlogPosting
A specific item for saleProduct
A service you provideService
Site navigation depth (any nested page)BreadcrumbList
Your homepage / overall site identityWebSite

What done looks like

  • You know which type (or types — pages can carry more than one) fits each of your key pages before you open the AI generator.
  • Every fact in your schema matches what's visibly on the page.
  • You've spot-checked a generated example against the patterns above and it looks structurally similar.

Frequently asked questions

Can one page have more than one schema type?

Yes. A service page might carry both Service and BreadcrumbList, for example. The AI generator supports adding multiple schemas to the same page — each one shows up separately under Active Schemas.

Which type should I start with if I only do one?

For most local and service businesses, start with LocalBusiness (or Organization if you're not location-based) on your homepage, then FAQPage on any page with real questions and answers — that combination covers the most common rich-result and AI-citation opportunities.

What happens if I pick the wrong type?

Nothing breaks immediately, but the page won't be eligible for the rich results tied to the correct type, and an AI assistant parsing your structured data may misclassify what your business does. It's worth getting right, and easy to fix — see the editing steps in Generate schema markup with AI.