Shopify Product Schema Generator: Free Tool + Step-by-Step Instructions
The fastest way to add product schema to Shopify is to generate valid JSON-LD structured data using a free schema generator, then paste it into your theme's product template. The tool below produces a complete Product schema block - including price, availability, ratings, and brand - in under 60 seconds, with zero coding required.
Google uses Product schema to power rich results: star ratings, price badges, and availability labels that appear directly in search results. A 2024 Search Engine Land analysis found that product rich results increased click-through rates by an average of 25–30% compared to standard blue-link listings. Getting that structured data right on Shopify requires a specific implementation path - this guide covers both the generator and the exact steps to deploy it.
Free Shopify Product Schema Generator
Fill in the fields below and click Generate Schema. Copy the output and follow the installation steps in the next section.
Product Name
Product URL (canonical)
Product Image URL
Brand Name
SKU
Description (short)
Price (USD)
Currency Code
Availability
In Stock
Out of Stock
Pre-Order
Limited Availability
Aggregate Rating (optional) - Average Rating (1–5)
Review Count
Generate Schema
Your JSON-LD Output:
Your schema will appear here.
Copy to Clipboard Copied!
How to Add the Generated Schema to Your Shopify Store
Shopify stores use Liquid theme templates. The correct placement for product schema is inside the product template file - not in the page header or a blog post. Follow these 5 steps exactly.
Step 1: Copy Your Generated JSON-LD Block
After clicking Generate Schema above, click Copy to Clipboard. Your schema block starts with <script type="application/ld+json"> and ends with </script>.
Step 2: Open the Shopify Theme Editor
In your Shopify admin, go to Online Store → Themes → (your active theme) → Edit Code. This opens the Liquid code editor.
Step 3: Locate the Product Template File
In the left sidebar under Templates, find product.liquid or - in newer 2.0 themes - product.json paired with a section file such as sections/main-product.liquid. Open the Liquid file, not the JSON file.
Step 4: Paste the Schema Block
Paste your JSON-LD block at the very bottom of the template file, after all other Liquid and HTML code. This prevents it from interfering with any existing structured data Shopify injects automatically.
Step 5: Save and Validate
Click Save. Then open Google's Rich Results Test and enter your product page URL. Google confirms whether the Product schema is valid and eligible for rich results within seconds.
Static Schema vs. Dynamic Liquid Schema: Which Should You Use?
The generator above produces static JSON-LD- ideal for validating individual products or stores with a small catalog. For stores with 50+ products, consider dynamic schema that pulls values from Shopify's Liquid variables automatically.
Feature Static JSON-LD (This Generator) Dynamic Liquid Schema Setup time Under 2 minutes per product 30–60 minutes, once Scales to large catalogs No - manual per product Yes - auto-populates all products Coding required None Basic Liquid knowledge Keeps data current Requires manual update Updates automatically with product edits Best for Testing, small stores, single pages Active stores with changing inventoryDynamic Liquid Schema Snippet (Copy-Ready)
Replace the static block with this Liquid snippet if you want the schema to update automatically as you edit products in Shopify admin:
{% assign product_url = shop.url | append: product.url %}
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": {{ product.title | json }},
"url": {{ product_url | json }},
"image": {{ product.featured_image | img_url: 'master' | prepend: 'https:' | json }},
"description": {{ product.description | strip_html | truncate: 300 | json }},
"sku": {{ product.selected_or_first_available_variant.sku | json }},
"brand": {
"@type": "Brand",
"name": {{ product.vendor | json }}
},
"offers": {
"@type": "Offer",
"url": {{ product_url | json }},
"priceCurrency": {{ shop.currency | json }},
"price": {{ product.price | money_without_currency | remove: ',' | json }},
"availability": "https://schema.org/{% if product.available %}InStock{% else %}OutOfStock{% endif %}"
}
}
</script>
Common Shopify Schema Errors to Avoid
- Missing
priceValidUntil: Google recommends including this field in theOfferblock. The generator sets it to one year from today automatically. - Duplicate schema blocks: Many Shopify themes already inject basic
Productschema. Paste the generated block after all existing code, or remove the theme's default block first, to avoid conflicts. - Fake reviews in AggregateRating: Google's structured data quality guidelines require that review counts and ratings reflect actual verified reviews. Never fabricate these numbers.
- Price mismatch: The price in your schema must match the visible price on the page. Mismatches trigger a manual action in Google Search Console.
- Non-canonical URLs: Always use the product's canonical URL - the one without tracking parameters - in the
urlandoffers.urlfields.
Frequently Asked Questions
Does Shopify automatically add product schema?
Most Shopify themes inject a basic Product schema block, but it frequently omits key fields like aggregateRating, sku, and priceValidUntil that Google uses to qualify pages for full rich results. Using a generator to add a complete, validated block gives you direct control over every required field.
Is this product schema generator really free?
Yes. The generator on this page runs entirely in your browser - no account, no email, and no data is sent to any server. Generate, copy, and use the output with no cost or registration.
What is the difference between JSON-LD and Microdata for Shopify product schema?
JSON-LD is a standalone <script> block you insert anywhere in the page - Google recommends it because it doesn't require modifying existing HTML. Microdata embeds schema attributes directly inside your product HTML elements and is significantly harder to maintain in Shopify's Liquid templates. Use JSON-LD for all new Shopify implementations.
How long does it take for Google to show rich results after I add product schema?
Google typically recrawls and reprocesses updated pages within 3–14 days, depending on your site's crawl budget and domain authority. Validate immediately with the Rich Results Test, then monitor Search Console → Enhancements → Products for indexed status.
Can I use this schema generator for products on platforms other than Shopify?
Yes. The generated JSON-LD output is platform-agnostic. The same block works on WooCommerce, BigCommerce, Squarespace, and custom HTML sites. The installation location differs by platform - on WordPress/WooCommerce, paste it into the single product template (single-product.php) or use a header/footer plugin to inject it conditionally on product pages only.
