Overview
Goes beyond basic schemamap validation by comparing the aggregated schemamap data against individual page schemas. Identifies discrepancies where the schemamap claims one thing but the page’s actual markup says another.
How It Works
1. Fetches the site’s schemamap endpoint
2. Crawls individual pages listed in the schemamap
3. Compares:
– Schema types declared in schemamap vs actual page markup
– Property values in schemamap vs page-level values
– Missing pages (in schemamap but not crawlable)
– Extra pages (crawlable but not in schemamap)
4. Generates a discrepancy report with severity levels
Tier Availability
| Tier | Available |
|——|———–|
| Free | No |
| Pro | No |
| Agency | No |
| Enterprise | Yes |
Related Features
– Yoast Schemamap Validator: Basic schemamap validation
– Entity Consistency Checker: Broader entity-level consistency
Mini-Tutorial
Cross-Validating Your Schemamap
1. Run the cross-validation check:
POST /validgraph/v1/schemamap-cross-validate
{
"site_url": "https://example.com"
}
2. Review the discrepancy report:
– Schema types claimed in schemamap vs actual page markup
– Property values: schemamap vs page reality
– Missing pages: in schemamap but unreachable
– Extra pages: crawlable but not in schemamap
3. Identify critical mismatches:
– Schemamap claims Product schema on page A, but page A has no Product
– Schemamap has Organization with name “Acme”, page has “Acme Corp”
– Schemamap lists 100 product pages, but only 95 are crawlable
4. Fix high-priority issues:
– Update your Yoast SEO plugin settings to match actual markup
– Ensure pages listed in schemamap are publicly crawlable
– Update page markup to match schemamap claims
5. Re-run the validation to confirm fixes.
Technical Details
Cross-Validation Algorithm
1. Schemamap Fetching:
– Attempts to fetch /.well-known/schema or /schemamap endpoint
– Auto-detects endpoint via tag
– Follows pagination: “next” links up to 5 pages
2. Page Crawling:
– Crawls each page listed in schemamap
– Extracts schema markup from each page
– Tracks crawlability (accessible, returns 2xx status)
3. Schema Comparison:
– For each page in schemamap:
– Extract declared schema types
– Parse actual page schema
– Compare property values
– Detects:
– Missing schema types (claimed but not present)
– Extra schema types (present but not claimed)
– Property value conflicts
– Missing entities (referenced but not defined)
4. Discrepancy Severity:
– Critical: Schema type mismatch (major accuracy impact)
– High: Property value conflict (misleading AI)
– Medium: Missing optional properties (incomplete data)
– Low: Crawlability issues (archival pages)
5. Partner Detection:
– Identifies WordPress plugins:
– EventPosting + The Events Calendar
– Recipe + WP Recipe Maker
– Notes compatibility or conflicts
REST API Example
Request:
POST /validgraph/v1/schemamap-cross-validate
Request body:
{
"site_url": "https://example.com"
}
Response:
{
"site_url": "https://example.com",
"schemamap_url": "https://example.com/schemamap",
"validation_date": "2026-03-22",
"pages_in_schemamap": 47,
"pages_crawled": 45,
"pages_uncrawlable": 2,
"discrepancies": [
{
"page_url": "https://example.com/products/widget",
"severity": "critical",
"type": "schema_type_mismatch",
"schemamap_declares": "Product",
"actual_markup": "Article",
"impact": "AI may misinterpret content type"
},
{
"page_url": "https://example.com/about",
"severity": "high",
"type": "property_conflict",
"property": "name",
"schemamap_value": "Acme Corporation",
"actual_value": "Acme Corp",
"details": {
"similarity": 0.89,
"recommendation": "Update schemamap or page markup"
}
},
{
"page_url": "https://example.com/article/old-post",
"severity": "low",
"type": "crawlability",
"status_code": 404,
"issue": "Page listed in schemamap but not accessible"
}
],
"uncrawlable_pages": [
{
"url": "https://example.com/archived/2020",
"status_code": 410
}
],
"partner_plugins": [
{
"plugin": "The Events Calendar",
"schema_type": "EventPosting",
"pages_affected": 12,
"compatibility": "compatible"
}
],
"summary": {
"critical_discrepancies": 1,
"high_discrepancies": 3,
"medium_discrepancies": 5,
"low_discrepancies": 2,
"overall_accuracy": 0.87
},
"recommendations": [
{
"priority": "critical",
"page": "https://example.com/products/widget",
"fix": "Update page schema from Article to Product type"
},
{
"priority": "high",
"action": "Update Yoast schemamap settings",
"reason": "Multiple property conflicts"
}
]
}
References
– Yoast SEO Schemamap Documentation
– JSON-LD Format Specification
– Schema.org Validation Best Practices
– WordPress SEO Plugin Integration