# Product schema markup from page data

> Use when you need valid Product structured data for a page and want no invented fields.

## Fill in before running

- `{{PRODUCT_NAME}}`
- `{{PRODUCT_URL}}`
- `{{SKU_AND_MPN}}`
- `{{BRAND}}`
- `{{DESCRIPTION}}`
- `{{IMAGE_URLS}}`
- `{{PRICE_AND_CURRENCY}}`
- `{{AVAILABILITY}}`
- `{{SHIPPING_AND_RETURNS}}`
- `{{REVIEW_DATA}}`
- `{{VARIANTS}}`

## Prompt

```
Generate JSON-LD Product structured data for this page.

Page data:
- Product name: {{PRODUCT_NAME}}
- URL: {{PRODUCT_URL}}
- SKU and MPN: {{SKU_AND_MPN}}
- Brand: {{BRAND}}
- Description: {{DESCRIPTION}}
- Images: {{IMAGE_URLS}}
- Price and currency: {{PRICE_AND_CURRENCY}}
- Availability: {{AVAILABILITY}}
- Shipping and returns: {{SHIPPING_AND_RETURNS}}
- Reviews and rating: {{REVIEW_DATA}}
- Variants: {{VARIANTS}}

Rules:
- Output valid JSON-LD in a single script block, nothing else above it.
- Include only properties backed by the data above. Do not add gtin, aggregateRating, review or shippingDetails if the data is not supplied.
- Aggregate rating must match the number and value visible on the page. If review data is absent, omit the property entirely.
- If variants are supplied, model them correctly rather than flattening them into one offer.
- After the JSON, list: (a) properties omitted and what data would be needed to add them, (b) anything in my input that would fail validation and why.
- Do not invent example.com placeholders in the final markup. If a URL is missing, say so instead.
```

## Getting a better result

- Never let it fill in a rating. A mismatch between markup and visible reviews is a manual action risk.
- Ask for the omitted-properties list every time - it doubles as a data gap audit for the whole catalogue.
- Validate the output before templating it. One malformed variant block breaks the entire item.

---

From the QuQi prompt library - https://www.quqi.io/prompts/product-schema-markup
