schema-markup

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,'

SKILL.md

GitHub

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:

  1. Page Type — What kind of page? What's the primary content? What rich results are possible?
  2. Current State — Any existing schema? Errors? Which rich results already appearing?
  3. Goals — SEO rich results? AI entity recognition? Both?
  4. Business Type — Organization, LocalBusiness, SaaS, publisher, e-commerce?

How to Use This Skill

  1. Fetch the target page HTML using curl or WebFetch
  2. Detect all existing structured data (JSON-LD, Microdata, RDFa)
  3. Validate detected schemas against Schema.org specifications
  4. Identify missing recommended schemas based on business type
  5. Score the implementation (SEO + GEO rubric)
  6. Generate ready-to-use JSON-LD code blocks
  7. 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

  1. Scan for JSON-LD <script type="application/ld+json"> blocks
  2. Check for Microdata (itemscope, itemprop)
  3. Check for RDFa (typeof, property)
  4. 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:

  1. Wikipedia article — highest authority entity link
  2. Wikidata item — machine-readable entity identifier
  3. LinkedIn — company page or personal profile
  4. YouTube, Twitter/X, Facebook
  5. Crunchbase, GitHub (for tech)
  6. Google Scholar, ORCID (for researchers)
  7. 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

  • Validates in Rich Results Test
  • No errors or warnings
  • Matches visible page content
  • All required properties included
  • All URLs are absolute (not relative)
  • Dates in ISO 8601 format
  • JSON-LD in server-rendered HTML (not JS-injected)
  • No deprecated schema types

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