---
title: "Schema.org dla e-commerce: Kompletny przewodnik po danych strukturalnych"
description: "Jak wdrożyć Schema.org Product, Offer i AggregateRating w sklepie internetowym. Poznaj rich results i zwiększ CTR w wynikach wyszukiwania Google."
date: 2025-11-05
category: SEO
tags: ["Schema.org", "Structured Data", "E-commerce", "SEO", "Rich Results", "JSON-LD"]
url: https://uper.pl/blog/schema-org-ecommerce/
---

# Schema.org dla e-commerce: Kompletny przewodnik po danych strukturalnych

**Dane strukturalne** (structured data) to jeden z najskuteczniejszych sposobów na wyróżnienie się w wynikach wyszukiwania Google. Dla sklepów internetowych właściwa implementacja Schema.org może znacząco zwiększyć CTR dzięki **rich results** - bogatym wynikom z cenami, ocenami i dostępnością produktów.

## Czym są dane strukturalne Schema.org?

**Schema.org** to wspólna inicjatywa Google, Microsoft, Yahoo i Yandex, która definiuje standardowy słownik do opisywania treści na stronach internetowych. Dzięki temu wyszukiwarki lepiej rozumieją kontekst Twoich stron.

### Formaty implementacji

Dane strukturalne można implementować w trzech formatach:

1. **JSON-LD** (rekomendowany przez Google)
2. **Microdata** (wbudowane w HTML)
3. **RDFa** (rozszerzenie HTML5)

Google oficjalnie rekomenduje **JSON-LD**, ponieważ:
- Jest oddzielony od kodu HTML
- Łatwiejszy w implementacji i utrzymaniu
- Mniej podatny na błędy
- Wspiera dynamiczne generowanie

```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Nazwa produktu"
}
</script>
```

## Product Schema - podstawa e-commerce

**Product** to główny typ Schema.org dla stron produktowych. Pozwala opisać wszystkie kluczowe informacje o produkcie.

### Minimalna implementacja

```json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Koszulka polo męska Premium",
  "image": "https://example.com/images/koszulka-polo.jpg",
  "description": "Elegancka koszulka polo z bawełny organicznej. Dostępna w rozmiarach S-XXL.",
  "sku": "POLO-001",
  "brand": {
    "@type": "Brand",
    "name": "Premium Fashion"
  },
  "offers": {
    "@type": "Offer",
    "price": "149.99",
    "priceCurrency": "PLN",
    "availability": "https://schema.org/InStock"
  }
}
```

### Pełna implementacja z wszystkimi polami

```json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Koszulka polo męska Premium",
  "image": [
    "https://example.com/images/koszulka-polo-front.jpg",
    "https://example.com/images/koszulka-polo-back.jpg",
    "https://example.com/images/koszulka-polo-detail.jpg"
  ],
  "description": "Elegancka koszulka polo z bawełny organicznej. Dostępna w rozmiarach S-XXL. Idealna na co dzień i do biura.",
  "sku": "POLO-001",
  "mpn": "925872",
  "gtin13": "5901234123457",
  "brand": {
    "@type": "Brand",
    "name": "Premium Fashion"
  },
  "manufacturer": {
    "@type": "Organization",
    "name": "Premium Fashion Sp. z o.o."
  },
  "category": "Odzież > Męska > Koszulki polo",
  "color": "Granatowy",
  "material": "100% bawełna organiczna",
  "size": "M",
  "audience": {
    "@type": "PeopleAudience",
    "suggestedGender": "male"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/koszulka-polo-premium",
    "price": "149.99",
    "priceCurrency": "PLN",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "Organization",
      "name": "Sklep Premium Fashion"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "15.00",
        "currency": "PLN"
      },
      "shippingDestination": {
        "@type": "DefinedRegion",
        "addressCountry": "PL"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 0,
          "maxValue": 1,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 1,
          "maxValue": 3,
          "unitCode": "DAY"
        }
      }
    },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "PL",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "https://schema.org/FreeReturn"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "156",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "author": {
        "@type": "Person",
        "name": "Jan Kowalski"
      },
      "datePublished": "2025-10-15",
      "reviewBody": "Świetna jakość materiału, idealnie leży. Polecam!"
    }
  ]
}
```

## Offer Schema - ceny i dostępność

**Offer** opisuje ofertę sprzedaży produktu. Jest zagnieżdżony w Product lub może istnieć samodzielnie.

### Statusy dostępności

