● SCORING

Scoring and rich snippets

Completeness Score 0-100

Each URL gets a score based on required properties present, recommended optional ones, range validity, absence of deprecations, and cross-format consistency.

It is a precise metric. The algorithm is reproducible and we publish the weight of every criterion in the dashboard.

0-49

Schema broken or absent. No rich snippet.

50-79

Schema valid but incomplete. Rich snippet uncertain.

80-100

Eligible for a Google rich snippet.

Rich Snippet Eligibility

Google publishes specific requirements for each rich result type: Product, Recipe, Article, FAQPage, Event, Course, JobPosting, Video, etc.
ValidGraph keeps those requirements up to date and tells you exactly which type is eligible and why.

TypeCritical requirements
Productname, image, offers.price + priceCurrency, aggregateRating or review
Recipename, image, recipeIngredient, recipeInstructions, aggregateRating
Articleheadline, image, datePublished, author
FAQPagemainEntity (at least 2 Question/Answer)
Eventname, startDate, location (with address)
JobPostingtitle, description, datePosted, hiringOrganization, jobLocation

SERP Preview

Preview exactly how your search results will appear in Google before publishing. ValidGraph accurately emulates real-world visual elements, including star ratings, prices, availability, breadcrumbs, and sitelinks.

Catch errors early:
if it appears broken in the preview, it will appear broken in the live SERP.

“The difference between ‘we think we’ll get a rich snippet’ and ‘this Product meets Google’s 5 requirements’.”

Site Health Score

The completeness score, aggregated at the project level. It tells you the semantic health of your entire site, not an isolated URL.

  • Traffic-weighted average score (if you connect Google Search Console)
  • Distribution by page type (Product, Article, Category…)
  • Time-series trend: improving or worsening?
  • Top 10 URLs with the worst score (immediate focus)

Fix Suggestions with code

// BEFORE
"offers": { "@type": "Offer", "price": "199.00" }

// AFTER (suggested)
"offers": {
  "@type": "Offer",
  "price": "199.00",
  "priceCurrency": "EUR",
  "availability": "https://schema.org/InStock",
  "url": "https://example.com/product"
}

Validate with precision to ensure a top score

Get ready-to-paste fixes on every schema markup.