🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
111 lines
2.7 KiB
Markdown
111 lines
2.7 KiB
Markdown
---
|
|
name: seo-schema-validator
|
|
version: 1.0.0
|
|
description: Structured data validator for JSON-LD, Microdata, and RDFa. Triggers: validate schema, structured data, JSON-LD, rich results, schema.org.
|
|
allowed-tools: mcp__firecrawl__*, mcp__perplexity__*
|
|
---
|
|
|
|
# SEO Schema Validator
|
|
|
|
## Purpose
|
|
|
|
Extract and validate structured data (JSON-LD, Microdata, RDFa) against schema.org vocabulary and Google Rich Results requirements.
|
|
|
|
## Core Capabilities
|
|
|
|
1. **Extract** - Find all structured data on page
|
|
2. **Parse** - JSON-LD, Microdata, RDFa formats
|
|
3. **Validate** - Schema.org compliance
|
|
4. **Rich Results** - Google eligibility check
|
|
|
|
## MCP Tool Usage
|
|
|
|
```
|
|
mcp__firecrawl__scrape: Extract page HTML with structured data
|
|
mcp__perplexity__search: Research schema requirements
|
|
```
|
|
|
|
## Workflow
|
|
|
|
1. Scrape target URL
|
|
2. Locate structured data blocks
|
|
3. Parse each format found
|
|
4. Validate against schema.org
|
|
5. Check Rich Results eligibility
|
|
6. Report issues and recommendations
|
|
|
|
## Supported Schema Types
|
|
|
|
| Type | Required Properties | Rich Result |
|
|
|------|---------------------|-------------|
|
|
| Article | headline, author, datePublished, image | Yes |
|
|
| Product | name, offers (price, availability) | Yes |
|
|
| LocalBusiness | name, address, telephone | Yes |
|
|
| FAQPage | mainEntity (questions) | Yes |
|
|
| Organization | name, url, logo | Sitelinks |
|
|
| BreadcrumbList | itemListElement | Yes |
|
|
| WebSite | name, url, potentialAction | Sitelinks |
|
|
| Review | itemReviewed, reviewRating | Yes |
|
|
| Event | name, startDate, location | Yes |
|
|
| Recipe | name, image, ingredients | Yes |
|
|
|
|
## Validation Levels
|
|
|
|
### Level 1: Syntax
|
|
- Valid JSON structure
|
|
- Proper nesting
|
|
- No parsing errors
|
|
|
|
### Level 2: Vocabulary
|
|
- Valid @type values
|
|
- Known property names
|
|
- Correct value types
|
|
|
|
### Level 3: Rich Results
|
|
- Required properties present
|
|
- Recommended properties
|
|
- Google-specific requirements
|
|
|
|
## Output Format
|
|
|
|
```markdown
|
|
## Schema Validation: [URL]
|
|
|
|
### Schemas Found: X
|
|
|
|
#### Schema 1: [Type]
|
|
- Format: JSON-LD
|
|
- Valid: Yes/No
|
|
- Rich Results Eligible: Yes/No
|
|
|
|
**Issues:**
|
|
- [Error/Warning list]
|
|
|
|
**Properties:**
|
|
| Property | Present | Valid |
|
|
|----------|---------|-------|
|
|
|
|
### Summary
|
|
- Valid: X
|
|
- Invalid: X
|
|
- Rich Results Ready: X
|
|
|
|
### Recommendations
|
|
1. [Fixes needed]
|
|
```
|
|
|
|
## Common Issues
|
|
|
|
| Issue | Severity | Fix |
|
|
|-------|----------|-----|
|
|
| Missing required property | Error | Add property |
|
|
| Invalid date format | Error | Use ISO 8601 |
|
|
| Missing @context | Error | Add schema.org context |
|
|
| No image property | Warning | Add image URL |
|
|
|
|
## Limitations
|
|
|
|
- Cannot test rendered schema (JavaScript)
|
|
- Validation against schema.org, not all Google features
|
|
- Use Google Rich Results Test for final verification
|