Dobrze ustawiony schema markup typu Product daje Twojemu produktowi w wynikach Google: ⭐ gwiazdki, cenę w PLN, status dostępności i nazwę marki — wprost w SERP-ie. CTR rośnie o 20–40%. Pokażemy, jak wdrożyć kompletny schema.org Product na WooCommerce — bez wtyczki, z wtyczką, i jak zwalidować, że Google go widzi.
Schema.org to wspólny słownik metadanych, którym Google (i Bing, Yandex) opisuje treść strony. Dla e-commerce najważniejsze typy to Product, Offer, AggregateRating, Brand, Review, BreadcrumbList. Dodanie poprawnego JSON-LD na stronie produktu odblokuje w Google Search:
Mierzony wpływ na CTR: średnio +25% organic CTR po poprawnym wdrożeniu rich snippets na sklepie e-commerce. To 25% więcej kliknięć na tym samym ranking — czysta wartość, bez budżetu mediowego.
Pełen schema Product w JSON-LD, ze wszystkimi rekomendowanymi polami:
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Łóżko tapicerowane Otello 160x200",
"image": [
"https://sklep.pl/wp-content/uploads/otello-1.jpg",
"https://sklep.pl/wp-content/uploads/otello-2.jpg"
],
"description": "Łóżko tapicerowane Otello z pojemnikiem...",
"sku": "OTELLO-160-GREY",
"gtin13": "5901234567890",
"mpn": "OTL160G",
"brand": {
"@type": "Brand",
"name": "Mebstyle"
},
"offers": {
"@type": "Offer",
"url": "https://sklep.pl/lozko-otello-160/",
"priceCurrency": "PLN",
"price": "2499.00",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "PL",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 14
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": 0,
"currency": "PLN"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "PL"
}
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "23"
}
}
Krytyczne pola (bez nich Google nie pokaże rich snippet): name, image, offers.price, offers.priceCurrency, offers.availability. Reszta opcjonalna, ale dodawanie znacząco poprawia jakość wyników.
Płatna wtyczka (~10 EUR/mc) — generuje schema Product automatycznie z danych WooCommerce. Plusy: zero kodu, działa out-of-the-box, aktualizuje się pod nowe wymagania Google. Minusy: ograniczona kontrola nad polami, czasem dodaje nadmiarowe pola, które konfliktują z innymi wtyczkami.
Bezpłatna wersja podstawowa, Pro ~30 USD/rok. Bardzo elastyczny schema generator — możesz dostosować każde pole. Plusy: świetne UI, bogata dokumentacja, dobre wsparcie WooCommerce. Minusy: dużo features, których nie używasz (zaśmieca admin).
Dla zaawansowanych — własna funkcja PHP w functions.php motywu, która generuje schema na podstawie WC product:
add_action('wp_head', 'els_product_schema', 20);
function els_product_schema() {
if (!is_product()) return;
global $product;
if (!$product) return;
$schema = [
'@context' => 'https://schema.org/',
'@type' => 'Product',
'name' => $product->get_name(),
'sku' => $product->get_sku(),
'description' => wp_strip_all_tags($product->get_short_description()),
'image' => wp_get_attachment_url($product->get_image_id()),
'offers' => [
'@type' => 'Offer',
'url' => get_permalink($product->get_id()),
'priceCurrency' => get_woocommerce_currency(),
'price' => $product->get_price(),
'availability' => $product->is_in_stock()
? 'https://schema.org/InStock'
: 'https://schema.org/OutOfStock',
],
];
echo '';
}
Zalety: pełna kontrola, zero overhead z wtyczek. Wady: trzeba aktualizować przy zmianach wymagań Google, własna odpowiedzialność za poprawność.
Po wdrożeniu KONIECZNIE waliduj. Najczęstsze błędy: literówka w nazwie pola, brak waluty, pusta wartość, nieprawidłowe URL, podwójny schema na tej samej stronie (np. wtyczka + własny kod). Narzędzia:
Od 2023 Google używa schema z twojej strony jako uzupełnienie feedu w Merchant Center. Jeśli feed mówi, że produkt kosztuje 2 499 zł, a schema na stronie mówi 2 199 zł — Google flagi jako „price mismatch” w GMC. Może skutkować disapproval feedu albo, w skrajnym wypadku, suspension konta.
Reguła: schema na stronie i feed w Merchant Center muszą być spójne co do price, availability, GTIN, image. Najlepiej oba źródła ciągną dane z tej samej tabeli WooCommerce.
Pełen guide jak prowadzić feed produktowy — Google Merchant Center. Pełen pakiet SEO sklepu — SEO dla e-commerce.