Skip to content
polar-commerce
← GEO

Schema.org pod AI search — recepty dla Shopify

Pełen stack schema.org pod AI search dla sklepów Shopify: Organization, Product, FAQPage, HowTo, BreadcrumbList. Z gotowymi przykładami JSON-LD.

Mateusz Śnieżek, Shopify Expert

Schema.org structured data jest jednym z najsilniejszych sygnałów dla AI search engines. Według testów Princeton/Georgia Tech 2024, dodanie pełnego stacku schema (Organization + Article + FAQPage + Product) zwiększa szansę cytowania w odpowiedziach AI o 30–80%. Ten artykuł pokazuje, co dokładnie wdrożyć na Shopify, z gotowymi snippetami JSON-LD.

Stack schema dla sklepu Shopify

SchemaGdzieKrytyczność
Organizationsite-wide w ``Krytyczna
Productkażdy PDPKrytyczna
FAQPagePDP + help center + pillarowe artykułyWysoka
Articlekażdy blog postWysoka
Person (Author)każdy blog postWysoka
BreadcrumbListkażda strona hierarchicznaŚrednia
HowTotutoriale i guidesŚrednia
AggregateRating + ReviewPDP z opiniamiŚrednia
WebSite + SearchActionhomepageNiska
speakablepillary, voice contentNiska

1. Organization schema (site-wide)

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://markabeauty.pl/#organization",
  "name": "Marka Beauty",
  "alternateName": "Marka Beauty Polska",
  "url": "https://markabeauty.pl",
  "logo": "https://markabeauty.pl/logo.png",
  "description": "Polski sklep Shopify z naturalnymi kosmetykami, dostawa w UE.",
  "foundingDate": "2022-03-01",
  "sameAs": [
    "https://www.linkedin.com/company/markabeauty",
    "https://www.crunchbase.com/organization/markabeauty",
    "https://www.wikidata.org/wiki/Q123456789",
    "https://www.instagram.com/markabeauty",
    "https://clutch.co/profile/markabeauty"
  ],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "ul. Przykładowa 10",
    "addressLocality": "Warszawa",
    "postalCode": "00-001",
    "addressCountry": "PL"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+48-22-123-4567",
    "contactType": "customer service",
    "availableLanguage": ["pl", "en"]
  }
}

2. Product schema (PDP)

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Krem nawilżający z kwasem hialuronowym 50ml",
  "image": [
    "https://markabeauty.pl/products/krem-1.jpg",
    "https://markabeauty.pl/products/krem-2.jpg"
  ],
  "description": "Lekki krem nawilżający dla skóry suchej i mieszanej.",
  "sku": "KH-NAW-50",
  "gtin13": "5901234567890",
  "brand": { "@type": "Brand", "name": "Marka Beauty" },
  "offers": {
    "@type": "Offer",
    "url": "https://markabeauty.pl/products/krem-nawilzajacy",
    "priceCurrency": "PLN",
    "price": "0.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": { "@id": "https://markabeauty.pl/#organization" }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

3. FAQPage schema (PDP / help center)

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Czy krem jest odpowiedni dla skóry wrażliwej?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Tak. Krem nie zawiera alkoholu, parabenów ani sztucznych zapachów. Przeszedł testy dermatologiczne na skórach wrażliwych."
      }
    },
    {
      "@type": "Question",
      "name": "Jak długo wystarcza opakowanie 50ml?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Przy stosowaniu 1×/dzień opakowanie wystarcza średnio na 6–8 tygodni."
      }
    }
  ]
}

4. Article schema (blog) z autorem

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Jak wybrać krem nawilżający — przewodnik",
  "description": "Pełny przewodnik wyboru kremu pod typ skóry.",
  "datePublished": "2026-04-15T10:00:00+02:00",
  "dateModified": "2026-05-01T10:00:00+02:00",
  "author": {
    "@type": "Person",
    "name": "Anna Kowalska",
    "url": "https://markabeauty.pl/o-nas",
    "jobTitle": "Cosmetic Chemist",
    "knowsAbout": ["Skincare", "Cosmetic Chemistry"],
    "sameAs": ["https://www.linkedin.com/in/annakowalska"]
  },
  "publisher": { "@id": "https://markabeauty.pl/#organization" },
  "mainEntityOfPage": "https://markabeauty.pl/blogs/wiedza/krem-nawilzajacy"
}

5. BreadcrumbList

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://markabeauty.pl" },
    { "@type": "ListItem", "position": 2, "name": "Pielęgnacja twarzy", "item": "https://markabeauty.pl/collections/twarz" },
    { "@type": "ListItem", "position": 3, "name": "Kremy", "item": "https://markabeauty.pl/products/krem-nawilzajacy" }
  ]
}

Walidacja

Po wdrożeniu zawsze waliduj:

  • Google Rich Results Test — najpopularniejszy walidator
  • Schema.org Validator — alternatywa, czystszy output
  • JSON-LD Playground — debugowanie składni
  • Najczęstsze błędy

  • Wiele Organization schema na różnych stronach z różnymi danymi → fragmentacja knowledge graph
  • Product schema bez `offers.price` lub z błędnym `availability`
  • FAQPage na stronach, które nie są FAQ — Google tego pilnuje, można dostać manual action
  • Author Person bez `sameAs` do LinkedIn — straszna strata sygnału
  • Schema w iframe lub w JS-renderowanym contencie — boty często nie egzekwują JS
  • Najczęściej zadawane pytania

    Czy Shopify generuje schema automatycznie?

    Częściowo. Większość themes generuje Product schema automatycznie. Reszta (Organization z sameAs, FAQPage, Article z author) wymaga manualnego wdrożenia w `theme.liquid` lub przez aplikację.

    Czy schema w `<script type="application/ld+json">` jest renderowane przez Shopify?

    Tak. Po prostu wstaw blok w Liquidzie — Shopify go nie modyfikuje.

    Ile schema mogę mieć na jednej stronie?

    Bez limitu. Na PDP typowo: Organization + Product + BreadcrumbList + FAQPage = 4 bloki. Wszystkie walidne.

    Czy schema rzeczywiście pomaga w AI search?

    Tak. Schema daje AI strukturę, której nie musi się domyślać z HTML. Testy pokazują wzrost cytowań o 30–80% po dodaniu pełnego stacku.

    Czy mogę używać Microdata zamiast JSON-LD?

    Możesz, ale nie powinieneś. JSON-LD jest preferowany przez Google i znacznie czystszy. Microdata jest deprecated w praktyce GEO.

    Co z dynamicznym schema (np. variants)?

    Generuj per-variant schema lub łącz przez `hasVariant`. Dla Shopify najprościej: jedno Product schema z `offers` typu `AggregateOffer` + osobne Offer per wariant.

    Jak monitorować, że schema dalej działa?

    Tygodniowy crawl Screaming Frog z extract JSON-LD + alert, gdy validator zwróci błąd. Dla większych sklepów: zewnętrzny tool jak Sitebulb lub ContentKing.