BStudio Plugin

Rich Snippet Pro

Wersja: 1.0.0 Autor: Biegun.Studio Wymaga: WordPress 5.8+, PHP 7.4+, WooCommerce 6.0+

Automatyczny structured data / JSON-LD dla WooCommerce. Generuje markup schema.org dla produktów, ocen, okruszków i danych firmy — bez pisania kodu. Konfigurowalny z jednego panelu pod WooCommerce.

Co robi ta wtyczka?

Wtyczka automatycznie wstrzykuje bloki <script type="application/ld+json"> do sekcji <head> stron sklepu. Dane schema.org są generowane dynamicznie na podstawie aktualnych danych produktu z WooCommerce — ceny, dostępności, zdjęć, recenzji i kategorii.

Obsługiwane typy schema

🛍️
Product

Cena, dostępność, marka, stan, SKU, zdjęcia. Na stronach produktów WooCommerce. Pełna obsługa produktów zmiennych — osobny Offer per wariant.

AggregateRating

Oceny gwiazdkowe z recenzji WooCommerce. Dołączone do schema Product. Pojawia się tylko gdy produkt ma co najmniej jedną recenzję.

🔗
BreadcrumbList

Okruszki nawigacyjne na stronach produktów i kategorii. Automatyczna ścieżka z obsługą kategorii nadrzędnych. Widoczne w wynikach Google jako ścieżka URL.

🏢
Organization + WebSite

Dane firmy i strony — dodawane do wszystkich podstron. Pomaga Google zidentyfikować właściciela domeny i wyświetlić dane organizacji w panelu wiedzy.

Instalacja

  1. Skopiuj folder bstudio-rich-snippet-pro do /wp-content/plugins/.
  2. Aktywuj wtyczkę w panelu Wtyczki → Zainstalowane wtyczki.
  3. Przejdź do WooCommerce → Rich Snippet Pro i uzupełnij ustawienia.
  4. Sprawdź wynik w Google Rich Results Test.
Wymagania: WordPress 5.8+, PHP 7.4+, WooCommerce 6.0+. Kompatybilna z HPOS (High Performance Order Storage).

Konfiguracja — panel WooCommerce → Rich Snippet Pro

Aktywne typy schema

OpcjaDomyślnieOpis
ProductWłączonySchema produktu na stronach produktów WooCommerce
AggregateRatingWłączonyOceny gwiazdkowe z recenzji WooCommerce, dołączone do Product
BreadcrumbListWłączonyOkruszki na stronach produktów i kategorii
Organization / WebSiteWłączonyDane firmy na wszystkich stronach

Ustawienia produktu

PoleOpis
Marka (Brand)Globalna marka dla wszystkich produktów. Puste = nazwa witryny z WordPress.
Stan produktuNowy / Używany / Odnowiony — wartość itemCondition w schema Product.
SKU w schemaCzy dołączyć numer SKU produktu (pole sku w Product). SKU musi być ustawiony w WooCommerce.

Dane firmy

PoleOpis
Nazwa firmyPole name w Organization i WebSite. Puste = nazwa witryny WordPress.
URL firmyPole url w Organization i WebSite. Puste = URL strony głównej.
URL logoPełny URL do pliku logo. Google zaleca min. 112×112 px, format PNG/JPG. Opcjonalne.
E-mail kontaktowyPole email w Organization. Opcjonalne.

Przykładowe wyjście JSON-LD

Schema Product (produkt prosty)

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "BStudio Trust Badges",
  "url": "https://biegun.studio/sklep/produkt/trust-badges/",
  "description": "Ikony zaufania i bezpieczeństwa dla Twojego sklepu WooCommerce...",
  "image": "https://biegun.studio/sklep/wp-content/uploads/trust-badges.jpg",
  "sku": "BST-001",
  "brand": { "@type": "Brand", "name": "Biegun.Studio" },
  "itemCondition": "https://schema.org/NewCondition",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "PLN",
    "price": 49.00,
    "availability": "https://schema.org/InStock",
    "url": "https://biegun.studio/sklep/produkt/trust-badges/",
    "priceValidUntil": "2025-12-31"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.8,
    "reviewCount": 12,
    "bestRating": 5,
    "worstRating": 1
  }
}

