SchemaForAI
Ad

Free Product Schema Generator for AI Search

Generate JSON-LD Product schema markup with price, availability, ratings, and offers. Optimized for ChatGPT shopping, Perplexity, Google AI Overviews. No sign-up.

Product Details

Product Schema

The full name of the product as it appears on your page.

Use the exact product name shoppers will ask AI assistants for. Include brand if that's how users refer to it.

Minimum 50 characters. AI shopping engines use this to match your product to user intent.

0 / 1500

Include the use case and differentiators, not just specs. Aim for 120–250 words.

Full URL to a high-resolution product image (1200px+ recommended).

Product images are surfaced directly in AI shopping results. Use a clean, white-background shot.

The brand or manufacturer.

Brand is one of the most weighted product signals for AI shopping assistants. Be consistent sitewide.

Your internal product identifier (optional, but recommended).

The product's numeric price (no currency symbol).

AI shopping assistants rank sources by price clarity — round numbers and missing prices lose visibility.

ISO 4217 three-letter currency code.

Current stock status.

Average star rating from 1–5 (optional).

Aggregate ratings are heavily weighted by AI shopping engines. Only include if you display them on the page.

How many customer reviews back up the rating (optional).

Canonical URL of this product's page.

JSON-LD
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Your product name",
  "description": "Product description…",
  "image": "https://example.com/product.jpg",
  "brand": { "@type": "Brand", "name": "Brand" },
  "offers": {
    "@type": "Offer",
    "price": "99.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}

AI Readiness Score

Get a 0–100 score showing how likely AI search engines are to parse and cite content from your page.

How to use this code:

  1. Copy the JSON-LD code above
  2. Paste inside <script type="application/ld+json">
  3. Add the script tag to your product page <head>
  4. Validate with Google Rich Results Test ↗
AI Simulator

See how ChatGPT answers — with and without your schema

Side-by-side comparison of what an AI assistant would return for a typical product query, with vs. without the structured data you generated above.

3 of 3 remaining today

Sample user query

Tell me about this product — is it worth buying?

Without Schema
Generic answer

Click Simulate to see the AI response without schema.

With Schema
Detailed citation

Click Simulate to see the AI response with schema.

Install Guide

How to install this schema on your site

Pick your platform. Every step includes a copy-paste-ready code block where it applies.

  1. 1

    Install and activate a schema plugin: "Rank Math SEO", "Yoast SEO Premium", or "Schema Pro". For straight JSON-LD injection without a full SEO plugin, "WPCode" (formerly Insert Headers and Footers) is the simplest option.

  2. 2

    In Rank Math: go to the post edit screen → Rank Math sidebar → Schema tab → Schema Builder → paste your JSON-LD. In Yoast Premium: the Schema tab auto-generates standard types; use the Custom Schema plugin add-on to inject custom types.

  3. 3

    For WPCode: Code Snippets → Add Snippet → Custom Code (HTML/PHP) → paste the full <script type='application/ld+json'> tag. Set Location to 'Site Wide Header' or 'Specific Post/Page' depending on scope.

    html
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [ /* your Q&A pairs */ ]
    }
    </script>
  4. 4

    Publish the post. Open the live URL, view source, confirm the <script type="application/ld+json"> tag appears in the <head>.

  5. 5

    Validate at search.google.com/test/rich-results.

What is Product Schema Markup?

Product schema is the structured data type defined by Schema.org that describes a commercial item — a physical good, a digital product, a service, or a software application. It lets search engines and AI shopping assistants read the machine-readable facts about your product (name, price, availability, rating, brand, SKU) instead of trying to scrape them from your HTML. The result: your products show up correctly in Google Shopping, Merchant Center, and the rapidly growing world of AI-driven product recommendations.

The core Product schema nests two child entity types: Offer describes the commercial terms (what it costs, which currency, whether it's in stock, where to buy), and AggregateRating describes summary review data (star rating, number of reviews). Without at least one qualifying child — an Offer, a Review, or an AggregateRating — Google will parse your schema but won't issue a Product rich result. The full markup for a mid-priced product looks like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Acme Wireless Headphones",
  "image": "https://example.com/headphones.jpg",
  "brand": { "@type": "Brand", "name": "Acme" },
  "offers": {
    "@type": "Offer",
    "price": "199.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": 214
  }
}
</script>

Three things happen once this markup is in place. Google indexes your product for Merchant Center and Shopping results. AI shopping engines (Perplexity's shopping mode, ChatGPT with browsing, Google's AI-powered shopping summaries) identify your product as a purchase-ready entity. Third-party aggregators and comparison sites parse the same schema to include you in their feeds.

Ad

