AI i SEO

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

· Krzysztof Balicki

Otwarte szuflady szafy katalogowej z kartami

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.

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.

  1. Sprawdź, co sklep już wysyła: kod źródłowy karty i test wyników z elementami rozszerzonymi.
  2. Wyłącz zdublowane źródła znaczników, zostawiając jedno.
  3. Uzupełnij GTIN, markę, wysyłkę i politykę zwrotów.
  4. Zweryfikuj, jak opisane są warianty.
  5. 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ą.