Structured data is additional markup in a page's code that tells the search engine, in a language it understands, what the page represents: that it is a product, what its price is, whether it is in stock, how it is rated, and what the shipping and return terms are. The search engine does not show this data to the visitor directly, but uses it for a richer display of your result in the listings, and increasingly to understand your page at all and cite it in answers generated by artificial intelligence. Below is how structured data helps, which types matter for a store, how to avoid the most common mistakes, and how to set it up.
What structured data is
It is a standardised vocabulary, Schema.org, that all major search engines understand. The recommended format is JSON-LD - a self-contained block of data in the page's code, separate from the visible content, that is simple to add and maintain. For the best effect it should be included in the page's initial HTML. It is important to understand that structured data on its own does not raise rankings - Google states this explicitly and repeatedly. What it does is make the page eligible for a rich display, and give it an advantage in being correctly understood by the search engine and by AI assistants. The effect is therefore indirect: the same ranking, but noticeably more clicks.
Why it pays off: clicks and AI visibility
With correct markup your result can show rating stars, the price, an availability label, and shipping and return details - all before the visitor clicks. Such a result stands out among plain listings; measurements show typically around 30 percent higher click-through for pages with rich results. An increasingly important second role: AI Overviews and assistants such as ChatGPT, Gemini, and Perplexity rely heavily on structured data when citing sources. Pages with valid JSON-LD have a markedly greater chance of being cited - often the difference between being cited and being invisible.
Which types matter for a store
- Product with an included Offer (price, currency, availability, condition) and ideally AggregateRating or Review; add identifiers SKU, GTIN, or MPN so the product is recognised.
- BreadcrumbList to show the path to the page in the result.
- Organization with company details, logo, and links to profiles - also the basis for the new shipping and return data.
For a rich result the markup must contain at least the product name and one of: price, rating (aggregateRating), or review. The combination of Product, Offer, and ratings triggers the most noticeable display, since it adds the price and stars - the signals that most influence the decision to click on shopping searches.
New: shipping and returns in the markup
At the end of 2025 Google made it possible for every store to share its shipping and return terms, not only those with a Merchant Center account. There are two paths: entering them directly in Google Search Console, or markup at the organisation level (OfferShippingDetails for the cost and delivery time, MerchantReturnPolicy for the window and cost of returns). The result can then show free shipping, the delivery time, or favourable return terms - strong arguments just before the click.
Correctness is key - and common mistakes
A rich result requires certain mandatory properties. If any is missing or wrong, the search engine does not show a trimmed result but omits the entire rich display. The most common mistakes:
- Price mismatch: the price in the markup must match the visible price on the page, written as a number without a currency symbol.
- Invalid values: wrong availability labels, dates outside the YYYY-MM-DD format, or text instead of a number.
- Broken images: the image URL must open and point to the actual product image.
- Fabricated reviews: ratings must be genuine, with real authors and dates; most platforms show stars only from about three reviews onward. Fabricated or editorial reviews are a policy violation and can lead to a manual penalty.
- Duplicate markup: no multiple Product entries for the same product; with several products on a page, distinguish each with an identifier (SKU or GTIN).
The rule behind all of them: the markup must match what the visitor actually sees on the page. Mark up only what is truly present.
How to set it up in Magento
Magento's default theme (Luma) adds only basic markup in microdata format and often without key properties such as availability, the offer, reviews, and shipping - which is not enough for all rich results. For reliable Product schema in JSON-LD with Offer and ratings, BreadcrumbList, Organization, and shipping and return data, a dedicated module or a theme customisation is usually required. Such a module adds the structured data to product, category, and content pages automatically, fills it from the product on the fly (price, stock, ratings) so the markup needs no manual upkeep, and inserts it into the initial HTML. After enabling it, check a few representative pages with the official Rich Results Test and the Schema Markup Validator.
How to measure whether it works
In Google Search Console track the enhancement reports (Product snippets, Merchant listings, Breadcrumbs): they show how many pages are valid and where the errors are that need fixing. In parallel watch the click-through on product pages - once stars, the price, and shipping appear in the result, it typically rises. The goal is not only that the markup is valid, but that the rich display actually appears and brings more clicks at the same ranking, and more citations in AI answers.
