Last updated: March 22, 2026

Overview

Beyond traditional SEO validation, the AI Discoverability Score measures how well your structured data serves AI agents and LLMs. It evaluates entity clarity, relationship completeness, and protocol compatibility to produce a 0-100 score.

How It Works

1. ValidGraph analyzes the schema markup for AI-specific criteria:
– Entity identification clarity
– Relationship graph completeness
– NLWeb protocol compatibility
– Schema type coverage breadth
– Property value quality (not just presence)
2. Each criterion contributes to the overall score
3. Actionable recommendations are provided to improve the score

Tier Availability

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

NLWeb Readiness Checker: Detailed protocol compliance checks
AI Entity Graph Analyzer: Deep entity relationship analysis (Enterprise)
Schema Completeness Score: Traditional completeness metric

Mini-Tutorial

Improving Your AI Discoverability Score

1. Get your current score for a URL:

   POST /validgraph/v1/nlweb-readiness

   {
     "url": "https://example.com/article"
   }
   

2. Review the breakdown across six scoring dimensions:
– Identity Anchors (20pts): Does the entity have @id, url, sameAs?
– Semantic Richness (25pts): Are descriptions >100 chars? Are names descriptive?
– Cross-Entity Linking (20pts): Does it reference author/publisher/brand/offers/location?
– Temporal Context (10pts): Are datePublished/dateModified/startDate/endDate present?
– Actionability (15pts): Are potentialAction/offers/contactPoint/sameAs defined?
– Machine Context (10pts): Is @context https://schema.org? Is inLanguage set? additionalType?

3. Identify quick wins:
– Add missing @id to Organization (+5pts)
– Expand description from 50 to 150 chars (+8pts)
– Add author reference to Article (+7pts)

4. Update your schema with high-impact improvements:

   {
     "@context": "https://schema.org",
     "@type": "Article",
     "@id": "https://example.com/articles/ai-trends",
     "name": "AI Trends 2026",
     "description": "A comprehensive guide to the latest AI developments shaping the industry...",
     "author": {
       "@type": "Organization",
       "@id": "https://example.com/org"
     },
     "publisher": {
       "@type": "Organization",
       "@id": "https://example.com/org"
     },
     "datePublished": "2026-03-15",
     "dateModified": "2026-03-22",
     "inLanguage": "en"
   }
   

5. Re-check to see score improvement.

Technical Details

Score Calculation (0-100)

Identity Anchors (20 points):
@id present in entity: +10pts
url property set: +5pts
sameAs reference to canonical source: +5pts

Semantic Richness (25 points):
– Description >100 characters: +12pts
disambiguatingDescription present: +5pts
– Name property >3 characters: +8pts

Cross-Entity Linking (20 points):
– Each typed reference property (author/publisher/brand/offers/location): +5pts per property (max 3 = 15pts)
– Complete coverage (3+ different properties): +5pts bonus

Temporal Context (10 points):
datePublished for content: +5pts
dateModified or startDate/endDate for events: +5pts

Actionability (15 points):
potentialAction or offers defined: +7pts
contactPoint with proper structure: +5pts
sameAs linking to verified profiles: +3pts

Machine Context (10 points):
@context = “https://schema.org”: +4pts
inLanguage properly set: +3pts
additionalType for disambiguation: +3pts

REST API Example

Request:

POST /validgraph/v1/nlweb-readiness

Request body:

{
  "url": "https://example.com/products/widget"
}

Response:

{
  "url": "https://example.com/products/widget",
  "score": 78,
  "status": "ready",
  "breakdown": {
    "identity_anchors": {
      "score": 15,
      "max": 20,
      "details": {
        "@id_present": true,
        "url_present": true,
        "sameAs_present": false
      }
    },
    "semantic_richness": {
      "score": 20,
      "max": 25,
      "details": {
        "description_length": 145,
        "description_adequate": true,
        "name_length": 8,
        "disambiguating_description": false
      }
    },
    "cross_entity_linking": {
      "score": 16,
      "max": 20,
      "details": {
        "author_reference": true,
        "publisher_reference": true,
        "brand_reference": true,
        "offers_reference": false,
        "location_reference": false
      }
    },
    "temporal_context": {
      "score": 10,
      "max": 10,
      "details": {
        "datePublished": "2026-03-15",
        "dateModified": "2026-03-22"
      }
    },
    "actionability": {
      "score": 12,
      "max": 15,
      "details": {
        "potentialAction": true,
        "offers": true,
        "contactPoint": false,
        "sameAs": false
      }
    },
    "machine_context": {
      "score": 5,
      "max": 10,
      "details": {
        "context_correct": true,
        "inLanguage": "en",
        "additionalType": false
      }
    }
  },
  "recommendations": [
    {
      "property": "sameAs",
      "impact": "5pts",
      "description": "Add links to verified profiles for entity disambiguation"
    }
  ]
}

References

Schema.org Core Vocabulary
Semantic Web Standards (RDF, JSON-LD)
NLWeb Protocol Specification
AI Content Discovery Best Practices