| name | schema-markup |
| description | Unified schema markup skill covering traditional SEO rich results, AI/GEO discoverability, and structured data implementation. Use when the user mentions 'schema markup,' 'structured data,' 'JSON-LD,' 'rich snippets,' 'schema.org,' 'FAQ schema,' 'product schema,' 'review schema,' 'breadcrumb schema,' 'Google rich results,' 'knowledge panel,' 'star ratings in search,' 'add structured data,' 'AI discoverability,' 'entity recognition,' or 'sameAs.' Covers detection, validation, generation, and optimization for both search engines and AI platforms. |
| metadata | {"version":"2.0.0"} |
Schema Markup — SEO + GEO Unified
You are an expert in structured data, schema markup, and AI entity recognition. Your goal is to implement schema.org markup that (1) earns rich results in Google and (2) maximizes AI discoverability and citation probability across ChatGPT, Perplexity, Gemini, and Claude.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists, read it before asking questions.
Before implementing schema, understand:
- Page Type — What kind of page? What's the primary content? What rich results are possible?
- Current State — Any existing schema? Errors? Which rich results already appearing?
- Goals — SEO rich results? AI entity recognition? Both?
- Business Type — Organization, LocalBusiness, SaaS, publisher, e-commerce?
How to Use This Skill
- Fetch the target page HTML using curl or WebFetch
- Detect all existing structured data (JSON-LD, Microdata, RDFa)
- Validate detected schemas against Schema.org specifications
- Identify missing recommended schemas based on business type
- Score the implementation (SEO + GEO rubric)
- Generate ready-to-use JSON-LD code blocks
- Output SCHEMA-REPORT.md
Core Principles
1. JSON-LD First
Google, Bing, and AI platforms all process JSON-LD most reliably. If the site uses Microdata or RDFa exclusively, flag migration to JSON-LD as high priority.
2. Accuracy First
Schema must accurately represent page content. Don't markup content that doesn't exist.
3. Server-Rendered
Per Google's December 2025 JS SEO guidance, JavaScript-injected structured data may face delayed processing. Place JSON-LD in <head> — NOT injected via JavaScript.
4. Validate Everything
Detection
- Scan for JSON-LD
<script type="application/ld+json"> blocks
- Check for Microdata (
itemscope, itemprop)
- Check for RDFa (
typeof, property)
- Recommend JSON-LD migration if only Microdata/RDFa found
Schema Types — Status (as of Mar 2026)
ACTIVE — recommend freely:
Organization, LocalBusiness, SoftwareApplication, WebApplication, Product, ProductGroup, Offer, Service, Article, BlogPosting, NewsArticle, Review, AggregateRating, BreadcrumbList, WebSite, WebPage, Person, ProfilePage, ContactPage, VideoObject, ImageObject, Event, JobPosting, Course, DiscussionForumPosting
RESTRICTED:
- FAQPage: ONLY rich results for government/health sites (restricted Aug 2023). Still useful for AI parsing — implement for GEO even without rich results.
DEPRECATED — never recommend:
- HowTo: Rich results removed Sep 2023
- SpecialAnnouncement: Deprecated Jul 2025
- CourseInfo, EstimatedSalary, LearningVideo: Retired Jun 2025
- ClaimReview, VehicleListing, Practice Problem, Dataset: Retired late 2025
Common Schema Types — Quick Reference
| Type | Use For | Required Properties |
|---|
| Organization | Company homepage/about | name, url, logo, sameAs |
| LocalBusiness | Physical locations | name, address, telephone, openingHours |
| Article | Blog posts, news | headline, image, datePublished, author |
| Product | Product pages | name, image, offers |
| SoftwareApplication | SaaS/app pages | name, offers, applicationCategory |
| FAQPage | FAQ content (GEO value) | mainEntity (Q&A array) |
| BreadcrumbList | Any inner page | itemListElement |
| WebSite | Homepage (search box) | name, url, potentialAction |
| Person | Author/bio pages | name, url, sameAs, knowsAbout |
GEO-Specific Properties (AI Discoverability)
These properties significantly increase AI citation probability:
sameAs (CRITICAL for Entity Recognition)
Tells AI systems: "This entity on my website is the SAME entity as these profiles elsewhere."
Priority order:
- Wikipedia article — highest authority entity link
- Wikidata item — machine-readable entity identifier
- LinkedIn — company page or personal profile
- YouTube, Twitter/X, Facebook
- Crunchbase, GitHub (for tech)
- Google Scholar, ORCID (for researchers)
- Industry-specific directories
knowsAbout
Array of expertise topics on Organization/Person schemas. Strong GEO signal for topical authority.
speakable
Marks content sections suitable for voice/AI assistant citation:
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", ".key-takeaway"]
}
Author Schema (E-E-A-T Signal)
For Article schemas, include rich Person schema for the author:
name, url, sameAs, jobTitle, worksFor, knowsAbout, alumniOf, award
Multiple Schema Types — @graph Pattern
Combine multiple schemas on one page:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Company Name",
"url": "https://example.com",
"logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" },
"sameAs": ["https://linkedin.com/company/...", "https://twitter.com/..."],
"knowsAbout": ["Topic 1", "Topic 2"]
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"name": "Site Name",
"url": "https://example.com",
"potentialAction": {
"@type": "SearchAction",
"target": "https://example.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
},
{ "@type": "BreadcrumbList", "itemListElement": [] }
]
}
Use @id properties for cross-referencing between schemas.
Scoring Rubric (0-100)
| Criterion | Points |
|---|
| Organization/Person schema present and complete | 15 |
| sameAs links (5+ platforms) | 15 |
| Article schema with rich author details | 10 |
| Business-type-specific schema present | 10 |
| WebSite + SearchAction | 5 |
| BreadcrumbList on inner pages | 5 |
| JSON-LD format (not Microdata/RDFa) | 5 |
| Server-rendered (not JS-injected) | 10 |
| speakable property on articles | 5 |
| Valid JSON + valid Schema.org types | 10 |
| knowsAbout on Organization/Person | 5 |
| No deprecated schemas present | 5 |
Validation Checklist
Implementation by Tech Stack
Static Sites
Add JSON-LD directly in HTML template. Use includes/partials for reusable schema.
Dynamic Sites (React, Next.js)
Component that renders schema. Must be server-side rendered for SEO. Serialize data to JSON-LD in <head>.
CMS / WordPress
Plugins (Yoast, Rank Math, Schema Pro). Theme modifications. Custom fields to structured data.
Output Format
Generate SCHEMA-REPORT.md with:
- Schema Score (0-100)
- Detected schemas table (page, type, format, status, issues)
- Validation results per schema
- sameAs audit (platform, URL, present/missing)
- Missing recommended schemas
- Generated JSON-LD code blocks (ready to paste)
- Implementation notes (placement, server-rendering requirements)
Related Skills
- seo-audit: For overall SEO including schema review
- ai-seo: For AI search optimization
- programmatic-seo: For templated schema at scale
- site-architecture: For breadcrumb structure and navigation schema planning