🏷️ Structured Data Generator & Validator - Win Rich Results avatar

🏷️ Structured Data Generator & Validator - Win Rich Results

Pricing

Pay per event

Go to Apify Store
🏷️ Structured Data Generator & Validator - Win Rich Results

🏷️ Structured Data Generator & Validator - Win Rich Results

⚡ Detects the right schema.org type from page content, GENERATES clean JSON-LD, and VALIDATES existing markup against Google's rich-result requirements. ✅ 11 types, required-vs-recommended scoring, site-wide audit via sitemap.

Pricing

Pay per event

Rating

0.0

(0)

Developer

mohamed alaya

mohamed alaya

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Structured Data Generator & Validator

Detect the right schema.org type for any page, generate clean JSON-LD, and check whatever structured data the page already has against Google's rich-result requirements — the kind of work an SEO agency bills for per page.

What it does

Detect — scores every candidate type from real signals on the page: existing JSON-LD, microdata itemtype attributes, Open Graph og:type, and content heuristics (price/add-to-cart language, question-style headings, "Step N" headings, ingredients lists, breadcrumb navs, salary ranges, embedded video, and more). If nothing on the page suggests a type, it reports "no type detected" rather than guessing — a wrong schema type is worse than none.

Generate — builds a clean, parseable JSON-LD object for the detected (or forced) type, pulling values from existing JSON-LD first, then microdata, then Open Graph/meta tags, then visible-DOM heuristics (headings, lists, <address>, prices). Reports exactly which properties it filled and which it could not find.

Validate — checks the page's existing markup (or the generated JSON-LD, if there is none) against an embedded REQUIRED vs RECOMMENDED property list per type, modeled on Google's Search Central guidelines. Missing a required property is an error; missing a recommended one is a warning — they are never conflated. Each page gets a 0-100 rich-result-readiness score (required properties weighted higher than recommended), and a site-wide audit reports the average.

Supported types

Product, Article/BlogPosting, LocalBusiness, Organization, FAQPage, HowTo, Recipe, Event, BreadcrumbList, JobPosting, VideoObject.

Input

{
"url": "https://shop.example.com/products/widget",
"mode": "both"
}

or, for a full-site audit:

{ "siteUrl": "https://shop.example.com", "maxPages": 100, "mode": "validate" }

Output

One page row per page (detected type, confidence, signals, generated JSON-LD, filled/missing properties, errors, warnings, score) and one result summary row (site-wide average score, type distribution, total errors/warnings). Files are also written to the dataset for direct inspection.

Honest limits

The embedded REQUIRED/RECOMMENDED ruleset is a snapshot (see RULESET_DATE in the output) — Google changes its structured-data guidelines periodically, and this actor's validation reflects the ruleset as embedded at that date, not a live fetch of Google's current documentation. Content-signal detection is heuristic: unusual page layouts (heavy client-side rendering, non-English question phrasing, custom component names) can under- or over-score a type. Generated JSON-LD is a best-effort draft meant to be reviewed before publishing, not a guaranteed-passing submission to Google's Rich Results Test.