Why Product Schema Matters for AI Search Engines

AI shopping is reshaping e-commerce faster than most retailers realize. When a user asks ChatGPT \"what are the best noise-cancelling headphones under $300,\" the response is not a list of blue links — it's a curated set of products with names, prices, and explanations of why each fits. Whether your product appears in that response is almost entirely determined by the quality of your Product schema.

Here is what AI engines reward in Product schema, ranked by citation impact:

  • Complete Offer data: Price, priceCurrency, and availability together form the minimum viable product signal for AI shopping. Products missing any one of these are functionally invisible in shopping-oriented AI queries.
  • Authentic AggregateRating: Real review counts above 50 and star ratings above 4.0 dramatically increase how often AI recommends your product. AI engines cross-check rating consistency across sites — inflated ratings get filtered.
  • Consistent Brand entity: Products using the same Brand object across your catalog build a brand-as-entity signal in AI knowledge graphs. Over time this compounds — a well-branded catalog outperforms a better-priced but inconsistently-branded one.
  • Descriptive, use-case-oriented descriptions: AI engines match user intent to product descriptions semantically. Descriptions that name the use case ("for commuters who want silence on noisy trains") beat spec-list descriptions every time.
  • Stable SKU and GTIN: These identifiers let AI engines deduplicate your product across search results. Without them, a user asking follow-up questions may be shown competitors who share your model name.
  • Sync between schema and page: If your schema says $199.99 and your page shows $189.99, the AI engine notices and penalizes — sometimes hiding your product entirely from price-sensitive queries until the mismatch is fixed.

The net effect of well-structured Product schema compounds over time. Products that AI engines can parse cleanly get tested in more queries; queries where they perform well generate more citation signal; more citation signal makes them appear in broader queries. This virtuous cycle is why a mid-size DTC brand with meticulous schema can outperform a giant retailer with sloppy schema on the same product category.

Product Schema Best Practices for AI Visibility

These are the details that separate Product schema that just validates from Product schema that actually drives AI citations:

Lead descriptions with the use case

Open with who the product is for and what problem it solves — "Noise-cancelling over-ear headphones for commuters" beats "40mm dynamic drivers with ANC." Specs belong in the description, but not first.

Keep schema and page price in lockstep

Generate schema from the same source of truth as the price you render. Cached schema with stale prices is the single most common cause of Product rich result suppression.

Use Brand as an entity, not a string

Always wrap brand in a full Brand object with @type and name. When possible, include a url pointing to the brand's entity page.

Include GTIN where applicable

For branded goods, a valid GTIN (UPC, EAN, ISBN) connects your product to Google's canonical catalog and dramatically strengthens deduplication.

Set availability from live inventory

Hardcoding availability: InStock and forgetting it is a silent killer. AI engines notice when users report OOS on an "InStock" product and quietly downrank everything you sell.

Include high-quality images

Use 1200px+ images on white or neutral backgrounds. AI shopping surfaces crop and display these directly. Blurry or cluttered images fail the implicit quality bar.

Cap descriptions at ~300 words

AI engines parse the full description, but they summarize from the first 200–300 words. Put your unique claims early; dump spec tables later via additionalProperty if needed.

Don't self-review

Aggregating your own reviews into AggregateRating is fine; fabricating them is not. AI engines correlate review volume with external signals (Trustpilot, third-party review platforms). Caught manipulation poisons the whole catalog.

How to Install Product Schema on Your Store

Shopify

  1. 1Most modern Shopify themes ship with Product schema by default — check your product page source for application/ld+json before adding more.
  2. 2If your theme lacks schema or generates incomplete schema, edit the product template (sections/main-product.liquid or equivalent).
  3. 3Paste the generated JSON-LD and wire in Liquid variables: {{ product.title }}, {{ product.price | money_without_currency }}, etc.
  4. 4Ensure availability is derived from {{ variant.available }} so it stays in sync with inventory.
  5. 5Test with Google Rich Results Test on a live product URL.

WooCommerce

  1. 1WooCommerce outputs default Product schema, but the built-in version often misses AggregateRating and uses generic Offer structure.
  2. 2Install a schema plugin like Rank Math, Yoast SEO Premium, or SchemaPro to replace WooCommerce's default schema.
  3. 3In the plugin's schema settings, map ratings from WooCommerce review data and ensure priceCurrency inherits your store currency.
  4. 4Disable WooCommerce's default schema output (add_filter) to avoid duplicates.
  5. 5Validate several product URLs covering edge cases: variable products, out-of-stock items, sale prices.

