Product Schema Generator – a product schema generator

The Product Schema Generator helps you collect structured data for a product page and generate ready-made JSON-LD without manually coding. You can enter the name, description, image, brand, price, currency, availability, product IDs, rating, and other data already on the page into the form.

The product name exactly as it appears on the page.

De'Longhi Magnifica S coffee machine

Imagerequired

One full image address per line.

https://seo-gen.com.ua/media/magnifica-s-front.jpg https://seo-gen.com.ua/media/magnifica-s-side.jpg

The number only, without the currency: 1250.00.

18990

An automatic coffee machine with a manual milk frother, burr grinder and removable brewing unit.

De'Longhi

DL-ECAM22110B

The full address of this page — with http:// or https://.

https://seo-gen.com.ua/en/shop/kavomashyna-delonghi-magnifica-s/

More

The manufacturer code — the one printed on the product.

ECAM22.110.B

The product barcode: 8, 12, 13 or 14 digits.

8004399325456

2026-12-31

The average score on a 0–5 scale.

4.8

How many reviews the page really has. Do not invent it: Google checks.

127

Ready code

The code appears as soon as the required fields are filled in: it will hold no empty values and no invented placeholders

Check before publishing

  • A required field is empty: Name
  • A required field is empty: Image
  • A required field is empty: Price
  • Google recommends filling in: Description
  • Google recommends filling in: Brand
  • Google recommends filling in: Store code (SKU)
  • Google recommends filling in: Website address

Where to paste it

The code goes into the page head section or into the schema field of your CMS. Valid code does not guarantee a rich snippet — it only allows one.

What to do next

Send a requestOur service: website promotion

How does Product Schema Generator work?

This product markup generator will be useful for online stores, SEO specialists, and developers who need to prepare a valid Product object and related Offer properties. The resulting code should be verified before publication and maintained up-to-date, along with the product data itself.

The generator is built around specific product data. The user fills in the available fields, after which the service assembles the Schema.org structure and displays the resulting JSON-LD code. This code can be verified, copied, and shared with the developer, or added to the card template via the CMS.

The typical work scheme looks like this:

Product Card → Product → Offer → JSON-LD → Check → Publish

An online product schema generator reduces manual work, especially when the markup contains nested entities. The quality of the result depends on the source data: the generator shouldn't add fictitious prices, ratings, or characteristics to the product schema.

What information do I need to provide?

The minimum set depends on the markup usage scenario and search engine requirements. Typically, they start with the product name, image, and offer details, followed by the description, brand, identifiers, rating, reviews, delivery, and return policies.

The data in the structured data must match the page content. If a customer sees one price or availability status, but the product structured data conveys a different value, the markup contains inconsistent information.

Product Basic Data

The Product object typically includes a name, description, image, and brand. The product is also identified by its sku, mpn, and one of the supported gtin variants, if such identifiers exist for a specific item.

The product image field should point to an image of the product being tagged. The name, description, and brand are also taken from the actual product card so that the search engine can match the page's HTML content with JSON-LD.

Price, currency and availability

Commercial data is transmitted through the Offer. This section specifies the price, priceCurrency, availability, offer URL, and, if necessary, the itemCondition. This section describes the conditions under which a user can purchase a specific product.

The price is transmitted as a number, and the currency is written separately as a three-letter code. For example, for an item priced at 20,000 hryvnias, the price would be 20000, and the priceCurrency would be UAH.

Common errors in product microdata

Most Product Schema issues stem from discrepancies between the JSON-LD and the product card itself. Syntactically correct code doesn't correct an incorrect price, a fictitious rating, or an incorrect ID.

Therefore, it's necessary to check both the structure and the source data. This approach reduces the risk of conflicting signals when crawling the page again.

Price or availability does not match the page

If a card displays a new price, the markup should also be updated. The same rule applies to availability, status, and other changeable offer conditions.

At large stores, such discrepancies often arise after manual edits. Automatically extracting data from a single data source helps avoid such situations.

Added non-existent ratings and reviews

AggregateRating, ratingValue, reviewCount, and individual reviews must be based on real data. Filling them out for the sake of search results stars without actual user ratings is not allowed.

Reviews must also be specific to the product being reviewed. Ratings for other models or the store's overall rating should not be transferred to the product of a specific product card.

No priceCurrency

Price alone isn't enough to accurately describe a commercial proposal. Currency is passed through a separate priceCurrency property, so the value must be entered along with price.

Use the ISO currency code, such as UAH, USD, or EUR. Do not include the symbols "₴", "$", or "€" within the price value.

Incorrect URL or image used

The offer URL must point to the corresponding product page. The image link must also be accessible and relevant to the item being marked up.

