Last updated: March 22, 2026

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 |

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