Product JSON-LD
Use ProductStructuredData.astro on product detail pages.
The component should describe the same product identity, variants, prices, availability, images, brand, seller, and category that the page visibly presents.
Simple products produce Product; variant groups produce ProductGroup with variant products and offer nodes.
Do not let structured data drift from visible price or availability.
Pass the same sellables you rendered, plus the visible product identity:
---import ProductStructuredData from "../components/ProductStructuredData.astro";---<ProductStructuredData sellables={sellables} product={{ name, description, url: Astro.url, images, brand, category }} offers={{ priceValidUntil, seller }}/>Adjust the relative import path to the host page location. In the seeded route src/pages/products/[slug].astro, the component is imported from ../../components/ProductStructuredData.astro and rendered with slot="head" inside MikaKumoPage so the JSON-LD script lands in the document head.
The component maps Mika availability to schema.org availability: available / untracked → InStock, low_stock / manual → LimitedAvailability, backorder → BackOrder, out_of_stock → OutOfStock. Subscription prices emit a UnitPriceSpecification with an ISO-8601 billingDuration. It is a pure view over DTOs with no Mika runtime import, so the JSON-LD only stays correct when you feed it the same data the page shows.
Verify
Section titled “Verify”- Render the page and inspect the JSON-LD script in the document head.
- Confirm visible price, availability, variants, seller, and product identity match the structured data.
- Validate with Schema.org or Google product structured-data tooling before publishing.
Next: LLMs And Manifest shows the other public metadata surfaces. Agent-Ready Storefront shows the full metadata checklist.
External References
Section titled “External References”- Schema.org Product for Product, Offer, and variant relationship fields.
- Schema.org ProductGroup for grouped variants that differ by well-defined dimensions.
- Google Product structured data for Search-specific product markup expectations.
- Google product variant structured data for
ProductGroup,variesBy,hasVariant, andproductGroupIDexpectations.
Source Anchors
Section titled “Source Anchors”- ⓐ
../emdash-mika/src/templates/astro/components/ProductStructuredData.astro - ⓐ
../emdash-mika/src/templates/astro/examples/agent-ready-storefront.md - ⓣ
../emdash-mika-template/src/pages/products/[slug].astro