After changing your domain or directory structure, it's worth rechecking these values. Old URLs within JSON-LD may persist longer than expected from a simple page view.

There are several conflicting Products on the page.

Multiple Product blocks are only permitted when the page structure truly requires such a description and the entities are clearly defined. Duplicates with different prices or availability create conflicting data.

This situation often arises after using multiple SEO plugins. Before implementing a new block, you should check the source HTML and remove unnecessary duplicates.

JSON-LD is not updated with the product card

Static markup quickly becomes outdated if a store regularly changes prices and inventory. For product pages, such discrepancies are especially noticeable to search engines.

For mass implementation, it's best to generate JSON-LD from current CMS data. Then, changes to the card are automatically reflected in the structured data.

How to use the product microdata generator?

The Product Schema generator is designed for sequential data entry. First, you enter the product properties, then the offer information, and any additional fields that actually appear on the card.

The ecommerce product schema generator is especially useful when preparing a standard structure for a new online store. Once the schema is approved, the developer can automate the extraction of the same properties from the CMS database.

01

Fill in the product details

Start with the name, description, image, and brand. Then add the SKU, MPN, or GTIN if the store uses these identifiers and they apply specifically to the selected product.

There's no need to fill out every field just to make JSON-LD longer. Useful markup contains validated data that can be matched to the product card.

02

Add the sentence data

Specify the price, currency code, availability, product condition, and the purchase page address. The InStock status indicates an available item, while OutOfStock is used when the item is temporarily out of stock.

When prices or inventory changes, these values also need to be updated. For an online store with frequent changes, it's best to link the Offer to the current catalog data.

03

Add Additional Properties

If you have real data, you can add ratings, reviews, shipping, returns, color, size, and other properties. This approach provides a more complete product description without filling in unnecessary fields.

A product structured data generator should create a structure from user-entered values. It should not invent ratings, prices, brands, or characteristics for missing products.

04

Generate JSON-LD

After filling out the product form, the json ld generator assembles a ready-made object with @context, @type, and the selected properties. The user receives the code, which can be previewed before adding it to the website.

Before copying, check that the Product and Offer are linked correctly. Pay special attention to the price numeric format, currency, image URL, and product IDs.

05

Copy and check the code

The completed JSON-LD should be validated using Google Rich Results Test and Schema Markup Validator. The former helps identify errors related to supported Google features, while the latter is suitable for validating the Schema.org structure.

After verification, the code can be added to the product page. For mass implementation, it's best to transfer the structure to a template and automatically populate the values for each product.

What we actually did

Dental clinic · Kyiv and Chernihiv

+44% clicks from search

A domain with no history on a website builder. We built the semantic core for both cities, reworked the landing pages and built the link profile from zero. Four months: 34.8k clicks, impressions 1.32 → 1.76M, DR 0 → 41.

E-commerce · international

+96% clicks in two months

A catalog of digital 3D models. We clustered the semantics, rebuilt the hub pages and closed duplicates and indexing errors. Google users 247 → 532, CTR 2.4% → 4%.

Medical center · Ukraine

+68.75% visibility in the first month

Narrow visibility and a small semantic core at the start. Semantics, landing page structure, metadata and internal linking, then gradual link building.

Answers to your questions

What is Product Schema Generator?

Product Schema Generator is an online service for preparing structured product data in JSON-LD format. The user enters information from the product card, and the service generates a ready-made Product structure with the necessary additional objects.

This product markup generator is suitable for one-time customization and template preparation before mass deployment. The generated code should be verified before publication.

What data is needed to generate a Product Schema?

The basis is the product name, image, and commercial offer details. Additionally, you can provide the description, brand, SKU, MPN, GTIN, price, currency, availability, product condition, rating, and reviews.

Only existing data should be entered. If a property isn't present on the page or in the catalog, there's no need to create one for microdata.

Where to insert Product JSON-LD?

The completed JSON-LD is placed in the HTML of the product page within a dedicated script block. The specific implementation method depends on the CMS, template, and project architecture.

For a few cards, the code can be added manually. For a large e-commerce catalog, it's more practical to generate it automatically from the product database.

What is the difference between a Product and an Offer?

The Product contains information about the product itself: name, image, brand, identifiers, and other characteristics. The Offer describes the terms of the seller's specific offer.

Offers typically pass price, currency, availability, purchase status, and URL. Therefore, these entities are often used together in a single JSON-LD.

Can I use Product Schema Generator for Shopify?

Yes, the generated structure can be used when setting up Shopify cards. Before bulk installation, you need to map the values to actual product fields so that the price and inventory are updated automatically.

The same principle applies to WooCommerce and native CMSs. The technical implementation differs, but the product structure remains the same.

Is it possible to add ratings and reviews?

