
JSON-LD czy Microdata? Jeśli szukasz jednej odpowiedzi: wybierz JSON-LD, chyba że w Twoim sklepie działa już poprawna Microdata i nie masz konkretnego powodu, żeby ją ruszać. Schema.org to słownik typów i właściwości. JSON-LD, Microdata i RDFa to tylko sposoby zapisania go na stronie. Google wspiera wszystkie trzy i rekomenduje JSON-LD nie za lepsze wyniki, ale za łatwiejsze wdrożenie i utrzymanie w skali.
W e-commerce o wyniku decyduje kompletność danych i ich zgodność z widoczną treścią, a nie wybór składni. Ta sama zasada dotyczy AI: nie ma dowodów, że sam format zwiększa cytowania w ChatGPT, Gemini czy AI Overviews. To hipoteza, nie fakt. Semly mierzy widoczność marek w odpowiedziach modeli AI, ale nie twierdzi, że zmiana formatu schema ją podniesie.
Trzy pytania, na które odpowiada ten tekst: który format wybrać, czy musisz migrować i czy format ma jakiekolwiek znaczenie dla AI. Odpowiedzi są krótkie, ale wymagają jednego rozróżnienia pojęciowego, od którego zaczynamy.
TL;DR Schema.org to słownik typów i właściwości, a JSON-LD, Microdata i RDFa to tylko sposoby zapisania go na stronie. Google wspiera wszystkie trzy formaty i rekomenduje JSON-LD, ale nie za lepsze wyniki, tylko za łatwiejsze wdrożenie i utrzymanie w skali. W e-commerce o wyniku decyduje kompletność danych i zgodność z widoczną treścią, nie wybór składni. Nie ma dowodów, że sam format zwiększa cytowania w ChatGPT, Gemini czy AI Overviews. To hipoteza, nie fakt.
Schema.org, JSON-LD, Microdata, RDFa — co jest czym
Najczęstszy błąd w dyskusjach o danych strukturalnych to porównywanie Schema.org z itemprop. To mylenie kategorii. Schema.org to słownik: definiuje typy, takie jak Product, Offer czy Organization, oraz właściwości, takie jak name, price czy availability. Nie mówi nic o tym, jak zapisać je w kodzie strony.
Sposób zapisu to składnia. Masz trzy opcje:
- JSON-LD to osobny blok
<script type="application/ld+json">z danymi w formacie JSON. Nie dotyka widocznego HTML-a. - Microdata to atrybuty wstawione w znaczniki HTML:
itemscope,itemtypeiitemprop. Dane siedzą w tym samym miejscu co treść, którą widzi użytkownik. - RDFa to również atrybuty HTML, ale z innym zestawem:
vocab,typeofiproperty. Działa podobnie do Microdata, choć wywodzi się z innej tradycji technicznej.
Trzecia warstwa to pojedyncze atrybuty. itemprop należy wyłącznie do Microdata. Nie jest skrótem od Schema.org i nie jest osobnym formatem.
| Warstwa | Co to jest | Przykład |
|---|---|---|
| Pojęciowa | Słownik typów i właściwości | Schema.org: Product, Offer, name, price |
| Składniowa | Sposób zapisania słownika na stronie | JSON-LD, Microdata, RDFa |
| Atrybutowa | Konkretne atrybuty HTML w danej składni | itemprop (tylko Microdata), property (RDFa) |
RDFa jest wspierana przez Google, ale wtyczki e-commerce generują ją rzadko. W praktyce wybór w sklepie dotyczy więc JSON-LD i Microdata. W bazie wiedzy Semly opisujemy typy, które w e-commerce robią najwięcej pracy: Product, Offer, Review, BreadcrumbList i Organization. Każdy z nich można zapisać w dowolnym z trzech formatów, bo słownik jest ten sam.
Co rekomenduje Google i co to znaczy dla sklepu
Stanowisko Google jest od lat takie samo i nadal aktualne: "all 3 formats are equally fine for Google, as long as the markup is valid and properly implemented". Rekomendacja JSON-LD wynika z powodów utrzymaniowych. Dokumentacja Google nazywa go rozwiązaniem najłatwiejszym do wdrożenia i utrzymania w skali oraz najmniej podatnym na błędy użytkownika.
Dwie rzeczy z tej dokumentacji warto zapamiętać. Po pierwsze, JSON-LD jest odczytywany także wtedy, gdy trafia na stronę dynamicznie, na przykład przez wtyczkę albo CMS. Po drugie, poprawna walidacja nie gwarantuje rich result. Google mówi to wprost: nawet dobrze oznaczona strona może nie pokazać rozszerzonego wyniku.
Co to znaczy dla Twojego sklepu? Cztery scenariusze, każdy z decyzją i ryzykiem.
1. WooCommerce z Yoast SEO lub Rank Math. Wtyczka generuje poprawny JSON-LD dla produktów. Zostań przy tym, co masz. Ryzyko: duplikaty, gdy motyw albo dodatkowa wtyczka dokłada własny blok z tą samą encją. Audytuj, nie migruj.
2. Motyw gubi atrybuty Microdata. Jeśli po każdej aktualizacji szablonu znikają itemprop przy cenie lub dostępności, masz konkretny problem utrzymaniowy. Migruj do JSON-LD. Ryzyko: przez pierwsze tygodnie dane w skrypcie mogą się rozjeżdżać z widoczną stroną, więc potrzebny jest właściciel tej encji.
3. Headless lub SPA. JSON-LD generuj po stronie serwera albo umieszczaj w początkowym HTML-u. Google deklaruje obsługę dynamicznego JSON-LD, ale w przypadku produktów i tak zaleca dane w initial HTML. Ryzyko: markup widoczny dopiero po hydratacji bywa pomijany przez crawlery.
4. PIM lub feed i wiele kanałów. Skoro dane produktu już gdzieś istnieją, generuj JSON-LD z tego samego źródła co feed. Semly pracuje z feedami Google Shopping XML i systemami PIM, więc wiemy, jak wygląda ten proces w praktyce: jedno źródło prawdy, wiele wyjść. Ryzyko: rozjazd, gdy feed aktualizuje się częściej niż skrypt na stronie.
JSON-LD czy Microdata — tabela decyzyjna
Poniższa tabela dotyczy utrzymania i wdrożenia, nie przewagi rankingowej. Nie ma tu kolumny "lepszy", bo takiej kolumny nie da się rzetelnie wypełnić.
| Kryterium | JSON-LD | Microdata | RDFa | Co to znaczy dla sklepu |
|---|---|---|---|---|
| Gdzie dane | Osobny blok script |
Atrybuty w HTML | Atrybuty w HTML | JSON-LD nie miesza się z widoczną treścią |
| Wsparcie Google | Rekomendowany | Wspierany | Wspierany | Wszystkie trzy są poprawne |
| CMS i wtyczki | Standard (Yoast, Rank Math, aplikacje Shopify) | Rzadziej generowana | Rzadko | W praktyce wybór to JSON-LD lub Microdata |
| Headless, API, PIM | Łatwe, generowane z dowolnego źródła | Trudne, wymaga renderu HTML | Trudne | Przy headless JSON-LD oszczędza pracy |
| Łączenie encji | @id i @graph |
Ograniczone, przez itemid |
Możliwe | Wiele encji łatwiej spiąć w JSON-LD |
| Ryzyko utrzymaniowe | Skrypt rozjeżdża się z widoczną treścią | Edycja szablonu usuwa atrybuty | Jak Microdata, plus mniej narzędzi | Oba ryzyka są realne, różnią się typem |
| Rozmiar HTML i DOM | Osobny blok tekstowy | Większy DOM przez atrybuty | Większy DOM przez atrybuty | Duże grafy JSON-LD zwiększają HTML, ale się kompresują |
| Walidacja | Schema Markup Validator, Rich Results Test | To samo | To samo | Narzędzia są wspólne dla formatów |
| Kiedy migrować | Gdy dane pochodzą z PIM lub feedu | Gdy szablon gubi atrybuty | Gdy brak wsparcia narzędzi | Migruj przy problemie, nie z powodu checklisty |
| Dowód wpływu na cytowania AI | Brak, niepotwierdzone | Brak, niepotwierdzone | Brak, niepotwierdzone | Nie ma podstaw, by wybierać format pod AI |
Semly nie porównuje formatów pod kątem cytowań, bo nie ma wiarygodnych badań, które by to uzasadniały. Porównujemy to, co da się zmierzyć: poprawność danych, spójność z treścią i koszt utrzymania.
Product i Offer: format ma mniejsze znaczenie niż dane
W e-commerce 90 procent ryzyka nie leży w składni, tylko w danych. Google rozróżnia dwa zastosowania: Product snippet (informacje o produkcie w wynikach) i Merchant listing (karta produktu z ceną, dostępnością, zwrotami i wysyłką). Wymagania są różne, a najczęstsze problemy powtarzalne: cena równa zero, brak priceValidUntil przy promocji, brak polityki zwrotów i kosztów wysyłki.
Osobna sprawa to sposób generowania. Google ostrzega, że markup produktu generowany wyłącznie w JavaScripcie może obniżać częstotliwość i wiarygodność crawlów Shopping. Wniosek jest prosty: Product umieszczaj w początkowym HTML-u, nie tylko po wykonaniu skryptów.
Ten sam fikcyjny produkt w JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://example.com/produkt/buty-trail-x1#product",
"name": "Buty trailowe X1",
"sku": "TX1-42-CZ",
"gtin13": "5900000000000",
"brand": { "@type": "Brand", "name": "ExampleBrand" },
"offers": {
"@type": "Offer",
"url": "https://example.com/produkt/buty-trail-x1",
"priceCurrency": "PLN",
"price": "499.00",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31"
}
}
</script>
I to samo w Microdata:
<div itemscope itemtype="https://schema.org/Product">
<span itemprop="name">Buty trailowe X1</span>
<meta itemprop="sku" content="TX1-42-CZ" />
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<meta itemprop="price" content="499.00" />
<meta itemprop="priceCurrency" content="PLN" />
<link itemprop="availability" href="https://schema.org/InStock" />
<meta itemprop="priceValidUntil" content="2026-12-31" />
</div>
</div>
Różnica jest mechaniczna: w Microdata cena wymaga meta itemprop="price", a dostępność link itemprop="availability". Efekt dla Google jest ten sam, o ile dane są kompletne.
Dwa warunki, których nie wolno obejść. Cena i dostępność muszą być identyczne z tym, co widzi klient na stronie. AggregateRating dodawaj tylko wtedy, gdy masz realne opinie. Wymyślone oceny i poświadczenia to nie optymalizacja, a ryzyko nałożenia działań ręcznych.
Semly traktuje schema.org/Product jako element dojrzałości danych: w naszym modelu pełne, spójne dane produktowe to warunek poziomu "AI-ready". Format jest tu narzędziem, nie celem.
Co zmieniło się w 2026
Krótki przegląd, żebyś nie opierał się na poradnikach z poprzednich lat:
- FAQ rich result wycofany 7 maja 2026.
FAQPagenie daje już rozwijanych wyników w Google, a dokumentacja została usunięta w czerwcu 2026. Oznaczanie FAQ ma dziś sens wyłącznie jako semantyka, bez obietnicy gwiazdek. - Google redukuje liczbę typów rich results. Część typów została wycofana w ramach upraszczania strony wyników. Przed wdrożeniem sprawdź, czy dany typ nadal jest wspierany.
- Product generowany w JS może obniżać crawle Shopping. Ostrzeżenie w dokumentacji Merchant listing jest aktualne i dotyczy przede wszystkim sklepów na SPA i headless.
- Stanowisko o formatach się nie zmieniło. Trzy formaty wspierane, JSON-LD rekomendowany z powodów utrzymaniowych.
- Brak wymagań schema dla AI Overviews i AI Mode. Google nie wymaga żadnego specjalnego znacznika schema.org dla funkcji AI.
- Breadcrumbs w wynikach tylko na desktopie. To ograniczenie dotyczy prezentacji, nie poprawności markupu.
Semly śledzi zmiany w dokumentacji Google i uwzględnia je w rekomendacjach dla sklepów, więc nie musisz za każdym razem wracać do źródła.
Format a cytowania w AI — co wiemy, a czego nie
To najważniejsza część, bo wokół niej narosło najwięcej skrótów myślowych. Rozdzielmy fakty od hipotez.
Fakt:
- Google wspiera trzy formaty i rekomenduje JSON-LD z powodów utrzymaniowych, nie rankingowych.
- Google nie wymaga specjalnego schema dla AI Overviews ani AI Mode.
- Walidacja nie gwarantuje rich result.
- Dane strukturalne muszą zgadzać się z widoczną treścią strony.
Hipoteza:
- Format wpływa na cytowalność w ChatGPT, Gemini czy Claude. Nie ma publicznych badań porównujących formaty pod tym kątem.
- Badania nad optymalizacją pod generatywne silniki pokazują efekt strategii treściowych, a nie składni schema. To dwie różne rzeczy.
Dlatego Semly rozdziela markup od monitoringu. Monitoring pokazuje, czy AI cytuje markę i z jakich źródeł, ale nie dowodzi przyczyny. Jeśli w raporcie widzisz wzrost cytowań po zmianie formatu, to jeszcze nie znaczy, że zmiana formatu go spowodowała.
Jak zweryfikować wdrożenie — checklista
Walidacja to nie jeden test, a kilka kroków. Przejdź je po kolei:
- Porównaj renderowany HTML z widoczną stroną: nazwa, cena, autor, URL. Muszą być identyczne.
- Sprawdź, czy nie ma dwóch źródeł tej samej encji: wtyczka, szablon i GTM potrafią wygenerować trzy bloki.
- Uruchom Schema Markup Validator, żeby sprawdzić składnię i słownik.
- Uruchom Rich Results Test, żeby sprawdzić, czy Google widzi daną funkcję.
- Sprawdź URL Inspection, żeby zobaczyć, co faktycznie widzi Googlebot.
- Przetestuj każdą wersję językową osobno, z jej własnym URL-em i treścią.
- Po każdej zmianie szablonu przetestuj próbkę stron, nie jedną.
Do tego dochodzi kwestia duplikatów. Dwie encje tej samej rzeczy, jedna z wtyczki i jedna z motywu, to najczęstszy błąd, jaki widzimy w sklepach. Objawia się sprzecznymi cenami albo pustymi polami w walidatorze.
Cały proces warto ułożyć w stałą pętlę: markup, walidacja, publikacja, monitoring odpowiedzi AI, korekta źródła danych. Ostatni krok jest kluczowy. Jeśli AI podaje nieaktualną cenę, poprawiasz źródło, z którego powstaje i markup, i feed, a nie sam skrypt na stronie. Semly odpowiada w tym procesie za monitoring i gotowe plany działania, a nie za zarządzanie markupem w CMS-ie. Markup da się utrzymać procesowo, na przykład przez generator treści Semly, który zwraca gotowy JSON-LD do skopiowania.
Najczęstsze pytania
Czy Microdata jest przestarzała? Nie. Google nadal ją wspiera i nie zapowiada wycofania. Migruj tylko wtedy, gdy masz konkretny problem utrzymaniowy.
Czy JSON-LD poprawia cytowania w ChatGPT? Brak dowodów. Format nie jest wymaganiem żadnego z modeli, a publiczne badania nie porównują składni pod kątem cytowań.
Czy Google wymaga schema dla AI Overviews? Nie. Google wprost pisze, że nie ma specjalnego schema.org, które trzeba dodać, żeby pojawić się w funkcjach AI.
Czy walidator gwarantuje rich result? Nie. Potwierdza poprawność danych, ale o pokazaniu rozszerzonego wyniku decydują inne czynniki.
Czy łączyć JSON-LD i Microdata dla tej samej encji? Nie. To prosta droga do konfliktu danych i duplikatów. Wybierz jedno źródło dla każdej encji.
Chcesz wiedzieć, czy AI w ogóle cytuje Twoją markę i z jakich źródeł? Zamów darmowy raport widoczności w AI na report.semly.ai i sprawdź to na własnych danych, zanim zaczniesz zmieniać format schema.