Darmowy raport widoczności w AI

Sprawdź, czy Twoja firma jest widoczna w AI

Zobacz za darmo, czy ChatGPT, Gemini i Google AI wymieniają Twoją firmę w swoich odpowiedziach.

Sprawdź widoczność za darmo →

JSON-LD czy Microdata? Wybór formatu Schema.org

Hero Image

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, itemtype i itemprop. Dane siedzą w tym samym miejscu co treść, którą widzi użytkownik.
  • RDFa to również atrybuty HTML, ale z innym zestawem: vocab, typeof i property. 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. FAQPage nie 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:

  1. Porównaj renderowany HTML z widoczną stroną: nazwa, cena, autor, URL. Muszą być identyczne.
  2. Sprawdź, czy nie ma dwóch źródeł tej samej encji: wtyczka, szablon i GTM potrafią wygenerować trzy bloki.
  3. Uruchom Schema Markup Validator, żeby sprawdzić składnię i słownik.
  4. Uruchom Rich Results Test, żeby sprawdzić, czy Google widzi daną funkcję.
  5. Sprawdź URL Inspection, żeby zobaczyć, co faktycznie widzi Googlebot.
  6. Przetestuj każdą wersję językową osobno, z jej własnym URL-em i treścią.
  7. 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.

Źródła

Sprawdź, czy Cię widzi

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