O czym jest ten przewodnik
- Czym jest Schema.org i po co jest mikroznaczenie
- Jaki format używać (JSON-LD)
- Pola obowiązkowe i zalecane dla karty produktu
- Krok po kroku: od prostego do zaawansowanego przykładu
- Weryfikacja, narzędzia i rekomendacje
- Specyfika dla platform e-commerce
1. Czym jest Schema.org i dlaczego jest ważne
Schema.org to słownik (schemat neutralny wobec dostawców) dla danych strukturalnych, wspierany przez główne wyszukiwarki. Oznaczenia pomagają wyszukiwarkom poprawnie zrozumieć zawartość karty produktu i mogą prowadzić do rozszerzonych fragmentów (cena, dostępność, oceny, recenzje, zdjęcia oraz poprawne wyświetlanie w mediach społecznościowych poprzez Open Graph i Twitter Cards).
Oficjalne linki (zalecane):
2. Jaki format oznaczeń używać
Google zaleca JSON-LD. Nie ingeruje w DOM, łatwo wstawiać go po stronie serwera i dynamicznie generować z danych z bazy.
3. Pola obowiązkowe dla poprawnej karty produktu
Minimalne wymagania dla prawidłowej obsługi przez Google:
- name — nazwa produktu
- image — przynajmniej jedno zdjęcie (URL)
- description — krótki opis
- offers.price — cena
- offers.priceCurrency — waluta (kod ISO, np. PLN, USD)
- offers.availability — dostępność (https://schema.org/InStock itp.)
- offers.url — URL strony produktu
4. Zalecane dodatkowe pola (pełna lista przydatnych atrybutów)
- sku — numer katalogowy
- mpn — numer części producenta
- gtin8 / gtin12 / gtin13 / gtin14 — kod kreskowy
- brand — marka
- category — kategoria
- color, material, size, weight — cechy produktu
- aggregateRating — ocena zbiorcza
- review — recenzje
- itemCondition — stan produktu
- additionalProperty — dowolne właściwości (PropertyValue)
- shippingDetails / OfferShippingDetails — warunki wysyłki
- seller — sprzedawca
5. Prosty działający przykład JSON-LD (minimum)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Słuchawki bezprzewodowe X100",
"image": "https://site.com/images/headphones-x100.jpg",
"description": "Bezprzewodowe słuchawki z redukcją szumów.",
"offers": {
"@type": "Offer",
"url": "https://site.com/product/headphones-x100",
"priceCurrency": "PLN",
"price": "2499",
"availability": "https://schema.org/InStock"
}
}
</script>
Uwaga: price — podawaj jako liczbę lub string cyfr (bez symbolu waluty). availability używaj pełnego URL Schema.org (np. https://schema.org/InStock).
6. Szczegółowe oznaczenie produktu (pełny przykład)
Poniżej przykład z wieloma polami: GTIN, marka, SKU, wiele obrazów, aggregateRating, review, additionalProperty, shippingDetails.
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Xiaomi Mi Band 7",
"image": [
"https://site.com/upload/mi-band-7-1.webp",
"https://site.com/upload/mi-band-7-2.webp"
],
"description": "Opaska fitness z ekranem AMOLED i pulsometrem.",
"sku": "MI-BAND-7-BLACK",
"mpn": "MB7-2025",
"gtin13": "6954176850021",
"brand": {
"@type": "Brand",
"name": "Xiaomi"
},
"additionalProperty": [
{"@type": "PropertyValue","name": "Kolor","value": "Czarny"},
{"@type": "PropertyValue","name": "Materiał","value": "Silikon, metal"}
],
"offers": {
"@type": "Offer",
"url": "https://site.com/product/mi-band-7/",
"priceCurrency": "PLN",
"price": "1499",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {"@type": "Organization","name": "Hotlist.biz"},
"shippingDetails": {"@type": "OfferShippingDetails","shippingRate":{"@type": "MonetaryAmount","value":"50"}}
},
"aggregateRating": {"@type": "AggregateRating","ratingValue": "4.8","reviewCount": "238"},
"review": [
{"@type": "Review","author": "Olena","datePublished": "2025-02-10","reviewBody": "Świetna opaska, działa stabilnie!","reviewRating":{"@type": "Rating","ratingValue":"5"}}
]
}
</script>
7. Produkty wariantowe (rozmiar/kolor) — podejścia
Są dwa popularne podejścia:
- Jeden główny
Product+ listaoffers(lub osobneOfferdla każdego wariantu). - Kilka produktów
Product(po jednym na unikalną stronę wariantu) — stosować, jeśli wariant ma własną stronę/URL.
Przykład: Product z dwoma Offer (dwa kolory, jedna strona):
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"Product",
"name":"Koszulka Classic",
"image":["https://site.com/img/tshirt-red.jpg"],
"description":"Klasyczna koszulka",
"sku":"TSHIRT-001",
"brand":{"@type":"Brand","name":"BrandCo"},
"offers":[
{"@type":"Offer","sku":"TSHIRT-001-RED","price":"599","priceCurrency":"PLN","availability":"https://schema.org/InStock","itemCondition":"https://schema.org/NewCondition","color":"Czerwony"},
{"@type":"Offer","sku":"TSHIRT-001-BLUE","price":"599","priceCurrency":"PLN","availability":"https://schema.org/OutOfStock","itemCondition":"https://schema.org/NewCondition","color":"Niebieski"}
]
}
</script>
8. BreadcrumbList (okruszki) — przydatne do nawigacji
Okruszki pomagają wyszukiwarkom pokazać strukturę strony w snippetach.
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"BreadcrumbList",
"itemListElement":[
{"@type":"ListItem","position":1,"name":"Strona główna","item":"https://site.com/"},
{"@type":"ListItem","position":2,"name":"Kategoria: Opaski","item":"https://site.com/category/bracelets"},
{"@type":"ListItem","position":3,"name":"Xiaomi Mi Band 7","item":"https://site.com/product/mi-band-7/"}
]
}
</script>
9. Jak weryfikować oznaczenia — narzędzia
- Google Rich Results Test — szybko pokazuje błędy i ostrzeżenia dla rich snippets.
- validator.schema.org — szczegółowa weryfikacja schematu.
- Google Search Console — w sekcji „Ulepszenia” → „Produkty” można śledzić błędy po publikacji.
10. Best practices i zalecenia
- Generuj JSON-LD po stronie serwera z bazy danych — cena, dostępność, sku, zdjęcia powinny być zsynchronizowane z treścią strony.
- Nie używaj testowych/fałszywych danych w produkcji.
- Jeśli pokazujesz kilka cen (promocje), używaj
priceValidUntili aktualnej ceny woffers.price. - Podawaj
priceCurrencyw formacie ISO (PLN, USD, EUR). - Nie twórz konfliktujących oznaczeń (różne ceny w widocznej treści i JSON-LD).
- Dla sklepów międzynarodowych — podawaj lokalizacje, adres sprzedawcy i shippingDetails.
11. Częste błędy i jak je naprawić
- Błąd: price zawiera symbol waluty — naprawa: przechowywać i wyświetlać tylko cyfry.
- Błąd: brak image — naprawa: dodaj przynajmniej 1 poprawny URL.
- Błąd: niezgodne URL — naprawa: używaj URL aktualnej strony produktu w offers.url.
- Błąd: fałszowanie tablicy review/aggregateRating — naprawa: pokazuj tylko prawdziwe recenzje.
12. Wskazówki SEO
- Dodaj dane strukturalne do każdej karty produktu — zwiększa szansę na rozszerzony snippet.
- Dodawaj szczegółowe obrazy (ImageObject) z podaniem width/height jeśli możliwe.
- Używaj
BreadcrumbListiProductrazem — poprawia nawigację w wynikach wyszukiwania. - Monitoruj Search Console i poprawiaj błędy oznaczeń.
13. Szablon do wstawienia w szablon produktu (dynamiczny)
Poniżej szablon, gdzie zmienne są podmieniane po stronie serwera (PHP/Twig/Smarty). Podstaw własne zmienne zamiast %VAR%.
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"Product",
"name":"%PRODUCT_NAME%",
"image":[%IMAGE_LIST%],
"description":"%SHORT_DESCRIPTION%",
"sku":"%SKU%",
"brand":{"@type":"Brand","name":"%BRAND%"},
"offers":{
"@type":"Offer",
"url":"%PRODUCT_URL%",
"priceCurrency":"%CURRENCY%",
"price":"%PRICE%",
"priceValidUntil":"%PRICE_VALID_UNTIL%",
"availability":"%AVAILABILITY%"
}
}
</script>
14. Ocena produktów (aggregateRating)
Ocena pozwala wyświetlać średnią wartość produktu i liczbę recenzji w rozszerzonym snippecie.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Słuchawki bezprzewodowe X100",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "154"
}
}
</script>
Zalecenie: ratingValue — liczba z kropką dziesiętną (np. 4.7), reviewCount — liczba całkowita.
15. Recenzje klientów (review)
Recenzje pozwalają szczegółowo opisywać opinie użytkowników o produkcie, w tym autora, datę publikacji i ocenę.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Słuchawki bezprzewodowe X100",
"review": [
{"@type":"Review","author":"Olena","datePublished":"2025-05-10","reviewBody":"Bardzo wygodne słuchawki, świetny dźwięk!","reviewRating":{"@type":"Rating","ratingValue":"5"}},
{"@type":"Review","author":"Igor","datePublished":"2025-05-12","reviewBody":"Dobre, ale trochę masywne.","reviewRating":{"@type":"Rating","ratingValue":"4"}}
]
}
</script>
Każda recenzja zawiera autora, datę publikacji, tekst i ocenę. Można dodawać dowolną liczbę recenzji.
16. Przydatne narzędzia i linki
Ważne dla użytkowników Hotlist.biz
Domyślnie platforma Hotlist.biz zawiera poprawne podstawowe mikroznaczenia (Product, Offer, Price, Availability, BreadcrumbList, ImageObject). Zwykle wystarczy rozszerzać je dodatkowymi polami (gtin, mpn i inne) w razie potrzeby.
Dodatkowo: na platformie automatycznie włączone są oznaczenia oceny (aggregateRating) i recenzje (review), co pozwala wyświetlać średnią ocenę i rzeczywiste opinie użytkowników w rozszerzonych snippetach.