Product schema markup — the structured data that earns clicks
Published on 12 Jul 2026 · 4 min read · Updated on 28 Jul 2026
Search for any product on Google and look at the results: some show the price, the availability and review stars right there in the results page; the others make do with a blue link. The first group takes the click. That difference comes from neither budget nor site size: it comes from structured data — a few lines of code that half of all stores still have not put in place.
What structured data is, without the jargon
Structured data is a translation of your page into machine language. Your product page tells humans "GREEN FILTER cold air intake kit — £202 — In stock"; Schema.org markup says exactly the same thing to Google, but in a standard format it can read without guessing:
Product: the name, the image, the brand, the reference;Offer: the price, the currency, the availability;AggregateRating: the average score and the number of reviews.
Google uses it to enrich your search results — the famous rich snippets — and, increasingly, to feed its shopping surfaces. Without markup you leave the algorithm to guess; with it, you dictate.
What it actually earns you
Let us be precise about what structured data does and does not do:
- It does not directly improve your ranking. Google has said so repeatedly: it is not a ranking factor.
- It raises the click-through rate. A result with price, stock and stars takes up more room and inspires more confidence. The CTR gains observed on rich results are counted in tens of percent, relative — at the same ranking position.
- It qualifies the click. Someone who saw "£202 — In stock" before clicking does not bounce over the price: the traffic is cleaner, the bounce rate drops.
- It is the entry ticket to Google's product surfaces (the free Shopping tab, enriched listings), which weigh more and more in the buying journey.
In other words: at equal ranking, the marked-up store eats the silent store's click. The same mechanism already at work on your title and meta description tags — the results page is a shop window, so take up room in it.
Where PrestaShop stands
Good news: recent PrestaShop themes (1.7 and up) ship basic Product markup — name, price, availability — through the theme's microdata. Check it rather than assume it: paste a product URL into Google's rich results test and look at what comes back.
The classic gaps that test reveals:
- No marked-up reviews (
aggregateRatingmissing) even though the store displays ratings — often because the review module emits no markup of its own. priceValidUntilanditemConditionmissing: harmless warnings, but easy to fill in.- No markup at all on old 1.6 themes: there, everything has to be added, usually through a module.
- An unmarked blog: articles deserve their
BlogPosting(title, date, author, image) — which is what the Publium module generates for every published article, structured data included.
On 1.6 stores still in production — there are many, and we devoted a dedicated article to them — markup is often the project with the best effort-to-impact ratio.
Putting it in place, in priority order
1. Validate what exists (30 minutes)
Test three representative product pages in Google's tool. Note what is detected, the warnings, the errors. Search Console (the "Enhancements" report) then gives you the whole-site view.
2. Complete the product markup (half a day)
Depending on your theme: switch on the microdata options, fix the template, or install a dedicated module. The fields that matter, in order: name, image, offers.price plus priceCurrency, offers.availability, brand, sku. The recommended format today is JSON-LD, more readable and more robust than microdata inside the HTML.
3. Mark up reviews — honestly
If you collect reviews, expose them as aggregateRating. Two absolute rules: mark up only real reviews that are visible on the page (Google cross-checks), and never an invented score. A penalty for misleading markup very much does exist.
4. Do not forget the content
BlogPosting for articles, BreadcrumbList for breadcrumbs, FAQPage if your product pages have a questions section. Every marked-up type is a chance to take more room in the results page.
Traps to avoid
- Marking up what is not displayed. Google's golden rule: structured data describes visible content. A marked-up price different from the displayed price gets flagged.
- Letting prices drift. Static markup plus dynamic prices equals inconsistency. The markup has to be generated from the same data as the page — which is why it must come from the theme or a module, never from a frozen copy-paste.
- Marking up everything with no hierarchy. Start with
Producton product pages. The rest is refinement.
The five-minute test
Take your best seller. Paste its URL into the rich results test. If the result shows "Product" with price and availability detected: good, move on to reviews. If it shows nothing: you have just found your next SEO project — the one whose return is visible directly in Google's shop window, without waiting to gain a single position. And so the page behind the click lives up to the promise, the product description generator handles the text while the markup handles the machine.