Schema BreadcrumbList

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Strona główna", "item": "https://biegun.studio/sklep/" },
    { "@type": "ListItem", "position": 2, "name": "Sklep", "item": "https://biegun.studio/sklep/sklep/" },
    { "@type": "ListItem", "position": 3, "name": "SEO", "item": "https://biegun.studio/sklep/kategoria/seo/" },
    { "@type": "ListItem", "position": 4, "name": "BStudio Trust Badges" }
  ]
}

Walidacja schema

Po instalacji i konfiguracji sprawdź poprawność markup w narzędziach Google:

Uwaga — konflikty z Yoast SEO / RankMath: Jeśli masz aktywny Yoast SEO lub RankMath z włączonymi schema markup, mogą pojawić się duplikaty Product lub Organization. Wyłącz schema markup w Yoast/RankMath lub wyłącz odpowiedni typ schema w Rich Snippet Pro.

Produkty zmienne

Dla produktów zmiennych wtyczka generuje tablicę obiektów Offer — jeden na każdy dostępny wariant. Każdy Offer zawiera własną cenę, dostępność i SKU wariantu (jeśli ustawiony). Jest to zgodne z wytycznymi Google dla produktów z wariantami.

Warunki wyświetlania

Typ schemaNa jakich stronach
Organization + WebSiteWszystkie strony witryny
Product + AggregateRatingTylko strony pojedynczych produktów (is_singular('product'))
BreadcrumbListStrony produktów + strony kategorii produktów (is_product_category())

Struktura plików

bstudio-rich-snippet-pro/
├── bstudio-rich-snippet-pro.php ← Główny plik, HPOS compat, bootstrap
└── includes/
    ├── class-brsp-options.php ← Przechowywanie i odczyt ustawień (wp_options)
    ├── class-brsp-settings.php ← Panel WooCommerce → Rich Snippet Pro
    ├── class-brsp-schema-product.php ← Buduje Product + AggregateRating JSON-LD
    ├── class-brsp-schema-breadcrumb.php ← Buduje BreadcrumbList JSON-LD
    ├── class-brsp-schema-org.php ← Buduje Organization + WebSite JSON-LD
    └── class-brsp-renderer.php ← Hook wp_head, koordynuje wyjście JSON-LD

Często zadawane pytania

Czy wtyczka działa z Yoast SEO lub RankMath?

Tak, ale musisz wyłączyć schema markup w jednej z wtyczek, żeby uniknąć duplikatów. Yoast: Yoast SEO → Ustawienia → Integracje → Wyłącz schema. RankMath: Rank Math → Ustawienia modułów → Wyłącz Rich Snippets.

Kiedy pojawią się gwiazdki w Google?

Google musi ponownie zaindeksować strony po instalacji. Może to zająć od kilku dni do kilku tygodni. Przyspieszysz to przez ręczne żądanie indeksowania w Google Search Console (Inspekcja URL → Poproś o indeksowanie).

Produkt nie ma recenzji — czy AggregateRating zostanie pominięty?

Tak. Pole aggregateRating jest dodawane do schema tylko gdy produkt ma co najmniej jedną zatwierdzoną recenzję WooCommerce (get_review_count() > 0). Produkty bez recenzji otrzymują schema Product bez AggregateRating.

Czy logo musi być w określonym formacie?

Google zaleca logo w formacie PNG lub JPG, o rozmiarze co najmniej 112×112 pikseli. Maksymalna wielkość to 1MB. Logo powinno być na białym lub transparentnym tle. SVG jest akceptowany przez schema.org, ale Google może go nie obsługiwać w panelu wiedzy.

Wsparcie i zgłoszenia

Masz pytanie, napotkałeś problem albo chcesz rozwinąć to rozwiązanie pod swój sklep? Pomożemy.

Pomoc techniczna

Problemy z instalacją, konfiguracją lub działaniem wtyczki — opisz zgłoszenie, a wrócimy z rozwiązaniem.

Zgłoszenie (ticket)

Wyślij e-mail na shop@biegun.studio. W temacie podaj nazwę wtyczki i krótki opis. Dołącz wersje WordPressa, WooCommerce i PHP oraz kroki odtworzenia problemu.

Rozwój i modyfikacje

Potrzebujesz dodatkowej funkcji albo integracji? Realizujemy rozszerzenia i wdrożenia na zamówienie — napisz na shop@biegun.studio.

Pełna oferta wtyczek: biegun.studio/sklep