{"id":31492,"date":"2026-10-26T20:55:58","date_gmt":"2026-10-26T19:55:58","guid":{"rendered":"https:\/\/wooacademy.sk\/produkt\/product-schema-google-shopping\/"},"modified":"2026-10-26T21:11:04","modified_gmt":"2026-10-26T20:11:04","slug":"product-schema-google-shopping","status":"publish","type":"product","link":"https:\/\/wooacademy.sk\/en\/produkt\/product-schema-google-shopping\/","title":{"rendered":"Product Schema for Google Shopping (Shipping, Returns, GTIN)"},"content":{"rendered":"<div class=\"wa-seo\">\n<p class=\"wa-lead\"><strong>Product schema for Google Shopping means your products will have all the structured data Google needs to show price, availability, shipping and returns directly in search results and the Shopping tab.<\/strong> Most online stores only have half of it from a plugin or theme, and Search Console keeps warning about &#8220;Missing field shippingDetails&#8221; or &#8220;hasMerchantReturnPolicy&#8221;. I fix it once and properly. WooCommerce from \u20ac290.<\/p>\n<ul class=\"wa-facts\">\n<li>WooCommerce: \u20ac290<\/li>\n<li>Large store \/ other platform: \u20ac590<\/li>\n<li>Price, availability, GTIN, brand<\/li>\n<li>Shipping and return policy<\/li>\n<li>No Search Console warnings<\/li>\n<li>Done within 5 business days<\/li>\n<\/ul>\n<div class=\"wa-btns\"><a class=\"wa-btn\" href=\"https:\/\/wooacademy.sk\/kontakt\/\">Check my product schema<\/a><a class=\"wa-btn o\" href=\"tel:+421940634491\">+421 940 634 491<\/a><\/div>\n<h2>Why online stores are missing proper product schema<em>?<\/em><\/h2>\n<p><strong>Google wants more from online stores&#8217; structured data than just a price and a name.<\/strong> For shopping results and free merchant listings it also looks at shipping, returns, GTIN and availability. This is what I see on online stores most often:<\/p>\n<div class=\"wa-3 wa-swipe\">\n<div class=\"wa-card\">\n<h3>No shipping or returns<\/h3>\n<p>Search Console warns on every product. Google doesn&#8217;t know the shipping cost or the return conditions.<\/p>\n<\/div>\n<div class=\"wa-card\">\n<h3>Two schemas at once<\/h3>\n<p>Both the theme and the SEO plugin output Product schema, each with a different price or availability. Google doesn&#8217;t know which to trust.<\/p>\n<\/div>\n<div class=\"wa-card\">\n<h3>Price without VAT or an old price<\/h3>\n<p>The schema shows a different price than the page, or a sale that has ended. Google may withdraw the rich result.<\/p>\n<\/div>\n<div class=\"wa-card\">\n<h3>Variants as one product<\/h3>\n<p>A T-shirt in 5 sizes and 3 colors has one schema without variants. Google can&#8217;t tell which size is in stock.<\/p>\n<\/div>\n<div class=\"wa-card\">\n<h3>Made-up ratings<\/h3>\n<p>Stars in the schema that aren&#8217;t on the page. A policy violation that can lead to a manual action.<\/p>\n<\/div>\n<div class=\"wa-card\">\n<h3>No GTIN or brand<\/h3>\n<p>Without an EAN and brand, Google has a harder time matching the product with other offers and shopping results.<\/p>\n<\/div>\n<\/div>\n<p class=\"wa-mt\"><strong>What others get wrong:<\/strong> they install yet another schema plugin, so the page suddenly has three different Product schemas. Or they add ratings that aren&#8217;t visible on the page. The right approach is one schema that exactly matches what the customer sees.<\/p>\n<h2>What I do for product schema<\/h2>\n<div class=\"wa-4 wa-swipe\">\n<div class=\"wa-card c\"><span class=\"wa-n\">1<\/span><\/p>\n<h3>Current schema review<\/h3>\n<p>What the theme, SEO plugin and other add-ons output, where there are duplicates and conflicts with the page content.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">2<\/span><\/p>\n<h3>One clean schema<\/h3>\n<p>I remove duplicate output and keep one source, such as Rank Math or WooCommerce, configured correctly.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">3<\/span><\/p>\n<h3>Price and availability<\/h3>\n<p>Price incl. VAT, currency, priceValidUntil for sales, in stock \/ backorder \/ sold out consistent with the page.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">4<\/span><\/p>\n<h3>Shipping<\/h3>\n<p>shippingDetails: shipping rates and delivery times for Slovakia, the Czech Republic or other countries.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">5<\/span><\/p>\n<h3>Returns<\/h3>\n<p>hasMerchantReturnPolicy: return window and method according to your terms, at product or organization level.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">6<\/span><\/p>\n<h3>GTIN, brand, variants<\/h3>\n<p>EAN, MPN and brand from product fields, variants via ProductGroup so Google sees sizes and colors.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">7<\/span><\/p>\n<h3>Only real ratings<\/h3>\n<p>If you have product reviews, I connect them to the schema. If not, nothing made-up goes in.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">8<\/span><\/p>\n<h3>Verification<\/h3>\n<p>Testing in the validator and Search Console (Merchant listings, Product snippets) and requesting validation.<\/p>\n<\/div>\n<\/div>\n<div class=\"wa-4 wa-sh wa-mt wa-swipe wa-swipe-s\">\n<div class=\"wa-v s\"><iframe width=\"315\" height=\"560\" loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/3nOEc6stcTw\" title=\"Position 1 on Google and no clicks or orders\" allow=\"accelerometer; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div>\n<div class=\"wa-v s\"><iframe width=\"315\" height=\"560\" loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/ijqJnrY5MzA\" title=\"How to check your search rankings for free\" allow=\"accelerometer; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div>\n<div class=\"wa-v s\"><iframe width=\"315\" height=\"560\" loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/bhmVWiqSuxQ\" title=\"Did I outrank you on Google and in AI? Proof your SEO and GEO aren&#x27;t working\" allow=\"accelerometer; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div>\n<div class=\"wa-v s\"><iframe width=\"315\" height=\"560\" loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/YBS-TqkM62I\" title=\"SEO CMS - which CMS is best for SEO? (Why WordPress wins)\" allow=\"accelerometer; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div>\n<\/div>\n<p class=\"wa-mt\">The videos are in Slovak; YouTube can show automatic English subtitles.<\/p>\n<h2>Product schema setup pricing<\/h2>\n<table class=\"wa-tbl\">\n<thead>\n<tr>\n<th>Package<\/th>\n<th>Who it&#8217;s for<\/th>\n<th>Price<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"hl\">\n<td data-label=\"Package\"><strong>WooCommerce store<\/strong><\/td>\n<td data-label=\"Who it's for\">WooCommerce store in one language and currency. Review, clean schema, shipping, returns, GTIN, brand and Search Console verification. Most popular.<\/td>\n<td data-label=\"Price\">\u20ac290<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Package\"><strong>Large \/ multilingual store or other platform<\/strong><\/td>\n<td data-label=\"Who it's for\">Multiple languages or currencies, complex variants, Shoptet or a custom platform. For Shoptet and custom builds you also get an exact developer brief with a code example.<\/td>\n<td data-label=\"Price\">\u20ac590<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"wa-mt\">Prices are final; we are not VAT registered. Done within 5 business days of receiving access. On Shoptet, part of the schema is set by the platform; I add what&#8217;s possible via settings and HTML snippets and write up the rest as a request.<\/p>\n<div class=\"wa-tip\"><strong class=\"t\">\u2b50 What&#8217;s not included<\/strong>Filling in missing EANs and brands for hundreds of products (if they&#8217;re not in your system) and a Google Merchant Center feed. If you also want free listings in Merchant Center, there&#8217;s the <a href=\"https:\/\/wooacademy.sk\/produkt\/free-organic-seo-merchant-pre-ai-a-geo-aeo\/\">organic merchant for AI and GEO<\/a> service. Schema for your organization, articles and FAQs is covered by <a href=\"https:\/\/wooacademy.sk\/produkt\/aktivacia-json-ld-schema-schema-strukturovanych-dat-pre-ai-seo-aeo-geo\/\">JSON-LD schema activation<\/a> (both in Slovak).<\/div>\n<div class=\"wa-split wa-mt\">\n<div>\n<h2 class=\"wa-h2top\">How it works<\/h2>\n<p><strong>Short, precise work over a few days.<\/strong> I need access to your admin and Search Console, plus your terms (shipping, returns).<\/p>\n<\/div>\n<div class=\"wa-v\"><iframe width=\"560\" height=\"315\" loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/CWYjhwTYtg4\" title=\"What is the first step in search engine optimization\" allow=\"accelerometer; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div>\n<\/div>\n<div class=\"wa-3 wa-steps\">\n<div class=\"wa-card\">\n<p><span class=\"wa-n\">1<\/span><\/p>\n<p><strong>Review (day 1).<\/strong> I check the schema on a sample of products, variants and Search Console reports, and send a list of issues.<\/p>\n<\/div>\n<div class=\"wa-card\">\n<p><span class=\"wa-n\">2<\/span><\/p>\n<p><strong>Setup (days 2 to 4).<\/strong> One clean schema, shipping, returns, GTIN, brand, variants, connecting reviews.<\/p>\n<\/div>\n<div class=\"wa-card\">\n<p><span class=\"wa-n\">3<\/span><\/p>\n<p><strong>Verification (day 5).<\/strong> Validator, Search Console test, validation request. After 30 days I check that the warnings are gone.<\/p>\n<\/div>\n<\/div>\n<h2>What you get on top<\/h2>\n<div class=\"wa-3\">\n<div class=\"wa-card c\"><span class=\"wa-n\">1<\/span><\/p>\n<h3>Free check of 3 products<\/h3>\n<p>Send 3 product links and within one business day I&#8217;ll tell you what&#8217;s missing or wrong in their schema.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">2<\/span><\/p>\n<h3>30-day follow-up<\/h3>\n<p>I verify that Search Console no longer warns and products appear in shopping results.<\/p>\n<\/div>\n<div class=\"wa-card c\"><span class=\"wa-n\">3<\/span><\/p>\n<h3>Guide for new products<\/h3>\n<p>A short guide for your admin on which fields to fill in so new products have correct schema.<\/p>\n<\/div>\n<\/div>\n<h2>Related services<\/h2>\n<table class=\"wa-tbl\">\n<thead>\n<tr>\n<th>Service<\/th>\n<th>When it fits<\/th>\n<th>Price<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"hl\">\n<td data-label=\"Service\"><strong>Product schema for Google Shopping<\/strong><\/td>\n<td data-label=\"When it fits\">Search Console reports product schema issues<\/td>\n<td data-label=\"Price\">from \u20ac290<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Service\"><a href=\"https:\/\/wooacademy.sk\/en\/produkt\/faceted-navigation-seo\/\">Faceted navigation SEO<\/a><\/td>\n<td data-label=\"When it fits\">You want filter landing pages that rank<\/td>\n<td data-label=\"Price\">from \u20ac690<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Service\"><a href=\"https:\/\/wooacademy.sk\/en\/produkt\/shoptet-seo-setup\/\">Shoptet SEO setup<\/a><\/td>\n<td data-label=\"When it fits\">You&#8217;re handling all SEO on Shoptet<\/td>\n<td data-label=\"Price\">from \u20ac490<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Service\"><a href=\"https:\/\/wooacademy.sk\/produkt\/aktivacia-json-ld-schema-schema-strukturovanych-dat-pre-ai-seo-aeo-geo\/\">JSON-LD schema activation<\/a><\/td>\n<td data-label=\"When it fits\">Schema for your organization, articles and FAQs (in Slovak)<\/td>\n<td data-label=\"Price\">\u20ac247<\/td>\n<\/tr>\n<tr>\n<td data-label=\"Service\"><a href=\"https:\/\/wooacademy.sk\/en\/produkt\/rank-math-setup\/\">Rank Math setup<\/a><\/td>\n<td data-label=\"When it fits\">You want the whole of Rank Math set up properly<\/td>\n<td data-label=\"Price\">from \u20ac149<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Who does it<\/h2>\n<p><a href=\"https:\/\/wooacademy.sk\/o-nas\/seo-specialista-milan-frano\/\">RNDr. Milan Fra\u0148o, PhD.<\/a>, HEAD of SEO at WooAcademy. I set up structured data on all WooAcademy products and for clients, with WooCommerce usually through <a href=\"https:\/\/wooacademy.sk\/wordpress-seo-plugin-rank-math-yoast-killer\/\">Rank Math<\/a>. I don&#8217;t put made-up ratings into anyone&#8217;s schema, because it&#8217;s the fastest route to a manual action.<\/p>\n<div class=\"wa-btns\"><a class=\"wa-btn\" href=\"https:\/\/wooacademy.sk\/kontakt\/\">Free check of 3 products<\/a><a class=\"wa-btn o\" href=\"mailto:info@wooacademy.sk\">info@wooacademy.sk<\/a><\/div>\n<p class=\"wa-mt\">More short videos on SEO and GEO are on the <a href=\"https:\/\/www.youtube.com\/@wooacademy8573\" target=\"_blank\" rel=\"noopener\">WooAcademy YouTube channel<\/a>.<\/p>\n<h2>Frequently asked questions about product schema<\/h2>\n<details>\n<summary>What is product schema?<\/summary>\n<p>Structured data in the product page code (JSON-LD) that tells Google exactly the name, price, currency, availability, shipping, returns, brand and GTIN. Google uses it to show the product in search results and the Shopping tab.<\/p>\n<\/details>\n<details>\n<summary>How much does product schema setup cost?<\/summary>\n<p>WooCommerce store \u20ac290; large or multilingual store, Shoptet or custom platform \u20ac590. Prices are final; we are not VAT registered.<\/p>\n<\/details>\n<details>\n<summary>Search Console says &#8220;Missing field shippingDetails&#8221;. Is that an error?<\/summary>\n<p>It&#8217;s a warning, not an error; the product can still show. But without shipping and return data Google can&#8217;t display that information, which puts you at a disadvantage against competitors who have it.<\/p>\n<\/details>\n<details>\n<summary>Do I need EAN codes?<\/summary>\n<p>They&#8217;re not required, but they help Google match the product. If they&#8217;re in your system, I connect them. If not, the schema works with brand and MPN.<\/p>\n<\/details>\n<details>\n<summary>Can I add ratings from review portals or Google to the schema?<\/summary>\n<p>Product schema should only contain ratings for that product that are visible on the page. Store ratings from other portals don&#8217;t belong there. Made-up ratings violate Google&#8217;s guidelines.<\/p>\n<\/details>\n<details>\n<summary>Does it work on Shoptet?<\/summary>\n<p>Shoptet outputs basic schema on its own. I add what&#8217;s possible via settings and HTML snippets and write up the rest as a request for Shoptet support or a developer. That&#8217;s why Shoptet is in the \u20ac590 package.<\/p>\n<\/details>\n<details>\n<summary>How quickly does the change show?<\/summary>\n<p>The validator shows the result immediately; Search Console reports update over days to weeks, depending on how often Google crawls your products.<\/p>\n<\/details>\n<p><em>Product schema for online stores is set up by <a href=\"https:\/\/wooacademy.sk\/o-nas\/seo-specialista-milan-frano\/\">Milan Fra\u0148o<\/a>, WooAcademy, Bratislava. Prices valid from October 2026.<\/em><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p><strong>Product schema for Google Shopping means your products will have all the structured data Google needs to show price, availability, shipping and returns directly in search results and the Shopping tab.<\/strong><\/p>\n<ul>\n<li>WooCommerce: \u20ac290<\/li>\n<li>Large store \/ other platform: \u20ac590<\/li>\n<li>Price, availability, GTIN, brand<\/li>\n<li>Shipping and return policy<\/li>\n<li>No Search Console warnings<\/li>\n<li>Done within 5 business days<\/li>\n<\/ul>\n<p>Send 3 product links and I&#8217;ll tell you for free what&#8217;s missing in the schema. <a href=\"https:\/\/wooacademy.sk\/kontakt\/\">Get in touch<\/a> or +421 940 634 491.<\/p>\n","protected":false},"featured_media":16043,"comment_status":"open","ping_status":"closed","template":"","meta":[],"product_brand":[],"product_cat":[864,865],"product_tag":[],"class_list":["post-31492","product","type-product","status-publish","has-post-thumbnail","product_cat-marketingove-sluzby","product_cat-seo-sluzby","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author","","first","instock","shipping-taxable","purchasable","product-type-variable","has-default-attributes"],"builder_content":"","_links":{"self":[{"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/product\/31492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/comments?post=31492"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/media\/16043"}],"wp:attachment":[{"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/media?parent=31492"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/product_brand?post=31492"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/product_cat?post=31492"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/wooacademy.sk\/en\/wp-json\/wp\/v2\/product_tag?post=31492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}