Schema.org na WordPress: które dane strukturalne wdrożyć, by Twoja oferta była widoczna w ChatGPT i Google

Właściciel sklepu na WordPressie staje dziś przed dwoma równoległymi kanałami widoczności: klasycznym SERP-em Google oraz odpowiedziami generatywnymi w ChatGPT, Gemini i Claude. Oba korzystają z tej samej infrastruktury danych, ale oczekują od niej czego innego. Ten poradnik porządkuje wdrożenie danych strukturalnych w WooCommerce w kolejności P0–P3, wskazuje pola wymagane przez Google, wyjaśnia deprecjacje z 2026 roku i pokazuje, jak oddzielić oczekiwania wobec rich results od realnej roli schema w systemach AI.

TL;DR Schema.org to słownik typów i właściwości, JSON-LD to nośnik danych, a Google i modele językowe to konsumenci tej samej struktury. Minimalny zestaw P0 dla sklepu to Product + Offer oraz Organization lub OnlineStore na stronie głównej. Schema dla Google daje rich results, knowledge panel i entity recognition; schema dla LLM wspiera rozpoznawanie encji i spójność faktów, ale nie gwarantuje cytowań. FAQ rich result zdeprecjonowano 7 maja 2026, HowTo już w 2023 roku. Oba typy nadal mogą wspierać parsowanie treści przez modele. Widoczny HTML i dostępność dla OAI-SearchBot mają większe znaczenie dla ChatGPT niż sam blok JSON-LD. Walidacja obejmuje Rich Results Test, Schema Markup Validator oraz raporty Merchant listings i Product snippets w Search Console. Semly.ai łączy generowanie JSON-LD dla WordPressa i WooCommerce z monitoringiem widoczności w pięciu modelach AI, co pozwala mierzyć efekt wdrożenia, a nie tylko go zakładać.

Dane strukturalne WordPress — co realnie dają w Google i w ChatGPT

Schema.org to słownik. Definiuje typy (Product, Offer, Organization) i właściwości (price, availability, sameAs). Aktualna wersja V30.1 została opublikowana 16 września 2026 roku, a typ Product jest używany na ponad 10 milionach domen. JSON-LD to format zapisu, w którym dane ze słownika trafiają do kodu strony. Google i modele językowe to konsumenci, którzy odczytują ten zapis w różnych celach.

Google rekomenduje JSON-LD jako format domyślny, przed microdata i RDFa. Powód jest praktyczny: blok JSON-LD można wstrzyknąć w <head> lub <body> bez modyfikowania struktury HTML, co w WordPressie oznacza mniejsze ryzyko konfliktu z motywem i wtyczkami. Microdata wymaga wplecenia atrybutów w znaczniki, co przy zmianie szablonu produktu generuje błędy trudne do wykrycia.

Kluczowa teza brzmi: schema to warunek konieczny, ale niewystarczający. Rozróżnienie kanałów wygląda następująco:

  • Google: dane strukturalne zasilają rich results, knowledge panel i entity recognition. Google wprost deklaruje, że nie ma dodatkowych wymagań schema dla AI Overviews ani AI Mode, ale wymaga, aby dane zgadzały się z widoczną treścią strony.
  • LLM: modele parsują przede wszystkim widoczny HTML. Test searchVIU z października 2025 roku, obejmujący pięć systemów AI, wykazał, że przy pobieraniu treści w czasie rzeczywistym modele czytały wyłącznie widoczny HTML, ignorując JSON-LD, ukryte microdata i RDFa.

Badanie Ahrefs opublikowane 11 maja 2026 roku objęło 1 885 stron, które dodały JSON-LD, oraz 4 000 stron kontrolnych w okresie od sierpnia 2025 do marca 2026. Wyniki: AI Overviews odnotowały zmianę −4,6% (istotną statystycznie), AI Mode +2,4% (nieistotną), a cytowania w ChatGPT +2,2% (nieistotne). Jednocześnie 53% stron cytowanych przez AI miało wdrożoną schema, co jest korelacją, a nie dowodem przyczynowości.

Na co uważać: nie obiecuj sobie ani klientowi cytowań w AI po samym wdrożeniu JSON-LD. Schema musi być zgodna z widocznym tekstem, w przeciwnym razie Google może nałożyć manual action. Nie ma sprzeczności między tezami o czytaniu JSON-LD: dane strukturalne wspierają indeksowanie i entity recognition, natomiast przy bezpośrednim pobieraniu strony przez chatbota liczy się widoczny HTML.