Yes, if the rating and reviews are specific to the product and are available to users on the product page. AggregateRating is used for the overall rating, and individual reviews can be submitted via review.

Fake data cannot be used. Rating and review count values must match what the card visitor sees.

How to mark product colors and sizes?

For related variants, you can use ProductGroup and individual Products. Differences in color, size, material, or other supported characteristics are described using the corresponding properties.

If a variant has its own SKU, GTIN, price, or availability, these values are passed to the specific item. This structure helps maintain the connection between the overall model and its variants.

Does Product Schema guarantee a rich snippet?

No, correct markup doesn't guarantee rich snippets will be displayed. It conveys structured data and can make the page suitable for supported search formats.

The decision to display an expanded result is made by the search engine. Therefore, evaluating implementation solely based on the appearance of additional snippet elements is inaccurate.

How to check generated microdata?

First, validate the JSON-LD using Google Rich Results Test and Schema Markup Validator. After publishing, use Google Search Console and URL Inspection to see the page processed by the search engine robot.

For large catalogs, this check should be repeated after template changes. Price, availability, variants, shipping details, and MerchantReturnPolicy require separate monitoring.

The Product Schema Generator helps you quickly assemble JSON-LD for a product, validate the Product and Offer structure, and prepare code for implementation. The best results are achieved when all values are taken directly from the product card and updated along with price, availability, rating, and other data.

Fill in the product details, generate JSON-LD, and validate the result before publishing. For a large catalog, use the pre-built structure as the basis for automatically outputting the Product Schema from the CMS.

We reply within one business day. No newsletters, no “just a reminder” calls.

Gennadii, Lead SEO Specialist, Seo-Gen
He will look at the site himself instead of passing it to a manager.
Who will answer: Gennadii
Lead SEO Specialist, Seo-Gen

More on: Product Schema Generator – a product schema generator

What is Product Schema and JSON-LD?

Product Schema is a set of structured data from Schema.org that describes a product in a search engine-friendly format. The markup helps associate the name, image, brand, price, availability, identifiers, rating, and commercial offer with a single product entity.

JSON-LD is used as one of the formats for transmitting such data. The code is placed within the HTML page and is read by search engines separately from the card's visual markup, eliminating the need for the developer to add Schema.org properties directly to each HTML element.

Why does an online store need product microdata?

Product microdata helps search engines more accurately identify the product featured on the page and the associated commercial data. Price, availability, rating, image, and offer data are given explicit values that are easier to process automatically.

Correct product markup can make a page suitable for Google-supported rich formats, including product snippets and merchant listings. Valid markup alone does not guarantee rich results: the final decision on the result's appearance remains with the search engine.

What is the difference between a Product and an Offer?

Product describes the product itself: its name, brand, image, characteristics, and identifiers. Offer refers to a specific commercial offer and contains the price, currency, availability, product condition, and the URL where it can be purchased.

For a product with a single price, a nested Offer is usually sufficient. If a page describes multiple offers from different sellers or a range of prices, AggregateOffer can be used in a suitable scenario.

What Product Schema properties need to be filled in?

The set of properties is selected based on the actual product data and the search display scenario. Most product cards are based on the name, image, and commercial offer, followed by the brand, identifiers, and additional characteristics.

A short table helps to separate the purpose of the main properties:

PropertyWhat does it convey?Example
nameProduct nameWireless headphones X1
brandBrand or manufacturerExample Brand
skuInternal store codeX1-BLK
gtinGlobal identifier1234567890123
priceNumerical price20,000
priceCurrencyCurrency codeUAH
availabilityProduct availabilityInStock
aggregateRatingOverall assessment4.8

The product markup generator simplifies filling out these fields, but the resulting structure still needs to be compared with the card's contents. An error in the original values will also be present in the automatically generated code.

Title, image and description

The name in the markup must match the product the user sees on the page. The image must also be relevant to this item and open at a search engine-accessible URL.

The description can be taken from the product card without artificially adding search queries. The markup is intended to convey the essence, so the accuracy of the source data is valued here.

SKU, MPN, and GTIN

SKUs are typically created by the retailer for internal accounting purposes. MPNs are assigned by the manufacturer, while GTINs are global product identifiers, so these values serve different purposes and should not be interchanged.

If a product doesn't have a verified MPN or GTIN, there's no need to create one. For a catalog, it's more useful to leave an optional field blank than to provide a false identifier to a search engine.

Availability and product condition

The availability property indicates the current availability of a product. Available items are designated as InStock, out-of-stock items are designated as OutOfStock, and pre-order items have separate Schema.org values.

The condition of an item is described separately using itemCondition. If a store sells new and used items, the value should correspond to the specific offer.

Price and priceCurrency

