Last updated: March 22, 2026

Overview

Sites using Yoast SEO expose a /schemamap endpoint that aggregates schema data. This validator checks that endpoint for completeness, consistency, and proper structure — ensuring the schema graph accurately represents the site’s content.

How It Works

1. User provides the site URL (schemamap endpoint is auto-detected)
2. ValidGraph fetches and parses the schemamap
3. Validates:
– Endpoint availability and response format
– Schema type coverage
– Entity relationship completeness
– Per-URL schema consistency with the schemamap
4. Reports gaps and inconsistencies

Tier Availability

| Tier | Available |
|——|———–|
| Free | No |
| Pro | No |
| Agency | Yes |
| Enterprise | Yes |

Schemamap Cross-Validation: Compare schemamap vs individual pages (Enterprise)
NLWeb Readiness Checker: Broader AI readiness assessment

Mini-Tutorial

Validating Your Yoast Schemamap Endpoint

1. Trigger a schemamap validation:

   POST /validgraph/v1/schemamap-validate

   {
     "site_url": "https://example.com"
   }
   

2. Review the validation report:
– Endpoint availability: Is /schemamap reachable?
– Response format: Valid JSON?
– Schema type coverage: How many types are declared?
– Entity relationship completeness: Are entities linked?

3. Identify issues:
– Endpoint missing: Add
– Format errors: Fix JSON syntax in Yoast settings
– Incomplete coverage: Some pages not in schemamap
– Weak relationships: Entities listed but not connected

4. Fix schemamap issues:
– Re-run Yoast schema generation
– Ensure all pages are indexed
– Verify schema completeness in Yoast plugin settings

5. Re-validate to track improvement.

Technical Details

Schemamap Validation Process

1. Endpoint Discovery:
– Attempts standard locations: /.well-known/schema, /schemamap
– Checks for tag in homepage
– Fallback: Uses Yoast’s documented endpoint path

2. Health Check:
– Verifies endpoint responds (HTTP 200)
– Validates JSON format
– Checks response structure compatibility

3. Schema Analysis:
– Extracts all declared schema types
– Counts entity occurrences
– Identifies relationship patterns
– Validates @context = “https://schema.org”

4. Entity Scoring:
– Per-entity assessment of completeness
– Checks for required properties (name, @type, @id)
– Evaluates relationship quality
– Generates improvement recommendations

5. Pagination Handling:
– Follows “next” links in schemamap
– Crawls up to 10 pages per validation (Agency tier)
– Tracks coverage across pages

6. Partner Plugin Detection:
– Identifies WordPress plugins extending schema
– The Events Calendar (EventPosting)
– WP Recipe Maker (Recipe)
– Flags compatibility concerns

REST API Example

Request:

POST /validgraph/v1/schemamap-validate

Request body:

{
  "site_url": "https://example.com"
}

Response:

{
  "site_url": "https://example.com",
  "schemamap_endpoint": "https://example.com/schemamap",
  "validation_date": "2026-03-22",
  "health": {
    "endpoint_accessible": true,
    "http_status": 200,
    "valid_json": true,
    "correct_context": true
  },
  "coverage": {
    "pages_in_schemamap": 52,
    "unique_schema_types": 8,
    "total_entities": 156
  },
  "schema_types": [
    {
      "type": "Organization",
      "count": 1,
      "coverage": "complete",
      "properties_present": [
        "name",
        "url",
        "@id",
        "logo",
        "sameAs"
      ],
      "missing_properties": []
    },
    {
      "type": "Article",
      "count": 42,
      "coverage": "mostly_complete",
      "avg_properties": 12,
      "min_properties": 8,
      "max_properties": 18,
      "common_missing": [
        "articleBody",
        "keywords"
      ]
    },
    {
      "type": "Product",
      "count": 35,
      "coverage": "partial",
      "issues": [
        {
          "severity": "medium",
          "issue": "missing_offers",
          "affected_count": 15,
          "percentage": 0.43
        }
      ]
    }
  ],
  "relationship_analysis": {
    "entities_with_relationships": 89,
    "avg_relationships_per_entity": 1.8,
    "relationship_types": {
      "author": 42,
      "publisher": 40,
      "mainEntity": 8
    }
  },
  "partner_plugins": [
    {
      "name": "The Events Calendar",
      "schema_types": ["EventPosting"],
      "detected_on_pages": 5,
      "compatibility": "compatible"
    }
  ],
  "overall_score": 78,
  "status": "needs_work",
  "issues": [
    {
      "severity": "medium",
      "type": "incomplete_coverage",
      "message": "Product entities missing offer details",
      "affected_count": 15
    },
    {
      "severity": "low",
      "type": "weak_relationships",
      "message": "Some entities could benefit from additional linking",
      "affected_count": 23
    }
  ],
  "recommendations": [
    {
      "priority": "high",
      "action": "Add offer details to Product schema",
      "impact": "Improves e-commerce schema completeness"
    },
    {
      "priority": "medium",
      "action": "Increase relationship density",
      "impact": "Better AI entity comprehension"
    }
  ]
}

Entity-level detail example:

{
  "entity": {
    "@type": "Article",
    "@id": "https://example.com/article/widget-guide",
    "completeness_score": 0.82
  },
  "properties": [
    {
      "name": "name",
      "present": true,
      "quality": "good",
      "value_length": 45
    },
    {
      "name": "description",
      "present": true,
      "quality": "good",
      "value_length": 158
    },
    {
      "name": "datePublished",
      "present": true,
      "quality": "good",
      "format": "ISO8601"
    },
    {
      "name": "articleBody",
      "present": false,
      "quality": "missing",
      "recommendation": "Add for better content understanding"
    }
  ]
}

References

Yoast SEO Schema Documentation
Schema.org Type Definitions
JSON-LD Best Practices
Google Search Central: Structured Data
WordPress SEO Plugins