Schema Markup Analysis & Generation
Detection
- 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@contextor@type: Google cannot attach it to an entity (a rating in such a block does not reach the Product). - Check for Microdata (
itemscope,itemprop) - Check for RDFa (
typeof,property) - 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 (as of June 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.
NO RICH RESULTS, KEEP IF USEFUL:
- FAQPage: Google retired FAQ rich results for ALL sites on May 7, 2026 (supersedes the Aug 2023 gov/health restriction). No Google SERP rich-result benefit; flag existing FAQPage at Info (not Critical) rather than removal. For genuine user Q&A pages, use QAPage.
DEPRECATED (never recommend):
- HowTo: Rich results removed September 2023
- SpecialAnnouncement: Deprecated July 31, 2025
- CourseInfo, EstimatedSalary, LearningVideo: Retired June 2025
- ClaimReview: No Search rich result since June 2025. Google's Fact Check Explorer still uses the markup, so fact-checking publishers may keep it; never recommend it for SERP features
- VehicleListing: Retired from rich results June 2025
- Practice Problem: Deprecation notice 2025-11-05; tooling support removed starting January 2026; documentation removed 2026-01-06
- Search Console / Rich Results Test / appearance-filter support for CourseInfo, ClaimReview, EstimatedSalary, LearningVideo, SpecialAnnouncement, VehicleListing was removed 2025-09-09 (Search Console API through December 2025).
Still supported (despite earlier phase-out notices):
- Book Actions: NOT deprecated. The June 2025 phase-out banner was removed on 2025-11-05 because a Search feature still uses the markup.
Supported for Dataset Search only:
- Dataset: Not discontinued; consumed by Google Dataset Search, with no Google Search rich-result surface. Don't advise removal as if it were killed.
Still supported (do not flag):
- QAPage (expanded comment-thread properties 2026-03-24), DiscussionForumPosting, Education Q&A (Quiz /
eduQuestionType=Flashcard). For e-commerce, hasAdultConsideration (added 2026-05-20; valuehttps://schema.org/SexualContentConsideration) is required for adult products.Product.categoryacceptsText,CategoryCode, or arrays mixing both.
Generation
When generating schema for a page:
- Identify page type from content analysis
- Select appropriate schema type(s)
- Generate valid JSON-LD with all required + recommended properties
- Include only truthful, verifiable data. Use placeholders clearly marked for user to fill
- Validate output before presenting
- For review markup, reject fake reviews and undisclosed incentivized reviews. An incentive must be clearly and prominently disclosed on the page.
Common Schema Templates
Organization
LocalBusiness
Article/BlogPosting
Output
SCHEMA-REPORT.md: detection and validation resultsgenerated-schema.json: ready-to-use JSON-LD snippets
Validation Results
Recommendations
- Missing schema opportunities
- Validation fixes needed
- Generated code for implementation

