Z ponad czterdziestu typów w schema.org realne znaczenie dla wyszukiwarek AI ma może sześć. Reszta to praca włożona w rich snippety dla klasycznego Google, którą GPTBot, ClaudeBot czy PerplexityBot i tak zignorują albo odczytają dokładnie jak zwykły tekst strony. Teza jest prosta: schema.org to nie język, którym „rozmawiasz” z modelem. To sposób na jednoznaczne uzgodnienie encji - kim jesteś, gdzie działasz i kto pisze Twoje treści. Wdróż Organization z pełnym sameAs, Article z prawdziwym autorem i FAQPage tam, gdzie faktycznie odpowiadasz na pytania, a zyskasz. Ścigaj dwudziesty typ z listy schema.org zamiast pisać treść, a stracisz czas.
Co crawlery AI naprawdę robią z Twoim markupem
Zanim zaczniesz kodować JSON-LD, sprawdź, co w ogóle stoi po drugiej stronie. Cztery boty odpowiadają dziś za większość ruchu AI na stronach firmowych, a każdy ma inny cel.
GPTBot od OpenAI pobiera treść, która może posłużyć do trenowania modeli generatywnych. Dokumentacja OpenAI opisuje go jako crawler czytający kod strony pod kątem treści treningowej i nie wspomina o osobnym parserze danych strukturalnych. Możesz go zablokować w robots.txt - wpis Disallow oznacza, że treść nie trafi do zbioru treningowego.
ClaudeBot od Anthropic to w praktyce trzy osobne boty: ClaudeBot zbiera dane pod trenowanie modeli, Claude-User pobiera konkretną stronę na żywo, gdy użytkownik Claude pyta o coś wymagającego sprawdzenia adresu, a Claude-SearchBot poprawia jakość wyszukiwania w samym Claude. Anthropic pozwala blokować każdego z nich osobno, co ma znaczenie praktyczne - możesz zaakceptować Claude-User, bo to realne zapytania użytkowników, a zablokować ClaudeBot odpowiedzialny za trening.
PerplexityBot ma węższy zakres. Według własnej dokumentacji Perplexity służy do wyszukiwania i linkowania stron w wynikach Perplexity, a nie do zbierania danych pod modele podstawowe.
Google-Extended to osobny token w robots.txt, niezależny od Googlebota, który kontroluje wykorzystanie treści do trenowania Gemini i funkcji AI w wyszukiwarce. Google wprost pisze, że do pojawienia się w AI Overview czy AI Mode nie potrzebujesz żadnego specjalnego schema - liczą się te same podstawy techniczne co w klasycznym SEO, a dane strukturalne mają zgadzać się z widoczną treścią strony.
Żadna z tych dokumentacji nie opisuje osobnego kanału odczytu schema.org. To rozbija mit „specjalnego markupu pod AI”. Schema wciąż ma znaczenie, ale pośrednio - porządkuje fakty tak, żeby każdy odbiorca, crawler, model językowy czy algorytm Google, odczytał je tak samo. O tym, dlaczego modele czasem „nie znają” firmy mimo poprawnie zbudowanej strony, pisaliśmy w osobnym artykule.
Schema jako uzgodnienie encji, nie język do AI
Potraktuj schema.org jak formularz, nie jak zaklęcie. Model językowy i wyszukiwarka próbują ustalić trzy rzeczy o Twojej stronie: kim jesteś jako podmiot, gdzie realnie działasz i kto odpowiada za konkretną treść. Bez jednoznacznych danych model musi zgadywać na podstawie rozproszonych sygnałów - stopki, podstrony „o nas”, wzmianek w sieci. Zgadywanie czasem trafia, a czasem kończy się pomyloną marką albo brakiem cytowania w ogóle.
Encja to węzeł danych: firma, osoba, produkt, miejsce. Schema.org pozwala opisać taki węzeł raz i połączyć go z innymi węzłami przez odniesienia zamiast powielania danych. To odwrotność podejścia „słowa kluczowe w treści”, na którym opierało się SEO przez piętnaście lat - nie chodzi o to, żeby model zobaczył frazę, tylko żeby jednoznacznie ustalił fakt. Praca nad schema jest bliżej porządkowania danych niż copywritingu i to rozróżnienie warto mieć z tyłu głowy, zanim ułożysz priorytety między GEO a klasycznym SEO.
Typy, które mają realny wpływ
Nie każdy typ z schema.org zasługuje na Twój czas. Poniżej te, które faktycznie porządkują dane o firmie i treści, z przykładami do podmiany na własne dane.
Organization i sameAs
Organization to fundament: nazwa, adres, sposób kontaktu i lista profili opisujących tę samą firmę. Property sameAs spina stronę z LinkedIn, Facebookiem, Wikipedią czy wpisem rejestrowym - im więcej zgodnych punktów odniesienia, tym łatwiej jednoznacznie zidentyfikować encję.
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://premiumads.pl/#organization",
"name": "PremiumAds",
"url": "https://premiumads.pl/",
"logo": "https://premiumads.pl/logo.png",
"email": "kontakt@premiumads.pl",
"address": {
"@type": "PostalAddress",
"addressLocality": "Gdynia",
"addressCountry": "PL"
},
"sameAs": [
"https://www.linkedin.com/company/premiumads",
"https://www.facebook.com/premiumadspl",
"https://www.instagram.com/premiumads.pl"
]
}
Article z realnym autorem
Artykuł bez oznaczonego autora to dla modelu tekst bez źródła. Pole author jako Person, z linkiem do profilu i realnym stanowiskiem, pokazuje, kto bierze odpowiedzialność za treść.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Schema.org pod wyszukiwarki AI: które typy naprawdę mają znaczenie",
"datePublished": "2026-08-24",
"dateModified": "2026-08-24",
"author": {
"@type": "Person",
"name": "Maciej Wiśniewski",
"jobTitle": "Specjalista GEO, właściciel PremiumAds",
"url": "https://premiumads.pl/o-nas/",
"sameAs": ["https://www.linkedin.com/in/maciejwisniewski"]
},
"publisher": {
"@type": "Organization",
"@id": "https://premiumads.pl/#organization",
"name": "PremiumAds"
},
"mainEntityOfPage": "https://premiumads.pl/premiumblog/schema-org-pod-wyszukiwarki-ai/"
}
@graph i @id: jedna encja, wiele odwołań
Pole publisher w przykładzie wyżej odwołuje się do Organization przez @id zamiast powtarzać nazwę i dane firmy po raz drugi. To jest sedno @graph: zamiast osobnych, niepowiązanych bloków JSON-LD na każdej podstronie, budujesz jeden zestaw encji, które odwołują się do siebie przez identyfikator. Organization zdefiniowana raz, z pełnym @id, staje się punktem odniesienia dla każdego Article, Person czy Product na stronie - mniej duplikacji i mniej ryzyka, że dane rozjadą się między podstronami.
FAQPage tam, gdzie realnie odpowiadasz na pytania
FAQPage ma sens tylko wtedy, gdy strona faktycznie zawiera pytania i odpowiedzi widoczne dla użytkownika - wytyczne Google wprost zabraniają oznaczania treści niewidocznej na stronie. Dobrze zbudowany FAQPage porządkuje krótkie, konkretne odpowiedzi, które model może zacytować niemal bez zmian.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Czy schema.org gwarantuje cytowanie przez ChatGPT?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Nie. Schema porządkuje dane, ale o cytowaniu decyduje jakość i wiarygodność treści. Markup ułatwia poprawne odczytanie faktów, nie zastępuje samych faktów."
}
},
{
"@type": "Question",
"name": "Który typ wdrożyć najpierw?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Organization z sameAs oraz Article z realnym autorem. Te dwa typy porządkują tożsamość firmy i treści, zanim przejdziesz do FAQPage czy Product."
}
}
]
}
Pozostałe typy wdrażaj zależnie od modelu biznesowego, nie z automatu.
| Typ | Kiedy wdrożyć | Co realnie daje |
|---|---|---|
| Product / Offer | masz konkretny produkt, cenę i dostępność | jednoznaczną cenę, walutę i dostępność, trudne do pomylenia |
| LocalBusiness | masz fizyczną lokalizację lub obszar działania | adres i godziny spójne z NAP w innych miejscach sieci |
| BreadcrumbList | serwis ma więcej niż dwa poziomy struktury | jasną hierarchię i kontekst, gdzie strona leży w całej witrynie |
Spójność NAP i sameAs
NAP, czyli nazwa, adres i telefon, to najbardziej niedoceniany element całej układanki. Jeśli na stronie firma nazywa się „PremiumAds sp. z o.o.”, w Google Business Profile „PremiumAds”, a na Facebooku „Premium Ads Gdynia”, żaden markup tego nie naprawi - budujesz trzy słabo powiązane encje zamiast jednej silnej.
Zasada jest prosta: nazwa, adres i telefon mają wyglądać identycznie wszędzie, gdzie się pojawiają, a sameAs ma prowadzić tylko do profili, które faktycznie należą do Ciebie i mają aktualne dane. Link do martwego konta na dawno zapomnianym portalu branżowym szkodzi bardziej, niż pomaga - lepiej mieć pięć spójnych, aktualnych profili niż piętnaście przypadkowych.
Czego schema nie naprawi
Największe rozczarowanie wdrożeniami schema.org bierze się z jednego błędnego założenia: że markup zastąpi treść. Nie zastąpi. Jeśli na stronie nie ma odpowiedzi na pytanie, którego szuka użytkownik w ChatGPT czy Perplexity, żaden JSON-LD go nie wymyśli. Model nie zacytuje faktu, którego nie ma w treści, niezależnie od tego, jak starannie oznaczyłeś resztę strony.
Schema porządkuje to, co już istnieje: potwierdza tożsamość, autora, strukturę. Nie tworzy nowych faktów i nie podnosi jakości słabego tekstu. Zanim sięgniesz po kolejne typy z dalszej części listy schema.org, sprawdź, czy strona w ogóle odpowiada wprost na pytania, z którymi trafiają do niej użytkownicy - to praca contentowa, nie techniczna, i żadna ilość poprawnego JSON-LD jej nie zastąpi.
Jak sprawdzić, że wdrożenie działa
Dwa narzędzia wystarczą do podstawowej kontroli. Rich Results Test Google pokazuje, czy strona kwalifikuje się do wyników rozszerzonych i czy Google w ogóle poprawnie odczytuje markup. Schema Markup Validator sprawdza zgodność ze specyfikacją schema.org niezależnie od tego, czy dany typ obsługuje akurat Google.
Żaden z tych walidatorów nie powie Ci, czy GPTBot albo ClaudeBot w ogóle odwiedziły stronę - to sprawdzisz w logach serwera, filtrując po user agencie. Jeśli wolisz zobaczyć to w praktyce zamiast surowych logów, pisaliśmy, jak zmierzyć ruch z ChatGPT w GA4. Po każdej zmianie markupu przepuść adres przez oba walidatory, zanim uznasz wdrożenie za skończone.
Źródła
- Google Search Central, General Structured Data Guidelines
- Google Search Central, AI features and your website
- OpenAI, Overview of OpenAI Crawlers (GPTBot)
- Anthropic, Does Anthropic crawl data from the web
- Perplexity, Perplexity Crawlers
- Schema.org
Jeśli wdrożenie schema.org na Twojej stronie kończy się na pojedynczym typie Organization sprzed dwóch lat, to dobry moment na przegląd. W PremiumAds budujemy pełny @graph, łączymy encje przez @id i sprawdzamy w logach, które boty AI faktycznie czytają oznaczone strony, w ramach usługi GEO. Napisz do nas przez formularz kontaktowy, jeśli chcesz zweryfikować wdrożenie na własnym serwisie.