Które typy schema.org wdrożyć — tabela priorytetów P0–P3

Poniższa tabela porządkuje wdrożenie według zwrotu z nakładu. Priorytet P0 oznacza fundament bez którego pozostałe typy tracą sens.

Typ Wymagane pola (Google) Zastosowanie e-commerce Wsparcie Google Wsparcie LLM
Product (P0) name, image, offers Strona produktu Product snippet, merchant listing Pośrednie (entity)
Offer (P0) price > 0, priceCurrency Cena, dostępność, warunki Merchant listing Pośrednie
Organization / OnlineStore (P0) brak wymaganych, rekomendowane name, url, logo, sameAs Tożsamość marki Knowledge panel, logo Pośrednie (entity)
AggregateRating (P1) ratingValue, reviewCount lub ratingCount Gwiazdki w SERP Review snippet Pośrednie
Review (P1) author, reviewRating Opinie klientów Review snippet Pośrednie
MerchantReturnPolicy (P1) applicableCountry, returnPolicyCategory Polityka zwrotów Merchant listing Pośrednie
OfferShippingDetails (P1) deliveryTime, shippingDestination, shippingRate Dostawa Merchant listing Pośrednie
BreadcrumbList (P2) itemListElement Nawigacja Breadcrumb (desktop) Pośrednie
ItemList (P2) itemListElement Strony kategorii Carousel (beta) Pośrednie
FAQPage (P3) mainEntity FAQ Zdeprecjonowane (7.05.2026) Możliwe parsowanie
HowTo (P3) step Instrukcje Zdeprecjonowane (2023) Możliwe parsowanie
sameAs / knowsAbout (P3) URL / Text Disambiguacja encji Knowledge panel Pośrednie (entity)

Przepływ danych w WooCommerce wygląda następująco: baza produktów WooCommerce → wtyczka SEO (Yoast, Rank Math) lub generator JSON-LD → blok JSON-LD w kodzie strony → Google (indeksowanie, rich results) oraz modele AI (parsowanie widocznego HTML wsparte sygnałami encji).

Krok 1 — Wdrożenie Product i Offer (fundament P0)

Zacznij od audytu tego, co już generuje Twoja wtyczka. Yoast, Rank Math i WooCommerce tworzą podstawowy blok Product, ale zakres pól bywa różny. Sprawdź, czy w kodzie strony znajdują się: name, image, description, sku, offers.price, offers.priceCurrency, offers.availability oraz offers.itemCondition.

Następnie uzupełnij pola, które wtyczki pomijają najczęściej:

  1. gtin (GTIN-8, GTIN-12, GTIN-13, GTIN-14) lub mpn, jeśli nie masz GTIN.
  2. brand.name jako obiekt Brand.
  3. category zgodna z taksonomią sklepu.
  4. priceValidUntil dla promocji o określonym terminie.
  5. @id jako unikalny identyfikator produktu, co zapobiega duplikacji encji.

Warunkiem pojawienia się w merchant listings jest price większe od zera oraz priceCurrency w formacie ISO 4217 (dla Polski PLN). Cena musi być widoczna na stronie produktu. Rozbieżność między JSON-LD a widocznym HTML to najczęstsza przyczyna manual action w merchant listings.

Punkt kontrolny: Rich Results Test nie powinien zwracać błędów typu „missing field". Typowe objawy problemu to brak ceny w snippecie oraz ostrzeżenie dotyczące offers.

Krok 2 — Organization, OnlineStore i spójność encji (P0/P3)

Tożsamość marki budujesz raz, a korzystają z niej oba kanały. Blok Organization lub OnlineStore umieść na stronie głównej albo w sekcji „O nas". Google nie wymaga tu konkretnych pól, ale rekomenduje name, url, logo, sameAs, contactPoint oraz vatID.

Rola sameAs polega na disambiguacji encji. Linki do Wikipedii, Wikidata, LinkedIn, Facebooka i Google Business Profile pozwalają Google i modelom powiązać Twoją markę z jednym, spójnym bytem. Właściwość knowsAbout opisuje obszary ekspertyzy i wzmacnia ten sam mechanizm.

Pod Organization możesz umieścić hasMerchantReturnPolicy oraz hasShippingService, co przenosi politykę zwrotów i dostawy na poziom całej marki zamiast powtarzać ją przy każdym produkcie.

Punkt kontrolny: Schema Markup Validator bez błędów oraz weryfikacja spójności NAP (nazwa, adres, telefon) i linków sameAs z profilami zewnętrznymi.

