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 |
Related Features
– 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