Schema Markup Decoded: The Hidden Language That Gets You Cited by AI

Shruti Sonali
Shruti Sonali · · 8 min read

What is Schema Markup

The Definition

Schema markup (also called structured data) is a standardized vocabulary of tags you add to your HTML. These tags explicitly define what things are: this is a business, this is a product, this is an FAQ, this person wrote this article.

How It Works

<!-- Without schema: AI guesses what this is -->
<div>
  <h1>Acme Corp</h1>
  <p>123 Main St, San Francisco</p>
  <p>
contact@acme.com
</p>
</div>

<!-- With schema: AI knows exactly what this is -->
<script type="application/ld+json">
{
  "@context": "
https://schema.org
",
  "@type": "Organization",
  "name": "Acme Corp",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "San Francisco"
  },
  "email": "
contact@acme.com
"
}
</script>

The Three Formats

Format Description Recommendation
JSON-LD JavaScript in <script> tag ✅ Recommended by Google
Microdata HTML attributes inline ⚠️ Harder to maintain
RDFa HTML attributes ⚠️ Less common

Always use JSON-LD. It's cleaner, easier to maintain, and preferred by search engines.

Why Schema Matters for AI

The Disambiguation Problem

Words are ambiguous. "Apple" could mean:

  • The fruit
  • Apple Inc.
  • Apple Records
  • A specific product like Apple Watch

Schema removes ambiguity:

{
  "@type": "Corporation",
  "name": "Apple Inc.",
  "sameAs": "
https://www.wikidata.org/wiki/Q312
"
}

Now AI knows exactly which Apple you mean.

Schema as AI Instructions

Think of schema as metadata that tells AI:

  • What this content is (article, product, FAQ)
  • Who created it (author, organization)
  • When it was published/updated
  • Where this entity is located
  • How things relate to each other

The Citation Connection

AI systems prefer citing structured sources because:

  1. Confidence - Schema confirms what content represents
  2. Accuracy - Explicit data reduces interpretation errors
  3. Attribution - Clear authorship supports E-E-A-T
  4. Freshness - dateModified shows recency

Types of Schema Markup

Entity Types (What You Are)

Schema Type Use Case
Organization Company/business
LocalBusiness Physical location
Person Individual (founder, author)
Corporation Large enterprise
EducationalOrganization Schools, universities

Content Types (What You Publish)

Schema Type Use Case
Article Blog posts, news
BlogPosting Blog content specifically
FAQPage Question and answer pages
HowTo Step-by-step guides
Review Product/service reviews
Recipe Cooking instructions

Commercial Types (What You Sell)

Schema Type Use Case
Product Physical or digital products
Service Services offered
Offer Pricing information
SoftwareApplication SaaS products
Course Educational offerings

Connecting Types (Relationships)

Schema Type Use Case
WebSite Site-level information
WebPage Page metadata
BreadcrumbList Navigation structure
ItemList Collections of things

Essential Schema for Every Website

The Foundation Stack

Every website should implement these:

1. Organization Schema (Homepage)

{
  "@context": "
https://schema.org
",
  "@type": "Organization",
  "@id": "
https://yoursite.com/#organization
",
  "name": "Your Company Name",
  "url": "
https://yoursite.com
",
  "logo": {
    "@type": "ImageObject",
    "url": "
https://yoursite.com/logo.png
",
    "width": 600,
    "height": 60
  },
  "description": "What your company does in 1-2 sentences",
  "foundingDate": "2020",
  "sameAs": [
    "
https://linkedin.com/company/yourcompany
",
    "
https://twitter.com/yourcompany
",
    "
https://github.com/yourcompany
"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer service",
    "email": "
hello@yoursite.com
"
  }
}

2. WebSite Schema (Homepage)

{
  "@context": "
https://schema.org
",
  "@type": "WebSite",
  "@id": "
https://yoursite.com/#website
",
  "url": "
https://yoursite.com
",
  "name": "Your Company Name",
  "description": "Site description",
  "publisher": {
    "@id": "
https://yoursite.com/#organization
"
  }
}

3. WebPage Schema (Every Page)

{
  "@context": "
https://schema.org
",
  "@type": "WebPage",
  "@id": "
https://yoursite.com/about/#webpage
",
  "url": "
https://yoursite.com/about/
",
  "name": "About Us",
  "description": "Page description",
  "isPartOf": {
    "@id": "
https://yoursite.com/#website
"
  },
  "about": {
    "@id": "
https://yoursite.com/#organization
"
  }
}

Content Page Schema

Blog Post / Article

{
  "@context": "
https://schema.org
",
  "@type": "Article",
  "headline": "Article Title Here",
  "description": "Article description",
  "image": "
https://yoursite.com/images/article-image.jpg
",
  "author": {
    "@type": "Person",
    "name": "Author Name",
    "url": "
https://yoursite.com/team/author-name/
"
  },
  "publisher": {
    "@id": "
https://yoursite.com/#organization
"
  },
  "datePublished": "2026-01-10",
  "dateModified": "2026-01-10"
}

FAQ Page

{
  "@context": "
https://schema.org
",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is your refund policy?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We offer a 30-day money-back guarantee..."
      }
    },
    {
      "@type": "Question",
      "name": "How long does shipping take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Standard shipping takes 5-7 business days..."
      }
    }
  ]
}

