Overview
Checks if your schema markup meets Google’s specific requirements for rich results display. Different schema types have different eligibility criteria — this feature maps your markup against those criteria and reports what’s missing.
How It Works
1. After validation, each schema type is checked against Google’s rich results requirements
2. Eligible types include: FAQ, HowTo, Product, Recipe, Event, Article, Review, and more
3. For each type, the checker reports:
– Eligibility status (eligible / not eligible / partially eligible)
– Missing required properties for eligibility
– Recommendations to improve chances
Tier Availability
| Tier | Available |
|——|———–|
| Free | No |
| Pro | Yes |
| Agency | Yes |
| Enterprise | Yes |
Related Features
– Schema Completeness Score: Overall quality beyond just eligibility
– Auto-Fix Suggestions: Code fixes targeting eligibility requirements
Quick Start: Check Your Rich Snippet Eligibility
Step 1: Validate your URL
Step 2: Look for “Rich Snippet Eligibility” section in the report
Step 3: For each schema type, you’ll see:
– Eligibility status: Eligible / Not Eligible / Partially Eligible
– Missing requirements (if not fully eligible)
– Recommendations to improve chances
Step 4: Use Auto-Fix Suggestions to add missing required properties
Example:
A Recipe page validates with score 85, but:
– Status: Not Eligible
– Reason: Missing aggregateRating (Google requires for reviews)
– Fix: Add rating schema → Now Eligible for rich snippets
Technical Details
Rich Snippet Eligibility Rules
The RichSnippetChecker validates against Google’s specific requirements, which differ from the general completeness score.
Minimum required properties per type:
| Type | Minimum Required for Eligibility |
|——|———————————-|
| Article | headline, author, datePublished, image |
| FAQ | mainEntity array with Question/Answer pairs, each with name and text |
| Recipe | name, image, recipeIngredient array, recipeInstructions |
| Product | name, image, price |
| Review | itemReviewed, reviewRating.ratingValue |
| Event | name, startDate, endDate, location |
| HowTo | name, step array with text, image |
| Breadcrumb | itemListElement array with name and position |
Request/Response with Eligibility
Request:
{
"data_url": "https://example.com/recipe/chocolate-cake"
}
Response:
{
"success": true,
"data": {
"url": "https://example.com/recipe/chocolate-cake",
"validation_id": "val_recipe_789",
"types": ["Recipe"],
"score": 82,
"rich_snippet_eligibility": {
"Recipe": {
"status": "partially_eligible",
"eligible_for_rich_results": false,
"reason": "Missing critical property for eligibility",
"required_for_eligibility": {
"name": {
"present": true,
"value": "Chocolate Cake",
"required": true
},
"image": {
"present": true,
"value": "https://example.com/image.jpg",
"required": true
},
"recipeIngredient": {
"present": true,
"count": 8,
"required": true
},
"recipeInstructions": {
"present": true,
"count": 5,
"required": true
}
},
"recommended_for_eligibility": {
"prepTime": {
"present": true,
"value": "PT15M",
"required": false
},
"cookTime": {
"present": true,
"value": "PT25M",
"required": false
},
"aggregateRating": {
"present": false,
"required": false,
"note": "Enables reviews in rich snippet"
},
"video": {
"present": false,
"required": false,
"note": "Video can increase click-through rate"
}
},
"eligibility_blockers": [],
"improvements_to_unlock_rich_results": [
{
"property": "aggregateRating",
"impact": "Enables review stars in Google search results",
"suggested_structure": {
"@type": "AggregateRating",
"ratingValue": 4.5,
"ratingCount": 127
}
}
],
"google_documentation_url": "https://developers.google.com/search/docs/appearance/structured-data/recipe"
}
},
"errors": [],
"warnings": [
{
"type": "Recipe",
"property": "aggregateRating",
"message": "Not present, but would improve eligibility for review display"
}
]
}
}
Multi-Type Eligibility Check
When a page has multiple schema types:
{
"rich_snippet_eligibility": {
"Article": {
"status": "eligible",
"eligible_for_rich_results": true,
"google_result_type": "article_with_image"
},
"BreadcrumbList": {
"status": "eligible",
"eligible_for_rich_results": true,
"google_result_type": "breadcrumb_navigation"
},
"Organization": {
"status": "not_eligible",
"eligible_for_rich_results": false,
"reason": "Missing required properties: telephone, address",
"required_for_eligibility": {
"name": {"present": true},
"telephone": {"present": false},
"address": {"present": false}
}
}
}
}
Severity Levels
The checker categorizes missing requirements by impact:
– Critical (blocks rich snippet): Missing required property Google specifies
– High (strongly recommended): Missing property that significantly improves display
– Medium (recommended): Optional property that enhances appearance
– Low (nice to have): Optional property with minor impact
Example:
– Article missing headline = Critical (blocks eligibility)
– Article missing image = High (reduces rich result quality)
– Article missing keywords = Low (not required or blocking)
References
– Google Structured Data Requirements: https://developers.google.com/search/docs/appearance/structured-data
– Google Rich Results Gallery: https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data
– Recipe Rich Results Guide: https://developers.google.com/search/docs/appearance/structured-data/recipe
– Article Rich Results Guide: https://developers.google.com/search/docs/appearance/structured-data/article
– Google Search Central Blog: https://developers.google.com/search