← Baza wiedzy

Schema.org dla AI — JSON-LD, Article, FAQPage, HowTo

Ustrukturyzowane dane Schema.org w formacie JSON-LD to jeden z najsilniejszych sygnałów dla modeli AI. Oto jak i dlaczego.

Schema.org to słownik ustrukturyzowanych metadanych, które dodają kontekst do treści na stronie. Google używał ich od lat dla rich snippets, ale w erze AI dostały drugi wiatr — modele językowe lepiej rozumieją treść gdy mają JSON-LD z jasnym typem encji.

JSON-LD w 60 sekund

JSON-LD (JSON for Linked Data) to sposób zapisu Schema.org wewnątrz HTML, w bloku <script type="application/ld+json">. Przykład dla artykułu:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Czym jest LLM-SEO i GEO",
  "description": "Wprowadzenie do optymalizacji treści pod modele AI",
  "author": {
    "@type": "Organization",
    "name": "Selpio"
  },
  "datePublished": "2026-04-19",
  "mainEntityOfPage": "https://selpio.com/baza-wiedzy/czym-jest-llm-seo-geo"
}
</script>

Trzy pola są kluczowe: @context (zawsze schema.org), @type (klasa encji), reszta to właściwości tej klasy.

Dlaczego AI tego używa

Tradycyjny crawler czyta HTML i próbuje zgadnąć: “ten <h1> to tytuł? Autor jest w <div class='author'> czy <meta name='author'>?” Dla każdej strony inaczej, dużo hackowania.

JSON-LD daje jednoznaczną deklarację: to jest Artykuł, autor to ta firma, data publikacji to 2026-04-19. Model nie musi zgadywać — dostaje dane w strukturze z zasłużoną jednoznacznością.

Efekt:

Najważniejsze typy dla LLM-SEO

1. Article — dla każdego tekstu

Każdy artykuł, blog post, case study powinien mieć Article (lub bardziej specyficzny BlogPosting, NewsArticle).

Pola wymagane (minimum): headline, author, datePublished.

Zalecane: description, image, keywords, wordCount, mainEntityOfPage.

2. FAQPage — dla sekcji pytań/odpowiedzi

Modele UWIELBIAJĄ FAQPage. To strukturalnie identyczny format z jakim rozmawiają z użytkownikami — pytanie → odpowiedź.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Czym różni się LLM-SEO od klasycznego SEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Klasyczne SEO optymalizuje pod Google, LLM-SEO pod ChatGPT/Claude/Perplexity. Liczy się cytowalność zamiast CTR."
      }
    },
    {
      "@type": "Question",
      "name": "Czy muszę mieć llms.txt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nie jest wymagany, ale pomaga — to 10 minut pracy za realny wzrost widoczności w AI."
      }
    }
  ]
}

FAQPage to często najbardziej opłacalny schema dla stron informacyjnych — wysoki współczynnik cytowania z niskim kosztem implementacji.

3. HowTo — dla instrukcji

Dla artykułów typu “Jak zrobić X” używaj HowTo z listą step:

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "Jak wdrożyć llms.txt",
  "step": [
    { "@type": "HowToStep", "text": "Utwórz plik llms.txt z opisem strony" },
    { "@type": "HowToStep", "text": "Dodaj linki do najważniejszych podstron" },
    { "@type": "HowToStep", "text": "Umieść plik pod /llms.txt na serwerze" }
  ]
}

Model AI bardzo łatwo ekstraktuje kroki do uporządkowanej odpowiedzi.

4. Organization / LocalBusiness — dla firmy

Na stronie głównej i About dodaj Organization (lub LocalBusiness jeśli masz fizyczny adres):

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Selpio",
  "url": "https://selpio.com",
  "logo": "https://selpio.com/logo.png",
  "sameAs": [
    "https://twitter.com/selpio",
    "https://linkedin.com/company/selpio"
  ]
}

Pole sameAs wpięte w profile społecznościowe pomaga modelom łączyć Twoją firmę z Jednym spójnym bytem.

5. Product — dla e-commerce

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Kawa ziarnista Arabica 1kg",
  "description": "Świeżo palona kawa z Kolumbii",
  "brand": { "@type": "Brand", "name": "Coffeemania" },
  "offers": {
    "@type": "Offer",
    "price": "89.00",
    "priceCurrency": "PLN",
    "availability": "https://schema.org/InStock"
  }
}

Jak to wdrożyć

Opcja 1 — Frameworki/CMS — większość nowoczesnych platform (Next.js, Astro, Gatsby, WordPress z Yoast/RankMath) ma helpery do JSON-LD. Nie pisz od zera.

Opcja 2 — Ręcznie — dla statycznych stron wstaw <script type="application/ld+json"> przed </head> lub na końcu <body>. Położenie nie ma znaczenia dla parsingu.

Opcja 3 — Google Tag Manager — można wstrzykiwać JSON-LD przez GTM, ale Google preferuje inline; niektóre crawlery AI mogą nie czekać na JS execution.

Weryfikacja

  1. Google Rich Results Test (trzecia iteracja dla Google, ale też mówi o błędach składni): https://search.google.com/test/rich-results
  2. Schema.org Validator: https://validator.schema.org
  3. Selpio AI Readiness — automatycznie sprawdza obecność i poprawność JSON-LD Article, FAQPage, HowTo.

Częste błędy

Praktyczny scenariusz — blog post

Typowy post na blogu firmowym powinien mieć dwa bloki JSON-LD:

  1. Organization (Twoja firma) — raz na stronę, zwykle w layout.
  2. Article lub BlogPosting — per post, z headline, author, datePublished.

Jeśli post zawiera sekcję FAQ — dodaj też FAQPage lub osadź Question/Answer wewnątrz Article przez mainEntity.

Źródła