AI i SEO
Dane strukturalne produktu: co sklep musi mieć, żeby Google pokazał cenę i dostępność

Chcesz, żeby Google pokazał w wynikach cenę i dostępność? Karta produktu musi mieć poprawne dane strukturalne produktu. Chodzi o znaczniki schema Product z zagnieżdżonym obiektem Offer, które mówią to samo, co klient widzi na stronie. Według dokumentacji Google o danych produktowych takie znaczniki pozwalają wyświetlić cenę, dostępność, oceny i informacje o wysyłce bezpośrednio w wynikach, także w Grafice Google i Google Lens. Piszę to dla właścicieli i adminów sklepów na WooCommerce albo PrestaShop. Jeśli konkurencja ma w wynikach ładne ceny i gwiazdki, a Ty nie, to tu znajdziesz, czego brakuje.
Spis treści
Czym są dane strukturalne produktu i co zmieniają w wynikach Google?
To opis produktu w formacie dla maszyn (jak plik llms.txt), najczęściej JSON-LD. Google dowiaduje się z niego, co jest nazwą, ceną, walutą i stanem magazynowym. Słownik pól bierze się ze schema.org (wspólnego standardu wyszukiwarek), a JSON-LD to po prostu sposób zapisu wklejany w kod strony. Z tego Google może zbudować wynik rozszerzony, czyli rich result, z ceną, dostępnością, ocenami albo wysyłką.
Aha, spadek ceny Google wylicza sam. Patrzy, jak cena zmienia się w czasie, i wcale nie obiecuje, że go pokaże. Z całą resztą jest tak samo: znaczniki dają kwalifikację do wyników produktowych, nie gwarancję. Nie ma co liczyć na więcej.
Jakie pola schema Product są potrzebne, żeby pokazać cenę i dostępność?
Minimum? Product z nazwą plus zagnieżdżony Offer z ceną, walutą i dostępnością. Ale w praktyce polecam iść dalej, bo im pełniejszy opis, tym łatwiej Google dopasować produkt do zapytań i do danych z innych źródeł.
- name, image, description - podstawowy opis produktu, także pisany z pomocą AI,
- sku lub gtin oraz brand - identyfikatory i marka,
- offers.price i offers.priceCurrency - cena jako liczba i kod waluty, np. PLN,
- offers.availability - adres schema.org, np. InStock, OutOfStock, PreOrder,
- offers.url - adres karty produktu,
- opcjonalnie priceValidUntil, shippingDetails i hasMerchantReturnPolicy.
Tak to wygląda w kodzie. Blok siedzi w znaczniku script typu application/ld+json:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Czajnik elektryczny Aqua",
"image": "https://sklep.example/img/czajnik-aqua.jpg",
"sku": "CZ-AQUA",
"brand": { "@type": "Brand", "name": "Aqua" },
"offers": {
"@type": "Offer",
"url": "https://sklep.example/czajnik-aqua",
"price": "129.00",
"priceCurrency": "PLN",
"availability": "https://schema.org/InStock"
}
}
A co z aggregateRating i review? Dodajesz je tylko wtedy, gdy na stronie wiszą prawdziwe opinie klientów. Nie ma opinii, nie ma pól. Proste.
Dostępność w wynikach wyszukiwania: jak utrzymać zgodność ze stanem magazynu
Dostępność w znacznikach ma się zmieniać razem z magazynem. Inaczej Google pokaże nieaktualną informację albo w ogóle przestanie ufać Twoim danym. Skąd się biorą rozjazdy? Zwykle z kilku miejsc: cache serwuje starą wersję strony, produkty mają warianty, cena promocyjna wyskakuje dopiero po zalogowaniu, ktoś kiedyś ręcznie wkleił JSON-LD i nikt go potem nie ruszał (klasyka).
Cena w znacznikach ma być identyczna z tą na stronie, w tej samej walucie. Promocja dostaje datę ważności. Przy wariantach typu rozmiar czy kolor lepiej opisać osobne oferty albo sięgnąć po ProductGroup. Jedna cena dla wszystkiego to proszenie się o kłopoty.
Jak dodać dane strukturalne produktu w WooCommerce i PrestaShop?
WooCommerce i PrestaShop same generują podstawowe znaczniki. Tylko że zwykle trzeba je uzupełnić o brakujące pola i wyciąć duplikaty, które dorzuca motyw albo wtyczka SEO.
- Sprawdź, co sklep już wysyła: kod źródłowy karty i test wyników z elementami rozszerzonymi.
- Wyłącz zdublowane źródła znaczników, zostawiając jedno.
- Uzupełnij GTIN, markę, wysyłkę i politykę zwrotów.
- Zweryfikuj, jak opisane są warianty.
- Przetestuj kilka różnych kart produktów.
Gdy brakuje pojedynczych pól, wystarczy konfiguracja. Gorzej przy niestandardowych atrybutach albo integracji z zewnętrznym magazynem, bo wtedy często trzeba dodatku. Wtyczki WooCommerce i moduły PrestaShop, także pisane pod konkretny sklep, znajdziesz w K4.pl. I jeszcze jedno: uważaj na motywy, które wstawiają własny, niepełny Product obok tego z WooCommerce. Moim zdaniem to jedna z częstszych pułapek.
Znaczniki na stronie czy feed w Merchant Center: co wybrać?
Jedno i drugie. Google łączy oba źródła i wtedy łatwiej mu sprawdzić, czy dane się zgadzają. Dokumentacja podaje trzy drogi: znaczniki na stronie, feed w Google Merchant Center z włączonymi bezpłatnymi informacjami o produktach albo oba sposoby naraz. Ciekawostka: fragmenty produktów potrafią pobrać cenę z feedu, jeśli w znacznikach jej zabrakło.
Podział ról jest taki: Merchant Center decyduje o obecności w karcie Zakupy, znaczniki o wyglądzie wyniku w zwykłym wyszukiwaniu. Warunek jeden. Ta sama cena, dostępność i identyfikatory w feedzie, w kodzie i na stronie.
Najczęstsze błędy, przez które Google nie pokazuje ceny
Rzadko chodzi o to, że znaczników nie ma wcale. Częściej pola Offer są niepełne albo sobie przeczą.
- brak priceCurrency,
- cena z separatorem tysięcy albo symbolem waluty w polu price,
- dostępność jako zwykły tekst zamiast adresu schema.org,
- oceny bez prawdziwych opinii,
- dwa różne bloki Product na jednej stronie,
- znaczniki renderowane skryptem z opóźnieniem, niewidoczne dla Googlebota.
Ostrzeżenia wyłapiesz w raportach wyników rozszerzonych w Google Search Console i w teście wyników z elementami rozszerzonymi. Po poprawkach poproś o ponowne zindeksowanie kilku kart i patrz na raport. Cierpliwie, bo Google reaguje raz szybciej, raz wolniej.
No i właściwie tyle. Dane strukturalne produktu działają, kiedy są kompletne, zgodne ze stroną i aktualizują się razem z magazynem. Od czego zacząć? Od audytu tego, co już masz. Potem uzupełnij Offer, posprzątaj duplikaty i podepnij sklep do Merchant Center.
Najczęstsze pytania
Czy po dodaniu danych strukturalnych Google na pewno pokaże cenę?
Nie. Znaczniki dają kwalifikację do wyników rozszerzonych, a o tym, co się wyświetli, decyduje Google. Poprawne pola i zgodność z treścią strony po prostu zwiększają szanse.
Czy mogę dodać oceny gwiazdkowe, jeśli sklep nie zbiera opinii?
Nie. Pole aggregateRating musi wynikać z prawdziwych opinii, które widać na stronie. Za wymyślone oceny możesz stracić wyniki rozszerzone w ogóle.
Czy WooCommerce dodaje schema Product automatycznie?
Tak, w podstawowym zakresie. Sprawdź jednak, czy w znacznikach jest GTIN, marka, wysyłka i zwroty, i czy motyw albo wtyczka SEO ich nie dublują.