Schema markup, run on a real product page

Pointed at a page that sells a $9.99 pack. Four things came back: two it fixed, two it refused to fake.

What it wrote

 "@graph": [
  {
   "@type": "BreadcrumbList",
   "itemListElement": [
    {
     "@type": "ListItem",
     "position": 1,
     "name": "Glintmake",
     "item": "https://glintmake.com/"
    },
    {
     "@type": "ListItem",
     "position": 2,
     "name": "Sketch to 3D model",
     "item": "https://glintmake.com/sketch-to-3d-mod
    }
   ]
  },
  {
   "@type": "WebApplication",
   "name": "Sketch to 3D model",
   "url": "https://glintmake.com/sketch-to-3d-model/
   "applicationCategory": "DesignApplication",
   "operatingSystem": "Any (web browser)",
   "image": "https://glintmake.com/img/dinosaur-prev
   "description": "Turns a photo of a sketch or draw
  …

What it found

addedBreadcrumbs were missing

Google still shows them. This page had none.

fixedOffers had no availability or url

Google expects both; ours carried only a price.

keptFAQ won't give rich results

Google stopped showing them 7 May 2026. Kept for answer engines, not SEO.

left outNo rating was invented

Nothing on the page backs one, so the stars field stayed empty.

Run 21 Oct 2026 · glintmake.com/sketch-to-3d-model/ · 1 min 22 s BreadcrumbList, WebApplication and FAQPage each carry every field Google lists as required

And what it says about five pages we own

The same script, run across a small site. One pass, no network, no Google account.

pagetypes it foundwhat it said
image-to-stlHowTo, HowToStep, WebApplication, Offer, FAQPageretired HowTo rich results ended Sept 2023 — this block has produced nothing for two years
deepseek-v4-1-flashWebApplication, Offer, FAQPagefixed offer had no availability or url
minimax-m3WebApplication, Offer, FAQPagefixed offer had no availability or url
ozil-goal-aiWebApplication, Offer ×2, FAQPagefixed both offers had no availability or url
sketch-to-3d-modelBreadcrumbList, WebApplication, Offer, FAQPageclean every required field present

What it will not pretend to know. Whether the markup matches what a visitor actually sees, and whether a rating comes from real reviews. It prints both at the end of every run instead of implying it checked them.