Przejdź do głównej zawartości

Dane strukturalne Schema.org

Automatyczne dane strukturalne JSON-LD (Schema.org) na stronach produktów. Pomagają wyszukiwarkom wyświetlać rich snippets w wynikach.

Dane generują się automatycznie na stronach produktów. Nie potrzebujesz dodatkowej wtyczki SEO.

Jeśli używasz Yoast, Rank Math lub SEOPress, plugin uzupełnia ich dane zamiast duplikować.

Na stronie produktu generowany jest obiekt Product:

{
"@context": "https://schema.org",
"@type": "Product",
"name": "Koszulka bawełniana Premium",
"description": "Koszulka z certyfikowanej bawełny organicznej, rozmiary S-XXL.",
"image": [
"https://example.com/wp-content/uploads/koszulka-1.jpg",
"https://example.com/wp-content/uploads/koszulka-2.jpg"
],
"sku": "KSZ-001",
"gtin13": "5901234123457",
"brand": {
"@type": "Brand",
"name": "MojaMarka"
},
"manufacturer": {
"@type": "Organization",
"name": "Producent XYZ Sp. z o.o.",
"address": {
"@type": "PostalAddress",
"streetAddress": "ul. Fabryczna 1",
"addressLocality": "Warszawa",
"postalCode": "00-001",
"addressCountry": "PL"
},
"email": "[email protected]",
"url": "https://xyz.pl"
},
"countryOfOrigin": {
"@type": "Country",
"name": "PL"
},
"offers": { ... },
"aggregateRating": { ... }
}
Pole Schema.org Źródło danych Wymagane
name Nazwa produktu WooCommerce Tak
description Opis krótki produktu Tak
image Zdjęcie główne + galeria Tak
sku SKU produktu Nie
gtin13 / gtin8 Pole GTIN/EAN z Polski Nie
brand Producent/marka z Polski Nie
manufacturer Dane GPSR producenta Nie
countryOfOrigin Kraj pochodzenia z GPSR Nie
category Kategoria produktu Nie
material Atrybut “materiał” (jeśli istnieje) Nie
color Atrybut “kolor” (jeśli istnieje) Nie
weight Waga produktu WooCommerce Nie

Zagnieżdżony obiekt Offer z ceną i dostępnością:

{
"@type": "Offer",
"url": "https://example.com/produkt/koszulka-bawelniana/",
"price": "89.00",
"priceCurrency": "PLN",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"name": "Mój Sklep"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 2,
"unitCode": "d"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 3,
"unitCode": "d"
}
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "PL"
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"merchantReturnDays": 14,
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"returnMethod": "https://schema.org/ReturnByMail"
}
}
Pole Schema.org Źródło danych
price Cena produktu
priceCurrency Waluta WooCommerce
priceValidUntil Data zakończenia promocji
availability Status magazynowy
itemCondition Zawsze NewCondition
seller Nazwa sklepu z ustawień
deliveryTime Czas dostawy z modułu Polski
hasMerchantReturnPolicy Prawo odstąpienia z modułu Polski
Status WooCommerce Schema.org
instock https://schema.org/InStock
outofstock https://schema.org/OutOfStock
onbackorder https://schema.org/BackOrder

Produkty zmienne generują AggregateOffer:

{
"@type": "AggregateOffer",
"lowPrice": "69.00",
"highPrice": "129.00",
"priceCurrency": "PLN",
"offerCount": 6,
"availability": "https://schema.org/InStock",
"offers": [
{
"@type": "Offer",
"price": "69.00",
"sku": "KSZ-001-S",
"availability": "https://schema.org/InStock"
}
]
}

Przy produktach z opiniami generowany jest AggregateRating:

{
"@type": "AggregateRating",
"ratingValue": "4.5",
"bestRating": "5",
"worstRating": "1",
"ratingCount": 23,
"reviewCount": 18
}

Dane z systemu opinii WooCommerce. Z aktywnym modułem Zweryfikowane opinie uwzględniane są tylko opinie z potwierdzonego zakupu.

Poszczególne opinie generowane są jako obiekty Review:

{
"@type": "Review",
"author": {
"@type": "Person",
"name": "Jan K."
},
"datePublished": "2025-05-20",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Świetna jakość materiału, polecam."
}

Produkty spożywcze generują obiekt NutritionInformation:

{
"@type": "NutritionInformation",
"calories": "250 kcal",
"fatContent": "12 g",
"saturatedFatContent": "3 g",
"carbohydrateContent": "30 g",
"sugarContent": "5 g",
"proteinContent": "8 g",
"sodiumContent": "0.8 g",
"fiberContent": "2 g",
"servingSize": "100 g"
}
add_filter('polski/schema/product', function (array $schema, WC_Product $product): array {
// Dodanie własnego pola
$schema['award'] = 'Produkt Roku 2025';
return $schema;
}, 10, 2);
add_filter('polski/schema/offer', function (array $offer, WC_Product $product): array {
// Dodanie informacji o gwarancji
$offer['warranty'] = [
'@type' => 'WarrantyPromise',
'durationOfWarranty' => [
'@type' => 'QuantitativeValue',
'value' => 24,
'unitCode' => 'MON',
],
];
return $offer;
}, 10, 2);
add_filter('polski/schema/enabled', function (bool $enabled, int $product_id): bool {
// Wyłącz dla produktów z kategorii "tymczasowe"
if (has_term('tymczasowe', 'product_cat', $product_id)) {
return false;
}
return $enabled;
}, 10, 2);

Przetestuj dane strukturalne:

Z WP_DEBUG = true wtyczka loguje brakujące pola Schema.org do debug.log.

Plugin wykrywa wtyczki SEO i dostosowuje zachowanie:

Wtyczka Zachowanie
Yoast SEO Uzupełnia istniejący schemat Yoast o pola Polski
Rank Math Uzupełnia schemat Rank Math o pola Polski
SEOPress Uzupełnia schemat SEOPress o pola Polski
Brak Generuje pełny schemat samodzielnie

Przy duplikacji danych użyj filtra:

add_filter('polski/schema/standalone', '__return_false'); // Wyłącz samodzielne generowanie

Google nie wyświetla rich snippets - rich snippets mogą pojawić się po kilku tygodniach od zaindeksowania. Upewnij się, że dane przechodzą walidację w Rich Results Test.

Duplikacja danych strukturalnych - jeśli inna wtyczka generuje schemat Product, użyj filtra polski/schema/standalone do wyłączenia samodzielnego generowania.

Brak ocen w Schema.org - produkt musi mieć co najmniej 1 opinię z oceną gwiazdkową.

Zgłaszanie problemów: github.com/wppoland/polski/issues

Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.