```json
"availability": "https://schema.org/InStock"           // Dostępny
"availability": "https://schema.org/OutOfStock"        // Niedostępny
"availability": "https://schema.org/PreOrder"          // Przedsprzedaż
"availability": "https://schema.org/BackOrder"         // Na zamówienie
"availability": "https://schema.org/Discontinued"      // Wycofany
"availability": "https://schema.org/LimitedAvailability" // Ograniczona dostępność
```

### Stany produktu

```json
"itemCondition": "https://schema.org/NewCondition"         // Nowy
"itemCondition": "https://schema.org/UsedCondition"        // Używany
"itemCondition": "https://schema.org/RefurbishedCondition" // Odnowiony
"itemCondition": "https://schema.org/DamagedCondition"     // Uszkodzony
```

### Warianty produktu (AggregateOffer)

Gdy produkt ma wiele wariantów z różnymi cenami:

```json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Buty sportowe Runner Pro",
  "offers": {
    "@type": "AggregateOffer",
    "lowPrice": "299.00",
    "highPrice": "349.00",
    "priceCurrency": "PLN",
    "offerCount": "5",
    "availability": "https://schema.org/InStock"
  }
}
```

## AggregateRating - oceny i recenzje

**AggregateRating** podsumowuje oceny produktu. To kluczowy element dla rich results z gwiazdkami.

### Podstawowa implementacja

```json
{
  "@type": "AggregateRating",
  "ratingValue": "4.5",
  "reviewCount": "89",
  "bestRating": "5",
  "worstRating": "1"
}
```

### Z pełnymi recenzjami

```json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Słuchawki bezprzewodowe Pro",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "234",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "author": {
        "@type": "Person",
        "name": "Anna Nowak"
      },
      "datePublished": "2025-11-20",
      "reviewBody": "Najlepsze słuchawki jakie miałam. Świetna izolacja dźwięku."
    },
    {
      "@type": "Review",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "4",
        "bestRating": "5"
      },
      "author": {
        "@type": "Person",
        "name": "Piotr Wiśniewski"
      },
      "datePublished": "2025-11-18",
      "reviewBody": "Bardzo dobre, ale etui mogłoby być mniejsze."
    }
  ]
}
```

## BreadcrumbList - ścieżka nawigacji

**BreadcrumbList** pomaga Google zrozumieć strukturę serwisu i wyświetla ścieżkę w wynikach wyszukiwania.

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Strona główna",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Odzież męska",
      "item": "https://example.com/odziez-meska/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Koszulki polo",
      "item": "https://example.com/odziez-meska/koszulki-polo/"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "Koszulka polo Premium"
    }
  ]
}
```

## Organization i LocalBusiness

Dla stron firmowych i o nas:

```json
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Premium Fashion Sp. z o.o.",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://www.facebook.com/premiumfashion",
    "https://www.instagram.com/premiumfashion",
    "https://www.linkedin.com/company/premiumfashion"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+48-22-123-45-67",
    "contactType": "customer service",
    "availableLanguage": ["Polish", "English"]
  }
}
```

Jeśli masz fizyczny sklep, użyj **LocalBusiness**:

```json
{
  "@context": "https://schema.org",
  "@type": "Store",
  "name": "Premium Fashion - Sklep stacjonarny",
  "image": "https://example.com/sklep.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Marszałkowska 100",
    "addressLocality": "Warszawa",
    "postalCode": "00-001",
    "addressCountry": "PL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 52.2297,
    "longitude": 21.0122
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "10:00",
      "closes": "20:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "10:00",
      "closes": "18:00"
    }
  ],
  "telephone": "+48-22-123-45-67"
}
```

## Implementacja w popularnych platformach

### WooCommerce

WooCommerce ma wbudowane dane strukturalne, ale warto je rozszerzyć wtyczką:
- **Rank Math SEO** - pełna kontrola nad Schema
- **Yoast SEO** - podstawowe dane strukturalne
- **Schema Pro** - zaawansowane opcje

### Shopify

Shopify automatycznie generuje podstawowe dane Product. Rozszerzenie:
- Edycja pliku `product.liquid`
- Aplikacje z App Store (JSON-LD for SEO)

### PrestaShop

```php
// W szablonie produktu
{literal}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "{/literal}{$product.name|escape:'htmlall':'UTF-8'}{literal}",
  "image": "{/literal}{$product.cover.large.url}{literal}",
  "description": "{/literal}{$product.description_short|strip_tags|escape:'htmlall':'UTF-8'}{literal}",
  "sku": "{/literal}{$product.reference}{literal}",
  "offers": {
    "@type": "Offer",
    "price": "{/literal}{$product.price_amount}{literal}",
    "priceCurrency": "PLN",
    "availability": "https://schema.org/{/literal}{if $product.quantity > 0}InStock{else}OutOfStock{/if}{literal}"
  }
}
</script>
{/literal}
```

### Custom (JavaScript/Astro/Next.js)

```javascript
// Generowanie JSON-LD w JavaScript
function generateProductSchema(product) {
  return {
    "@context": "https://schema.org",
    "@type": "Product",
    "name": product.name,
    "image": product.images,
    "description": product.description,
    "sku": product.sku,
    "brand": {
      "@type": "Brand",
      "name": product.brand
    },
    "offers": {
      "@type": "Offer",
      "price": product.price.toFixed(2),
      "priceCurrency": "PLN",
      "availability": product.inStock
        ? "https://schema.org/InStock"
        : "https://schema.org/OutOfStock",
      "itemCondition": "https://schema.org/NewCondition"
    },
    ...(product.rating && {
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": product.rating.average.toFixed(1),
        "reviewCount": product.rating.count.toString()
      }
    })
  };
}

