Znaczniki strukturalne w GEO: Jak schema.org pomaga AI zrozumieć Twoją stronę
Wprowadzenie
W erze wyszukiwania generatywnego i modeli takich jak ChatGPT, Gemini czy Claude, kluczowe staje się nie tylko tworzenie wartościowych treści, ale także ich precyzyjne oznaczanie. Jak potwierdził przedstawiciel Binga, wdrożenie znaczników strukturalnych (schema.org) ułatwia modelom AI poprawną interpretację treści i kontekstu strony.
Dane strukturalne pozwalają przekazać AI klarowne informacje — od tego, kto jest autorem artykułu, po cenę produktu czy oceny klientów. To bezpośrednio zwiększa szansę, że fakty z Twojej strony zostaną poprawnie zacytowane w odpowiedziach generatywnych.
Dlaczego schema.org jest istotne dla GEO
W tradycyjnym SEO dane strukturalne pomagały wyszukiwarkom tworzyć rich snippets w wynikach Google czy Binga.
W GEO ich rola jest jeszcze większa — to język faktów dla AI.
Korzyści wdrożenia schema.org w kontekście GEO:
- Większa precyzja w odpowiedziach AI – modele mają mniejsze ryzyko „halucynacji”, gdy otrzymują jasno opisane fakty.
- Lepsza interpretacja kontekstu – AI rozpoznaje, czy dana strona to sklep, artykuł ekspercki, recenzja produktu czy instrukcja krok po kroku.
- Potencjalne pierwszeństwo cytowania – jeśli Twoje dane są spójne i uporządkowane, model może wybrać je jako wiarygodne źródło.
- Zachowanie atrybucji – w schemacie można jasno określić autora, firmę czy źródło, co zwiększa szansę, że zostanie ono wymienione w odpowiedzi.
Najważniejsze typy znaczników schema.org dla GEO
Oto przykłady, które mają szczególne znaczenie w optymalizacji pod modele generatywne:
Typ schematu | Zastosowanie w GEO | Przykładowe dane przekazywane AI |
---|---|---|
Organization | Identyfikacja firmy i jej wiarygodności | Nazwa, logo, adres, dane kontaktowe |
Article | Oznaczenie artykułów eksperckich i newsów | Autor, data publikacji, opis, tytuł |
FAQPage | Bezpośrednie dostarczanie odpowiedzi na pytania | Pytania i odpowiedzi w formacie czytelnym dla AI |
HowTo | Instrukcje krok po kroku | Kroki, materiały, czas realizacji |
Product | Opisy produktów | Cena, dostępność, oceny klientów, producent |
Review / AggregateRating | Opinie i średnia ocena | Liczba recenzji, średnia ocena |
Event | Wydarzenia branżowe | Data, lokalizacja, bilety |
Jak wdrożyć schema.org pod kątem GEO
- Wybierz odpowiedni typ schematu – dostosuj go do rodzaju treści.
- Używaj formatu JSON-LD – jest rekomendowany przez Google i Bing.
- Dbaj o spójność danych – te same fakty muszą być widoczne w treści strony i w danych strukturalnych.
- Testuj w narzędziach weryfikacyjnych – np. Rich Results Test lub Schema.org Validator.
- Aktualizuj na bieżąco – szczególnie dane dynamiczne, jak ceny czy dostępność produktów.
Przykład – FAQPage w JSON-LD
jsonKopiujEdytuj<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Jak schema.org pomaga w GEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Dzięki znacznikom schema.org AI może poprawnie interpretować treść i kontekst strony, co zwiększa szanse na prawidłowe cytowanie faktów."
}
}]
}
</script>
Znaczniki strukturalne a przyszłość widoczności
Wraz z rozwojem generatywnego wyszukiwania, tradycyjne pozycje w SERP-ach tracą na znaczeniu, a na pierwszy plan wysuwają się AI answers.
Dzięki schema.org Twoje treści mają większą szansę, by stać się częścią odpowiedzi generatywnych – z atrybucją Twojej marki.
Wniosek:
Jeśli chcesz, aby AI nie tylko znalazło Twoje treści, ale też poprawnie je zacytowało, schema.org to obecnie jeden z najważniejszych elementów strategii GEO.
Jeśli chcesz, mogę przygotować też dedykowany schemat wdrożenia schema.org dla strony firmy z branży opakowaniowej, z przykładami JSON-LD dla produktów, poradników i FAQ, które zwiększą Twoją widoczność w AI-snippetach.
Jeśli potrzebujesz doradztwa lub wsparcia w zakresie GEO lub optymalizacji treści pod modele AI – napisz do nas: kontakt@integratorai.pl
3 sensowne ścieżki w WordPressie
Poniżej co gdzie wpiąć (bez nadmiaru magii) + tipy, żeby nie narobić duplikatów.
1) Wtyczki SEO (najszybciej)
Yoast / Rank Math / SEOPress – dają gotowe grafy Organization
, WebSite
, BreadcrumbList
, Article
, a w WooCommerce także Product/Offer/Review
.
- Gdzie kliknąć:
- Yoast → Ustawienia → „Ustawienia witryny” (Nazwa firmy, logo), „Typ treści” (Artykuły), „Okruszki”.
- Rank Math → Titles & Meta → Global Meta (Organization/WebSite), WooCommerce (Product).
- SEOPress → SEO → Schematy → Włącz typy i reguły wyświetlania.
- Plusy: szybkie, automatyczne aktualizacje.
- Minusy: ograniczona granularność niestandardowych pól (np.
additionalProperty
z grubością folii, PCR itd.).
👉 Rozwiązanie: zostaw wtyczce bazowy graf (Organization/WebSite/Breadcrumbs/Article), a produktowy JSON-LD dolej własny (poniżej #3), wyłączając duplikujące „Product” w ustawieniach wtyczki (jeśli chcesz pełną kontrolę).
2) Bloki WP (HowTo/FAQ) – “bez kodu”
- Yoast HowTo/FAQ Blocks albo Rank Math Schema Blocks pozwalają dodać
FAQPage
iHowTo
z edytora Gutenberg. - Gdzie: w edytorze wpisu/poradnika dodajesz blok „FAQ” lub „HowTo”.
- Plusy: schludny JSON-LD zgodny z Google.
- Uwaga: trzymaj pytania/odpowiedzi spójne z tekstem na stronie.
3) Własny JSON-LD (pełna kontrola – polecane dla produktów Foliareczna.pl)
Masz trzy wygodne miejsca:
A. Snippet systemowy (bez dotykania motywu)
- Wtyczka Code Snippets → „Add New” → wklejasz PHP i ustawiasz „Run snippet everywhere”.
B. Motyw potomny (child theme)
- Dodaj do
functions.php
(child theme, nie w motywie rodzicu).
C. Hook specyficzny dla WooCommerce
- Filtry WooCommerce pozwalają dosztukować lub nadpisać dane produktowe.
Przykład 1 — własny JSON-LD przez wp_head
(warunki stron)
phpKopiujEdytujadd_action('wp_head', function () {
if (is_product()) {
global $product;
// Pobierz pola z produktu (ACF / atrybuty Woo)
$grubosc = get_post_meta($product->get_id(), 'grubosc_mikron', true); // np. 15
$szerokosc = get_post_meta($product->get_id(), 'szerokosc_mm', true); // np. 500
$dlugosc = get_post_meta($product->get_id(), 'dlugosc_m', true); // np. 240
$pcr = get_post_meta($product->get_id(), 'pcr_proc', true); // np. 30
$ean = get_post_meta($product->get_id(), '_ean', true);
$data = [
"@context" => "https://schema.org",
"@type" => "Product",
"@id" => get_permalink($product->get_id()) . "#product",
"name" => get_the_title(),
"description" => wp_strip_all_tags(get_the_excerpt() ?: get_the_content()),
"image" => array_values(array_filter($product->get_gallery_image_ids() ? array_map('wp_get_attachment_url', $product->get_gallery_image_ids()) : [get_the_post_thumbnail_url()])),
"sku" => $product->get_sku(),
"gtin13" => $ean ?: null,
"brand" => ["@type"=>"Brand","name"=>"FoliaReczna"],
"category" => "Materiały opakowaniowe > Folia stretch ręczna",
"material" => "PE-LLD",
"additionalProperty" => array_values(array_filter([
["@type"=>"PropertyValue","name"=>"Grubość","value"=> $grubosc ? $grubosc." µm" : null],
["@type"=>"PropertyValue","name"=>"Szerokość","value"=> $szerokosc ? $szerokosc." mm" : null],
["@type"=>"PropertyValue","name"=>"Długość","value"=> $dlugosc ? $dlugosc." m" : null],
["@type"=>"PropertyValue","name"=>"Zawartość PCR","value"=> $pcr ? $pcr."%" : null],
["@type"=>"PropertyValue","name"=>"Średnica rdzenia","value"=> get_post_meta($product->get_id(), 'rdzen_mm', true) ? get_post_meta($product->get_id(), 'rdzen_mm', true)." mm" : null],
])),
"offers" => [
"@type"=>"Offer",
"url"=> get_permalink(),
"priceCurrency"=> get_woocommerce_currency(),
"price"=> $product->get_price(),
"availability"=> $product->is_in_stock() ? "https://schema.org/InStock" : "https://schema.org/OutOfStock",
"itemCondition"=>"https://schema.org/NewCondition",
"seller"=> ["@id"=> home_url('#org')]
]
];
echo '<script type="application/ld+json">'.wp_json_encode($data, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES).'</script>';
}
// Kategoria: CollectionPage + ItemList + BreadcrumbList
if (is_product_category()) {
$items = [];
$position = 1;
if (have_posts()) {
while (have_posts()) { the_post();
$items[] = ["@type"=>"ListItem","position"=>$position++,"url"=> get_permalink()];
} wp_reset_query();
}
$graph = [
[
"@type"=>"BreadcrumbList",
"itemListElement"=> wc_get_breadcrumb() ? array_values(array_map(function($crumb, $i){
return [
"@type"=>"ListItem",
"position"=>$i+1,
"name"=>$crumb[0],
"item"=> isset($crumb[1]) ? $crumb[1] : null
];
}, wc_get_breadcrumb(), array_keys(wc_get_breadcrumb()))) : []
],
[
"@type"=>"CollectionPage",
"name"=> single_term_title('', false),
"url"=> get_term_link(get_queried_object())
],
[
"@type"=>"ItemList",
"itemListElement"=> $items
]
];
echo '<script type="application/ld+json">'.wp_json_encode(["@context"=>"https://schema.org","@graph"=>$graph], JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES).'</script>';
}
});
Przykład 2 — dopisz pola do domyślnego schematu WooCommerce
Jeśli nie wyłączasz Product Schema w wtyczce SEO/Woo, możesz wstrzyknąć swoje atrybuty:
phpKopiujEdytujadd_filter('woocommerce_structured_data_product', function($markup, $product){
// dodajemy additionalProperty
$props = [
["@type"=>"PropertyValue","name"=>"Grubość","value"=> get_post_meta($product->get_id(),'grubosc_mikron',true)." µm"],
["@type"=>"PropertyValue","name"=>"Szerokość","value"=> get_post_meta($product->get_id(),'szerokosc_mm',true)." mm"],
["@type"=>"PropertyValue","name"=>"Długość","value"=> get_post_meta($product->get_id(),'dlugosc_m',true)." m"],
["@type"=>"PropertyValue","name"=>"Zawartość PCR","value"=> get_post_meta($product->get_id(),'pcr_proc',true)."%"]
];
$markup['additionalProperty'] = isset($markup['additionalProperty']) && is_array($markup['additionalProperty'])
? array_merge($markup['additionalProperty'], $props)
: $props;
return $markup;
}, 10, 2);
Uwaga: trzymaj się jednego źródła „Product” na stronie. Jeśli dodajesz własny pełny
Product
, wyłącz „Product schema” w wtyczce SEO/Woo (żeby nie dublować).
Gdzie dodać Organization
/ WebSite
(global)?
- Rekomenduję raz na cały serwis: w
wp_head
(snippet z #1 case study). - Jeśli używasz Yoast/Rank Math, to użyj ich i nie duplikuj własnym skryptem.
- Dane firmy (logo, nazwa, kontakt) uzupełnij w ustawieniach wtyczki.
Gdzie dodać HowTo
i FAQPage
?
- Najprościej blokami Yoast/Rank Math w edytorze (w tekście poradnika).
- Jeśli wolisz ręcznie: wstaw JSON-LD (z case study) w polu nagłówka (niektóre motywy mają „Custom Head”), albo globalnie przez
wp_head
z warunkiemis_single()
+ sprawdzenie ID wpisu/slug.
ACF / Pola produktu
- Dodaj pola:
grubosc_mikron
,szerokosc_mm
,dlugosc_m
,rdzen_mm
,pcr_proc
,gtin
. - Mapuj je w snippetach – wtedy JSON-LD „żyje” danymi z panelu (nie z tekstu).
Unikanie duplikatów (ważne!)
- Zdecyduj, kto renderuje Product: wtyczka czy Twój kod. Nie oba.
- Jeśli Twoje: wyłącz Product Schema w Yoast/Rank Math/SEOPress/Woo.
- Sprawdź w Rich Results Test i validator.schema.org – czy masz 1 × Product i spójne pola.
Testy i monitoring
- Po wdrożeniu: sprawdź kilka adresów (strona główna, kategoria, 2–3 produkty, 1–2 poradniki, 1 FAQ).
- Zaplanuj cron (np. raz dziennie) do walidacji kluczowych URL-i przez API (lub ręcznie raz w tygodniu).
- Aktualizacje cen/dostępności: upewnij się, że snippety biorą aktualne dane z Woo (nie z twardych stringów).
Podsumowanie
- Najprościej: Yoast/Rank Math + bloki HowTo/FAQ, a produkty pod Foliareczna.pl „dokręcić” własnym JSON-LD przez
wp_head
albo filtry Woo. - Najczyściej: jeden emitent
Product
na stronę, spójność wartości, walidacja po każdej większej zmianie.
Chcesz? Mogę przygotować gotowy snippet „kopiuj-wklej” pod Wasz motyw (z mapowaniem ACF i Woo), plus checklistę co wyklikać w Rank Math/Yoast, żeby uniknąć konfliktów.
Case study FoliaReczna.pl
Link: https://FoliaReczna.pl
Cele GEO
- Zrozumiałość dla AI: jasne fakty (kto, co, za ile, parametry techniczne, opinie).
- AI-snippety: większa szansa poprawnego cytowania i atrybucji marki.
- Spójność danych: te same liczby w treści, w JSON-LD i w feedach (np. cenniki).
Zakres wdrożenia
- Warstwa globalna:
Organization
,WebSite
+SearchAction
,Logo
,ContactPoint
,SameAs
. - Kategorie:
CollectionPage
+BreadcrumbList
+ (opcjonalnie)ItemList
. - Produkty:
Product
+Offer
(+AggregateRating
/Review
kiedy dostępne) + atrybuty branżowe. - Poradniki:
HowTo
(krok po kroku) i/lubArticle
. - FAQ:
FAQPage
na stronach poradnikowych i kategorii. - Logistyka:
ShippingDetails
(czas dostawy, koszt, regiony). - Dane firmowe:
Organization
na /o-nas oraz w stopce.
1) Warstwa globalna (site-wide)
Gdzie: w <head>
na każdej stronie (można przez layout).
html<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://foliareczna.pl/#org",
"name": "FoliaReczna.pl",
"url": "https://foliareczna.pl/",
"logo": {
"@type": "ImageObject",
"url": "https://foliareczna.pl/static/logo.png"
},
"foundingDate": "2010",
"legalName": "FoliaReczna.pl Sp. z o.o.",
"address": {
"@type": "PostalAddress",
"addressCountry": "PL",
"addressLocality": "Warszawa",
"postalCode": "00-000",
"streetAddress": "ul. Przykładowa 1"
},
"contactPoint": [{
"@type": "ContactPoint",
"contactType": "sales",
"telephone": "+48-605-318-315",
"email": "kontakt@foliareczna.pl",
"areaServed": "PL",
"availableLanguage": ["pl-PL","en-GB"]
}],
"sameAs": [
"https://www.facebook.com/foliareczna",
"https://www.linkedin.com/company/foliareczna"
]
},
{
"@type": "WebSite",
"@id": "https://foliareczna.pl/#website",
"url": "https://foliareczna.pl/",
"name": "FoliaReczna.pl",
"publisher": { "@id": "https://foliareczna.pl/#org" },
"inLanguage": "pl-PL",
"potentialAction": {
"@type": "SearchAction",
"target": "https://foliareczna.pl/szukaj?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
]
}
</script>
2) Strony kategorii (np. „Folia stretch ręczna”)
Gdzie: w kategoriach. Pomaga AI zrozumieć listę produktów i nawigację.
html<script type="application/ld+json">
{
"@context":"https://schema.org",
"@graph":[
{
"@type":"BreadcrumbList",
"itemListElement":[
{ "@type":"ListItem","position":1,"name":"Strona główna","item":"https://foliareczna.pl/"},
{ "@type":"ListItem","position":2,"name":"Folie stretch","item":"https://foliareczna.pl/folie-stretch"},
{ "@type":"ListItem","position":3,"name":"Folia stretch ręczna","item":"https://foliareczna.pl/folia-stretch-reczna"}
]
},
{
"@type":"CollectionPage",
"name":"Folia stretch ręczna",
"url":"https://foliareczna.pl/folia-stretch-reczna",
"inLanguage":"pl-PL",
"about":{"@id":"https://foliareczna.pl/#org"},
"isPartOf":{"@id":"https://foliareczna.pl/#website"}
},
{
"@type": "ItemList",
"itemListElement": [
{
"@type":"ListItem","position":1,
"url":"https://foliareczna.pl/produkt/folia-12-micron-500mm-300m"
},
{
"@type":"ListItem","position":2,
"url":"https://foliareczna.pl/produkt/folia-15-micron-500mm-240m"
}
]
}
]
}
</script>
3) Karta produktu (Product + Offer + opcje branżowe)
Gdzie: każda strona produktu. Uzupełnij realne parametry.
html<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"Product",
"@id":"https://foliareczna.pl/produkt/folia-15-micron-500mm-240m#product",
"name":"Folia stretch ręczna 15 µm, 500 mm × 240 m",
"description":"Wysokiej jakości folia stretch ręczna do zabezpieczania przesyłek. Idealna dla e-commerce i magazynów.",
"image":[
"https://foliareczna.pl/media/folia15-500-240m-1.jpg",
"https://foliareczna.pl/media/folia15-500-240m-2.jpg"
],
"sku":"FR-15-500-240",
"gtin13":"5901234567890",
"brand":{"@type":"Brand","name":"FoliaReczna"},
"category":"Materiały opakowaniowe > Folia stretch ręczna",
"material":"PE-LLD",
"additionalProperty":[
{"@type":"PropertyValue","name":"Grubość","value":"15 µm"},
{"@type":"PropertyValue","name":"Szerokość","value":"500 mm"},
{"@type":"PropertyValue","name":"Długość","value":"240 m"},
{"@type":"PropertyValue","name":"Średnica rdzenia","value":"50 mm"},
{"@type":"PropertyValue","name":"Pre-stretch (zalecany)","value":"do 150%"},
{"@type":"PropertyValue","name":"Zawartość PCR","value":"30%"},
{"@type":"PropertyValue","name":"Kolor","value":"transparent"}
],
"aggregateRating":{
"@type":"AggregateRating",
"ratingValue":"4.8",
"ratingCount":"126"
},
"offers":{
"@type":"Offer",
"url":"https://foliareczna.pl/produkt/folia-15-micron-500mm-240m",
"priceCurrency":"PLN",
"price":"22.90",
"priceValidUntil":"2026-12-31",
"availability":"https://schema.org/InStock",
"itemCondition":"https://schema.org/NewCondition",
"seller":{"@id":"https://foliareczna.pl/#org"},
"shippingDetails":[
{
"@type":"ShippingDeliveryTime",
"handlingTime":{
"@type":"QuantitativeValue",
"minValue":0,"maxValue":1,"unitCode":"d"
},
"transitTime":{
"@type":"QuantitativeValue",
"minValue":1,"maxValue":2,"unitCode":"d"
}
}
],
"hasMerchantReturnPolicy":{
"@type":"MerchantReturnPolicy",
"returnPolicyCategory":"https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays":14,
"applicableCountry":"PL"
}
}
}
</script>
Tip: Jeżeli produkt ma warianty (grubość, kolor, długość), użyj
ProductGroup
lub dodajisVariantOf
/hasVariant
.
Opcjonalnie: pojedyncza recenzja
html<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"Review",
"itemReviewed":{"@id":"https://foliareczna.pl/produkt/folia-15-micron-500mm-240m#product"},
"reviewRating":{"@type":"Rating","ratingValue":"5","bestRating":"5"},
"author":{"@type":"Person","name":"Magazyn XYZ"},
"reviewBody":"Bardzo dobra przyczepność i wydajność. Szybka wysyłka."
}
</script>
4) Poradnik „HowTo” (np. jak dobrać folię)
Gdzie: blog/poradnik. Format idealny pod AI-answers (kroki, materiały, czas).
html<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"HowTo",
"name":"Jak dobrać folię stretch ręczną do Twojego magazynu",
"description":"Krok po kroku: dobór grubości, szerokości i długości folii w zależności od rodzaju ładunku i intensywności pracy.",
"image":"https://foliareczna.pl/media/howto-dobor-folii.jpg",
"totalTime":"PT6M",
"estimatedCost":{
"@type":"MonetaryAmount",
"currency":"PLN",
"value":"0"
},
"supply":[
{"@type":"HowToSupply","name":"Przykładowe rolki folii 12–23 µm"},
{"@type":"HowToSupply","name":"Miernik grubości (opcjonalnie)"}
],
"tool":[
{"@type":"HowToTool","name":"Dyspenser do folii ręcznej"}
],
"step":[
{
"@type":"HowToStep",
"name":"Określ rodzaj ładunku",
"text":"Czy ładunek jest stabilny czy niestabilny, o ostrych krawędziach, z wystającymi elementami?"
},
{
"@type":"HowToStep",
"name":"Dobierz grubość",
"text":"Dla lekkich ładunków 12–15 µm, średnie 17–20 µm, cięższe lub ostre krawędzie 23 µm."
},
{
"@type":"HowToStep",
"name":"Dopasuj szerokość i długość",
"text":"Standard 500 mm; długość rolki w zależności od dziennego zużycia i ergonomii."
},
{
"@type":"HowToStep",
"name":"Sprawdź wydajność",
"text":"Skalibruj naciąg i liczbę owijek; zmierz średnie zużycie na paletę."
}
],
"isPartOf":{"@id":"https://foliareczna.pl/#website"}
}
</script>
5) FAQPage (na poradniku lub kategorii)
html<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"FAQPage",
"mainEntity":[
{
"@type":"Question",
"name":"Jaką grubość folii wybrać?",
"acceptedAnswer":{
"@type":"Answer",
"text":"Lekkie ładunki: 12–15 µm; średnie: 17–20 µm; cięższe/ostre krawędzie: 23 µm. Zawsze testuj na próbnych owijaniach."
}
},
{
"@type":"Question",
"name":"Czy oferujecie dostawę następnego dnia?",
"acceptedAnswer":{
"@type":"Answer",
"text":"Tak, dla zamówień złożonych do 12:00 wysyłamy tego samego dnia — dostawa zazwyczaj w 24–48 h."
}
},
{
"@type":"Question",
"name":"Czy macie folie z PCR (recykling pochodzący od konsumentów)?",
"acceptedAnswer":{
"@type":"Answer",
"text":"Tak, dostępne warianty 30% i 50% PCR. Sprawdź kartę produktu lub zapytaj handlowca."
}
}
]
}
</script>
6) Artykuł ekspercki (Article/BlogPosting)
html<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"BlogPosting",
"headline":"Folia stretch ręczna: jak obniżyć zużycie bez utraty jakości?",
"image":"https://foliareczna.pl/media/blog/obniz-zuzycie.jpg",
"datePublished":"2025-08-08",
"dateModified":"2025-08-08",
"author":{
"@type":"Person",
"name":"Zespół FoliaReczna.pl"
},
"publisher":{"@id":"https://foliareczna.pl/#org"},
"mainEntityOfPage":"https://foliareczna.pl/blog/folia-stretch-reczna-obniz-zuzycie",
"inLanguage":"pl-PL",
"articleSection":"Poradnik"
}
</script>
7) Strona „Kontakt / O nas” (Organization rozszerzone)
html<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"Organization",
"@id":"https://foliareczna.pl/#org",
"name":"FoliaReczna.pl",
"url":"https://foliareczna.pl/",
"logo":{"@type":"ImageObject","url":"https://foliareczna.pl/static/logo.png"},
"contactPoint":[
{
"@type":"ContactPoint",
"contactType":"customer support",
"telephone":"+48-605-318-315",
"email":"kontakt@foliareczna.pl",
"areaServed":"PL",
"availableLanguage":["pl-PL","en-GB"]
}
],
"sameAs":[
"https://www.facebook.com/foliareczna",
"https://www.linkedin.com/company/foliareczna"
]
}
</script>
8) Dodatki przydatne w branży
Offer
z pakietami/paletą (np. cena za rolkę i za paletę – możesz dodać drugieOffer
woffers
zunitCode
ieligibleQuantity
).MerchantReturnPolicy
iShippingDetails
(już pokazane) – AI lepiej odpowie na pytania o zwroty i dostawy.EnergyConsumptionDetails
– raczej dla maszyn, ale jeżeli sprzedajesz dyspensery/akcesoria elektryczne, rozważ.HasMerchantReturnPolicy
na poziomie Organization – gdy polityka zwrotów jest ogólna.
Wdrożenie — checklista GEO
Monitoring: loguj błędy walidacji i braki atrybutów (np. bez GTIN).
Mapowanie pól: dopasuj atrybuty produktów (grubość, szerokość, długość, rdzeń, kolor, PCR, EAN/GTIN, SKU).
Spójność: te same wartości w treści, w kartach produktowych i w JSON-LD.
Automatyzacja: generuj JSON-LD z CMS/ERP (np. liquid/twig/handlebars), aby unikać rozjazdów.
Walidacja: po publikacji sprawdź każdy typ:
Google Rich Results Test,
validator.schema.org.
Logistyka i ceny: uaktualniaj price
/availability
i shippingDetails
przy każdej zmianie.
Breadcrumby: dopilnuj zgodności ścieżek z nawigacją na stronie.
Warianty: dla wielu parametrów rozważ ProductGroup
lub isVariantOf/hasVariant
.
Dobre praktyki pod AI-snippety
- Język prosty i precyzyjny w opisach i FAQ (AI lubi jasne reguły i zakresy).
- Jednoznaczne jednostki (µm, mm, m, %; bez skrótów typu „x2” bez kontekstu).
- Daty i okresy (np. „dostawa 24–48 h”, „promocja ważna do 31.12.2025”).
- Powiązania:
@id
łączącyProduct
,Review
,Offer
,Organization
— ułatwia AI budowanie kontekstu. - Strony wzorcowe: dedykowane poradniki HowTo + FAQ w każdej kluczowej kategorii.