The price in Schema is transmitted as a number without any currency designation within the value itself. The currency is recorded separately via priceCurrency, using the appropriate three-letter code.

For example, the entry "20,000 UAH" should be split into price: 20000 and priceCurrency: UAH. This format is easier for the system to process and easier to support when automatically outputting data.

How to mark up variants of a single product?

Clothing, footwear, furniture, appliances, and other products often vary in color, size, material, or configuration. In such a catalog, search engines need to be able to see the relationship between the general model and the individual variants.

Schema.org provides ProductGroup for this purpose. Google supports the association of ProductGroup and Product with variesBy, hasVariant, and productGroupID when individual items belong to the same variant group.

When to use ProductGroup?

A ProductGroup is suitable for a single model that has variants based on specific characteristics. For example, a single T-shirt can be sold in several sizes and colors, with each combination remaining a variant of the original model.

VariesBy allows you to specify the difference characteristic, and hasVariant links the group to individual Products. ProductGroupID can also be used for the group if the catalog supports this logic.

Do you need separate data for each option?

If variants have different SKUs, GTINs, images, prices, or availability, the corresponding values must be passed for each specific item. This is especially important when a user can access a variant from a separate URL.

Price and availability must match the selected option. Identical values can be derived from the model's general data, while variable characteristics should be displayed at the individual Product level.

Where to place Product JSON-LD on the website?

JSON-LD is added to product page HTML within the element. For stable indexing of commercial data, it's desirable for search engines to receive up-to-date markup along with the page and not rely on unnecessary user interactions.

Canonical URLs, price, availability, and product data must be consistent. If a site generates multiple versions of a single product card, the developer must determine in advance which page is considered the primary one.

Product Schema for Shopify and other CMS

Product Schema can be implemented in Shopify, WooCommerce, your own CMS, or an SSR website. The method for obtaining values varies, but the underlying logic for Product and Offer remains the same.

For a few cards, it's acceptable to generate code using a product schema generator. For a large store, it's better to programmatically derive the same structure from the product fields to avoid manually editing hundreds of JSON-LD blocks.

Is it possible to generate Schema automatically?

Yes, for a catalog, automatic generation is usually more convenient than manually filling out each card. The CMS can pull the name, image, SKU, price, currency, and availability directly from the product database.

How to validate Product Schema after generation?

Even a correctly populated product structured data generator requires a final check of the result. An error could be in the URL, a numeric value, the structure of a nested object, or passing a property that doesn't match the page.

Checking Schema before publishing takes less time than troubleshooting errors after a site re-crawl. It's convenient to use multiple tools for this purpose, as they each address different needs.

Google Rich Results Test

The Google Rich Results Test shows whether the system recognizes structured data and whether there are any critical errors for the supported result type. It's a convenient way to check the resulting JSON-LD before mass deployment.

Warnings and errors carry different weights. Critical errors must be corrected, while recommendations should be assessed based on the presence of relevant data on the page itself.

Validation via Schema Markup Validator

The Schema Markup Validator validates the structure and properties of the Schema.org vocabulary. This markup validator is useful when you need to validate the object itself, regardless of the requirements of a specific search result.

Using both tools together provides a clearer picture. Schema.org validation is responsible for the structure, while Google separately evaluates the requirements of its own rich snippets and merchant listings.

Post-publication review

After implementation, the page can be checked using URL Inspection and Google Search Console reports. This shows which version of the page Google retrieved and whether the added structured data was detected.

For a large catalog, it's best to monitor errors regularly. Price, availability, shipping, returns, and variant data become out of date particularly quickly.

How can Product Schema change search results?

When implemented correctly, product markup provides search engines with additional information about the product and can make the page suitable for advanced search results. Depending on the supported format, price, availability, rating, delivery, and other offer data can be used.

Rich results and Google Shopping operate according to their own requirements, so Product Schema doesn't guarantee the specific appearance of a snippet. The Product Schema generator solves a technical problem: it helps collect correct data, which is then verified and published on the product page.

Rating and reviews

If the card actually contains customer ratings, the markup can be supplemented with aggregateRating. It uses the ratingValue and reviewCount properties, which should correspond to the visible rating and the actual number of ratings.

Individual reviews can be described using the "review" tag if they actually appear on the page. Adding fictitious reviews, ratings, or AggregateRating tags for the sake of a rich snippet is prohibited, as the markup must reflect the page's content.

Delivery and returns

ShippingDetails and MerchantReturnPolicy can be used to provide a more detailed description of an offer. This information helps convey delivery terms, shipping costs, and return policies and times, if the store knows this information.

In a large catalog, it's best to obtain such values from a single data source. Manually updating hundreds of cards quickly leads to situations where the page conditions have changed, but the JSON-LD remains the same.