Custom site (Next.js / static HTML)

  1. 1Build the Product object in JavaScript from your product data source.
  2. 2Render in a <script type="application/ld+json"> tag using dangerouslySetInnerHTML or the Next.js Head component.
  3. 3Escape any </script> sequences in string fields to <\/script>.
  4. 4Invalidate/rebuild the page whenever inventory or price changes — stale SSG schema is a very common mistake.
  5. 5Run every deploy through the Rich Results Test before promoting.

Frequently Asked Questions

What information is required for valid Product schema?+
At minimum, you must include the product name, an image URL, and either a review, aggregateRating, or a complete Offer (with price, priceCurrency, and availability). Google's Product rich results require at least one of those three qualifying properties — name and image alone are not enough to earn a rich result. For AI citation purposes, the richer your schema, the better: descriptions over 50 characters, a branded Brand object, and a stable SKU all strengthen the signal. Products missing price are effectively invisible to AI shopping assistants; products with price but no availability routinely get filtered out of "what can I buy right now" queries.
Which availability value should I use?+
Use InStock when the product is purchasable and ships within your normal window. OutOfStock is for items you still sell but temporarily can't ship. BackOrder means shipping is delayed but orders are accepted. PreOrder is for items you sell before release. Discontinued tells AI engines to stop citing the product entirely — use this instead of deleting the page so backlinks are preserved. LimitedAvailability signals scarcity and is treated as a urgency cue by some AI shopping engines. Keep availability synchronized with your live inventory system — stale availability is worse than no availability because it causes shoppers to bounce immediately.
Should I include ratingValue and reviewCount?+
Include them if and only if the ratings are visible on the same page in the same form. Google requires schema aggregate ratings to match the ratings a user can see. Faking or inflating ratings is detected (both by Google's manual reviewers and by algorithmic heuristics) and can trigger a manual action against your whole site. That said, when ratings are real, they are among the single highest-leverage signals you can add — AI shopping assistants surface highly-rated products first when a user asks generic questions like "best wireless earbuds." A product with a 4.6-star average and 200+ reviews will routinely outperform better products with no rating data.
How should I handle product variants (size, color, etc.)?+
You have two patterns. Pattern 1: mark up each variant as a separate Product with its own page and unique SKU, linking them through a ProductGroup (the newer, recommended approach for large catalogs). Pattern 2: mark up the parent page as a Product and list offers for each variant — simpler but less expressive. AI engines handle both, but ProductGroup with per-variant Product entries performs noticeably better in specific queries like "black size-10 Nike Air Max" because each variant becomes an addressable entity. Small catalogs can get away with Pattern 2; serious e-commerce sites should invest in Pattern 1.
Why doesn't my price show up in Google's Product rich result?+
Most commonly because your price is wrapped in an Offer whose availability is OutOfStock, or because your markup fails validation on a field Google doesn't render a visible error for (such as a priceCurrency that doesn't match ISO 4217). Run the Rich Results Test with your live URL — it catches the common issues. Also check that the price in your schema matches the visible price on the page; if they differ by even a cent, Google often drops the rich result rather than pick one. Stale prices from a cached build, or dynamic prices that load after hydration, are the most common causes of mismatch.
Can I use Product schema for digital goods and services?+
Yes. Digital products (ebooks, software, courses, memberships) are valid Products. For software specifically, SoftwareApplication is a more specific type that inherits from Product and carries additional fields Google recognizes (operatingSystem, applicationCategory). For services without a physical good, Service schema is usually a better fit than Product. AI engines treat all three similarly for intent-matching, but using the most specific type helps you qualify for category-specific rich results. Courses have their own Course schema; use that instead of Product for course listings.
Do I need GTIN, MPN, or ISBN?+
Include them when you have them — they're required for Google Merchant Center and strongly recommended for Google Shopping rich results. GTIN (Global Trade Item Number, which includes UPC, EAN, JAN, and ISBN) connects your product to a canonical entity in Google's product catalog. This is how Google knows the "Sony WH-1000XM5" on your site is the same product as on Amazon and Best Buy. AI shopping assistants use these identifiers the same way. For house-brand or private-label products without a GTIN, use MPN (Manufacturer Part Number) as a fallback. Without either, your product still works but can be misclassified as a different model.
How often should I regenerate Product schema?+
Product schema should be regenerated whenever price, availability, rating, or description changes. In practice, most e-commerce platforms generate schema dynamically from the product database on each page render, which handles this automatically. If you're hand-editing schema into CMS pages, commit to a refresh cycle: at least weekly for fast-moving catalogs, monthly for stable ones. Schema that silently falls out of date is a common cause of AI engines gradually downgrading a product — they notice when the schema says InStock and the checkout says otherwise.

Related Schema Generators

Ad