Krok 3 — Zwroty i dostawa: MerchantReturnPolicy i OfferShippingDetails (P1)

Te dwa typy są najczęściej pomijane przez wtyczki i wymagają ręcznego uzupełnienia. Google wymaga w MerchantReturnPolicy pól applicableCountry oraz returnPolicyCategory (alternatywnie merchantReturnLink). Przy kategorii MerchantReturnFiniteReturnWindow konieczne jest merchantReturnDays. Uzupełnij także returnFees i returnMethod.

W OfferShippingDetails wymagane są deliveryTime, shippingDestination oraz shippingRate z wartością value lub maxValue i walutą currency. Politykę możesz zdefiniować na poziomie organizacji (jedna definicja dla całego sklepu) albo na poziomie pojedynczej oferty, gdy warunki się różnią.

Punkt kontrolny: raport Merchant listings w Search Console. Jeśli polityka zwrotów nie jest widoczna na stronie, dane strukturalne nie wystarczą do uzyskania rozszerzonego wyniku.

Krok 4 — Opinie, nawigacja i kategorie (P1/P2)

AggregateRating wymaga ratingValue oraz reviewCount lub ratingCount. Review wymaga author i reviewRating. Wdrażaj je wyłącznie dla prawdziwych opinii pobranych z systemu sklepu. Fałszywe oceny w danych strukturalnych to bezpośrednia droga do manual action.

BreadcrumbList z itemListElement wspiera nawigację okruszkową w wynikach desktopowych. ItemList na stronach kategorii porządkuje listę produktów i może zasilać carousel w wersji beta.

Punkt kontrolny: Rich Results Test dla Review snippet i Breadcrumb. Sprawdź, czy liczba opinii w JSON-LD zgadza się z liczbą widoczną na stronie.

Krok 5 — FAQ, HowTo i widoczność w LLM (P3)

FAQ rich result został zdeprecjonowany 7 maja 2026 roku, a HowTo już w 2023 roku. Oznacza to brak rozszerzonych wyników w Google, ale nie brak wartości samej struktury. FAQPage z mainEntity nadal porządkuje treść w sposób czytelny dla modeli językowych i poprawia UX strony.

Rekomendowany model to trzy poziomy FAQ: sklep, kategoria i produkt. Odpowiedzi utrzymuj w przedziale 40–80 słów, aby były zwięzłe i jednoznaczne. Treść FAQ musi być widoczna na stronie, nie ukryta w akordeonie ładowanym skryptem.

Punkt kontrolny: brak oczekiwania rich result oraz weryfikacja zgodności treści FAQ z widocznym tekstem.

Krok 6 — robots.txt, crawlers AI i walidacja końcowa

Dostępność dla robotów decyduje o tym, czy Twoja oferta w ogóle trafi do odpowiedzi ChatGPT. OpenAI rozróżnia cztery roboty: OAI-SearchBot odpowiada za wyszukiwanie w ChatGPT, GPTBot za trening modeli, ChatGPT-User za akcje podejmowane przez użytkownika, a OAI-AdsBot za reklamy. Zablokowanie OAI-SearchBot w robots.txt oznacza brak Twojej strony w wynikach wyszukiwania ChatGPT.

Checklista wdrożeniowa WooCommerce:

  1. Product z name, image, offers na każdej stronie produktu.
  2. Offer z price > 0 i priceCurrency: PLN.
  3. Uzupełnione gtin lub mpn oraz brand.name.
  4. Organization lub OnlineStore z sameAs na stronie głównej.
  5. MerchantReturnPolicy z applicableCountry i returnPolicyCategory.
  6. OfferShippingDetails z deliveryTime, shippingDestination, shippingRate.
  7. AggregateRating i Review wyłącznie dla prawdziwych opinii.
  8. BreadcrumbList na wszystkich podstronach.
  9. OAI-SearchBot i PerplexityBot dopuszczone w robots.txt.
  10. Zero błędów krytycznych w Rich Results Test i Schema Markup Validator.

Punkt kontrolny: raporty Merchant listings i Product snippets w Search Console bez błędów krytycznych.