Implementing Schema in Webflow

Method 1: Page-Level Custom Code

  1. Open the page in the Webflow Designer
  2. Go to Page Settings (gear icon)
  3. Scroll to Custom Code section
  4. Paste JSON-LD in "Inside tag"
<script type="application/ld+json">
{
  "@context": "
https://schema.org
",
  "@type": "FAQPage",
  ...
}
</script>

Method 2: Site-Wide Custom Code

  1. Go to Project Settings
  2. Navigate to Custom Code tab
  3. Add schema in "Head Code" section
  4. Use for Organization and WebSite schema

Method 3: Embed Component

For CMS-driven pages:

  1. Add an Embed element to your template
  2. Insert schema with CMS field references
  3. Use Webflow's field syntax
<script type="application/ld+json">
{
  "@context": "
https://schema.org
",
  "@type": "BlogPosting",
  "headline": "{{wf {"path":"name","type":"PlainText"} }}",
  "datePublished": "{{wf {"path":"published-date","type":"Date"} }}"
}
</script>

Method 4: Using Finsweet Attributes

Finsweet's schema attributes can automate some schema:

<article fs-schema="BlogPosting">
  <h1 fs-schema-field="headline">Title</h1>
  <time fs-schema-field="datePublished">Date</time>
</article>

Advanced Schema Patterns

Nested Entity Graph

Connect multiple entities:

{
  "@context": "
https://schema.org
",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "
https://yoursite.com/#organization
",
      "name": "Your Company"
    },
    {
      "@type": "WebSite",
      "@id": "
https://yoursite.com/#website
",
      "publisher": {"@id": "
https://yoursite.com/#organization
"}
    },
    {
      "@type": "WebPage",
      "@id": "
https://yoursite.com/about/#webpage
",
      "isPartOf": {"@id": "
https://yoursite.com/#website
"}
    }
  ]
}

Service + Offer Pattern

{
  "@type": "Service",
  "name": "Website Development",
  "provider": {
    "@id": "
https://yoursite.com/#organization
"
  },
  "offers": {
    "@type": "Offer",
    "price": "5000",
    "priceCurrency": "USD"
  },
  "areaServed": {
    "@type": "Country",
    "name": "United States"
  }
}

SaaS Product Schema

{
  "@type": "SoftwareApplication",
  "name": "Your SaaS Product",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web browser",
  "offers": {
    "@type": "AggregateOffer",
    "lowPrice": "29",
    "highPrice": "299",
    "priceCurrency": "USD",
    "offerCount": "3"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "150"
  }
}

Testing and Validation

Testing Tools

Tool Purpose URL
Google Rich Results Test Validate and preview search.google.com/test/rich-results
Schema.org Validator Syntax validation validator.schema.org
Schema Markup Validator Detailed checking validator.schema.org

Validation Checklist

  • No syntax errors (valid JSON)
  • Required properties present
  • URLs are absolute, not relative
  • Images are accessible
  • Dates in ISO 8601 format
  • @id references are consistent
  • No duplicate @type declarations

Monitoring in Search Console

  1. Go to Google Search Console
  2. Navigate to Enhancements
  3. Check each schema type for errors
  4. Fix issues promptly

Common Mistakes

Mistake 1: Invalid JSON

// ❌ Wrong - trailing comma
{
  "name": "Company",
  "url": "
https://site.com
",  // <- trailing comma
}

// ✅ Correct
{
  "name": "Company",
  "url": "
https://site.com
"
}

Mistake 2: Relative URLs

// ❌ Wrong
"url": "/about",
"image": "images/logo.png"

// ✅ Correct
"url": "
https://yoursite.com/about
",
"image": "
https://yoursite.com/images/logo.png
"

Mistake 3: Missing Required Properties

Each schema type has required properties. Check schema.org documentation.

Mistake 4: Schema That Doesn't Match Content

Schema must accurately represent visible page content. Don't add Review schema without visible reviews.

Mistake 5: Overmarking

Don't add schema for things that don't exist or aren't relevant.

Schema Strategy by Business Type

SaaS Company

Priority schema:
1. Organization
2. SoftwareApplication
3. FAQPage (pricing, features)
4. Article (blog posts)
5. HowTo (tutorials)

Agency/Consultancy

Priority schema:
1. Organization
2. Service (each service)
3. FAQPage
4. Article/Case studies
5. Person (team members)

E-commerce

Priority schema:
1. Organization
2. Product (each product)
3. Offer (pricing)
4. Review (customer reviews)
5. BreadcrumbList (navigation)

Local Business

Priority schema:
1. LocalBusiness (with hours, location)
2. Service
3. FAQPage
4. Review
5. Event (if applicable)

References

Shruti Sonali

Written by

Shruti Sonali

Web Designer & Strategist

Passionate about creating beautiful, functional websites that help businesses grow.

Explore Topics

Get Your Free Site Teardown

Watch a 5-minute video breakdown of what's working, what's broken, and what's costing you leads. No pitch—just fixes you can use today.

Request Your Audit

Can AI Search Find You?

Google is just the start. See if ChatGPT, Perplexity, and other AI assistants are recommending you—or sending clients to your competitors.

Run SEO Pulse