# SEO Schema

Detect, validate, or generate Schema.org JSON-LD for a supplied page or entity.

- Repository: https://github.com/AgriciDaniel/claude-seo (25484 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add AgriciDaniel/claude-seo --skill seo-schema -g -a claude-code -y`
Codex: `npx skills add AgriciDaniel/claude-seo --skill seo-schema -g -a codex -y`
Cursor: `npx skills add AgriciDaniel/claude-seo --skill seo-schema -g -a cursor -y`
Gemini CLI: `npx skills add AgriciDaniel/claude-seo --skill seo-schema -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add AgriciDaniel/claude-seo`

## Description

Detect, validate, or generate Schema.org JSON-LD for a supplied page or entity. Use only when structured data or rich-result markup is requested.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Schema Markup Analysis & Generation

## Detection

1. Extract JSON-LD with `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py --url <url> --json`
   (or scan `<script type="application/ld+json">` in the page source). Flag any
   block without `@context` or `@type`: Google cannot attach it to an entity (a
   rating in such a block does not reach the Product).
2. Check for Microdata (`itemscope`, `itemprop`)
3. Check for RDFa (`typeof`, `property`)
4. Always recommend JSON-LD as primary format (Google's stated preference)

## Validation

- Check required properties per schema type
- Validate against Google's supported rich result types
- Test for common errors:
  - Missing @context
  - Invalid @type
  - Wrong data types
  - Placeholder text
  - Relative URLs (should be absolute)
  - Invalid date formats
- Flag deprecated types (see below)

## Schema Type Status (checked October 2026)

Read `../seo/references/schema-types.md` for the full list. Key rules:

### ACTIVE (recommend freely):
Organization, LocalBusiness, SoftwareApplication, WebApplication, Product (with Certification markup as of April 2025), ProductGroup, Offer, Service, Article, BlogPosting, NewsArticle, Review, AggregateRating, BreadcrumbList, WebSite, WebPage, Person, ProfilePage, ContactPage, VideoObject, ImageObject, Event, JobPosting, Course, DiscussionForumPosting

### VIDEO & SPECIALIZED (recommend freely):
BroadcastEvent, Clip, SeekToAction, SoftwareSourceCode

See `schema/templates.json` for ready-to-use JSON-LD templates for these types.

> **JSON-LD and JavaScript rendering:** Google supports structured data generated with JavaScript, but its "Generate structured data with JavaScript" guide (last updated 2025-12-10) warns that dynamically generated Product markup can make Shopping crawls less frequent and less reliable for fast-changing price and availability. For time-sensitive markup (especially Product, Offer), include JSON-LD in the initial server-rendered HTML.

The rest: https://github.com/AgriciDaniel/claude-seo/blob/HEAD/skills/seo-schema/SKILL.md