Najczęstsze błędy i jak je naprawić

  • Objaw: brak gtin, mpn i brand w bloku Product. Przyczyna: wtyczka nie mapuje tych pól z bazy WooCommerce. Naprawa: dodaj pola w edytorze produktu lub rozszerz generator JSON-LD o mapowanie atrybutów.
  • Objaw: cena wyświetla się jako tekst w JSON-LD. Przyczyna: wtyczka zapisuje price w cudzysłowie z separatorem przecinka. Naprawa: użyj formatu liczbowego z kropką dziesiętną.
  • Objaw: manual action w merchant listings. Przyczyna: schema niezgodna z widocznym HTML. Naprawa: zsynchronizuj dane strukturalne z treścią strony i złóż ponowną weryfikację.
  • Objaw: duplikacja bloku Product. Przyczyna: wtyczka SEO i ręczny kod generują dwa bloki. Naprawa: pozostaw jedno źródło prawdy, usuń nadmiarowy kod.
  • Objaw: gwiazdki zniknęły z SERP. Przyczyna: fałszywe AggregateRating bez realnych opinii. Naprawa: usuń dane strukturalne opinii do czasu zebrania prawdziwych ocen.
  • Objaw: brak rozszerzonego wyniku dla zwrotów. Przyczyna: brak applicableCountry w polityce. Naprawa: uzupełnij wymagane pola i sprawdź raport Merchant listings.
  • Objaw: brak strony w wynikach ChatGPT. Przyczyna: zablokowany OAI-SearchBot. Naprawa: zmień reguły w robots.txt i zweryfikuj dostęp.
  • Objaw: błędy po aktualizacji motywu. Przyczyna: brak walidacji po zmianie szablonu. Naprawa: uruchom Rich Results Test po każdym wdrożeniu produkcyjnym.

Co dalej — kolejne kroki i warianty

Wdrożenie schema to punkt startowy, nie meta. Kolejnym krokiem jest pomiar. Metryki, które warto śledzić, to AI Visibility Score, Share of Voice oraz Mention i Citation Rate w promptach zakupowych. Semly.ai łączy generowanie JSON-LD dla WordPressa i WooCommerce z monitoringiem widoczności w pięciu modelach AI, dzięki czemu wiesz, czy wdrożenie przekłada się na obecność w odpowiedziach, a nie tylko na poprawność walidacji.

Efekty wdrożeń Semly potwierdzają dwa case studies:

  • case study Semly (RedCart): +25% rejestracji, +30% konwersji trial→paid oraz trzykrotny wzrost AI Visibility Score w 90 dni.
  • case study Semly (Ofertoland): +980% widoczności i wzrost konwersji z 1,9% do 4,1% w 60 dni.

W kolejnym kwartale rozważ rozszerzenie o LoyaltyProgram, Certification i SizeSpecification, które Google wspiera w merchant listings. Jeśli Twój zespół nie ma zasobów technicznych, integracja Semly.ai z WordPressem i WooCommerce odbywa się przez klucz API, bez pisania kodu. Ręczny JSON-LD pozostaje właściwą ścieżką przy niestandardowych motywach i nietypowych modelach produktowych.

Mini-słownik pojęć

  • schema.org: słownik typów i właściwości opisujących encje w sieci.
  • JSON-LD: format zapisu danych strukturalnych w bloku skryptu, rekomendowany przez Google.
  • rich result: rozszerzony wynik wyszukiwania z dodatkowymi elementami, np. ceną lub gwiazdkami.
  • entity: jednoznacznie zidentyfikowany byt (produkt, marka, osoba) rozpoznawany przez wyszukiwarkę.
  • GEO/AEO: optymalizacja pod silniki generatywne i odpowiedzi AI.

FAQ

Czy JSON-LD pomaga w ChatGPT? Pośrednio. Modele przy pobieraniu treści w czasie rzeczywistym czytają widoczny HTML, ale dane strukturalne wspierają rozpoznawanie encji i spójność faktów w indeksach.

Czy FAQ schema nadal działa w 2026? Nie generuje rich results od 7 maja 2026, ale nadal porządkuje treść i może wspierać parsowanie przez modele językowe.

Jakie pola Product schema są wymagane? name, image oraz offers. Dla merchant listings dodatkowo price większe od zera i priceCurrency.

Czy WooCommerce generuje schema automatycznie? Generuje podstawowy blok Product, ale zwykle pomija gtin, mpn, brand, MerchantReturnPolicy i OfferShippingDetails.

Czy schema wpływa na CTR? Wpływa pośrednio przez rich results. Case studies Google pokazują wzrosty, m.in. +82% dla Nestlé i +25% dla Rotten Tomatoes, ale efekt zależy od typu wyniku i branży.

Źródła

Sprawdź, czy Cię widzi

Wpisz adres Twojej strony, żeby otrzymać bezpłatny raport widoczności w AI