// Wstrzyknięcie do HTML
const schema = generateProductSchema(productData);
document.head.insertAdjacentHTML(
  'beforeend',
  `<script type="application/ld+json">${JSON.stringify(schema)}</script>`
);
```

## Testowanie i walidacja

### Narzędzia Google

1. **Rich Results Test** - Oficjalne narzędzie Google
   [https://search.google.com/test/rich-results](https://search.google.com/test/rich-results)

2. **Schema Markup Validator** - Szczegółowa walidacja
   [https://validator.schema.org/](https://validator.schema.org/)

3. **Google Search Console** - Raport "Ulepszenia" pokazuje błędy w danych strukturalnych

### Częste błędy walidacji

1. **Brak wymaganych pól** - np. `offers` bez `price`
2. **Nieprawidłowe wartości** - np. `availability` bez pełnego URL
3. **Błędne typy danych** - np. `price` jako number zamiast string
4. **Brak kontekstu** - zapomniany `@context`

## Najlepsze praktyki

### 1. Dokładność danych

Dane strukturalne MUSZĄ odpowiadać treści widocznej na stronie. Google karze za rozbieżności.

### 2. Jedna implementacja na stronę

Unikaj duplikowania tego samego typu Schema na jednej stronie.

### 3. Aktualizuj dane dynamicznie

Ceny, dostępność i oceny powinny być aktualizowane w czasie rzeczywistym.

### 4. Testuj przed wdrożeniem

Zawsze waliduj Schema przed publikacją na produkcji.

### 5. Monitoruj w Search Console

Regularnie sprawdzaj raport "Ulepszenia" w [Google Search Console](/blog/google-search-console/).

## Podsumowanie

Dane strukturalne **Schema.org** to must-have dla każdego sklepu internetowego. Prawidłowa implementacja:

- Zwiększa CTR dzięki rich results (gwiazdki, ceny, dostępność)
- Pomaga Google lepiej zrozumieć Twoje produkty
- Może poprawić pozycje w wynikach wyszukiwania
- Ułatwia integrację z Google Shopping

Zacznij od podstawowej implementacji **Product** z **Offer**, a następnie rozszerzaj o **AggregateRating**, **Review** i szczegóły wysyłki. Pamiętaj o regularnym testowaniu i monitorowaniu w Search Console.

## Źródła

1. **Google Search Central - Structured data markup**
[https://developers.google.com/search/docs/appearance/structured-data](https://developers.google.com/search/docs/appearance/structured-data)

2. **Schema.org - Product**
[https://schema.org/Product](https://schema.org/Product)

3. **Google Search Central - Product structured data**
[https://developers.google.com/search/docs/appearance/structured-data/product](https://developers.google.com/search/docs/appearance/structured-data/product)

4. **Google Rich Results Test**
[https://search.google.com/test/rich-results](https://search.google.com/test/rich-results)

5. **Schema.org - Offer**
[https://schema.org/Offer](https://schema.org/Offer)

6. **Google Search Central - Review snippet**
[https://developers.google.com/search/docs/appearance/structured-data/review-snippet](https://developers.google.com/search/docs/appearance/structured-data/review-snippet)
