Generator schema.org
Kod JSON-LD dla 9 typów: artykuł, produkt, firma, wydarzenie, aplikacja i FAQ, z kontrolą pól wymaganych przez Google
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Zmieniłeś dane. Kliknij „Generuj JSON-LD”, aby odświeżyć kod.
Gotowy kod JSON-LD
Ten typ nie ma właściwości wymaganych przez Google. Uzupełnij zalecane pola, aby opis strony był pełniejszy.
Właściwości
Pola najwyższego poziomu w kodzie
Wymagane przez Google
Zalecane
Kod do wklejenia na stronie
| Właściwość | Znaczenie | Stan |
|---|---|---|
| Tytuł (headline) | Zalecana | Jest |
| Obraz (image) | Zalecana | Jest |
| Data publikacji (datePublished) | Zalecana | Brak |
| Autor (author) | Zalecana | Jest |
Wklej kod w sekcji <head> lub w treści strony, której dotyczy. Dane w kodzie muszą zgadzać się z tym, co widać na stronie. Przed publikacją sprawdź kod w teście wyników z elementami rozszerzonymi Google.
Typy schema.org: kiedy który i co wymaga Google
| Typ | Kiedy używać | Co może pokazać Google | Wymagane przez Google |
|---|---|---|---|
| Article | Artykuł, wpis na blogu, aktualność | Lepsze rozpoznanie tytułu, obrazu, daty i autora | Brak; zalecane: headline, image, datePublished, author |
| Product | Strona produktu w sklepie | Cena, dostępność, gwiazdki ocen | name oraz jedno z: offers, aggregateRating, review |
| LocalBusiness | Firma z lokalem lub siedzibą dla klientów | Dane firmy: adres, telefon | name, address |
| Organization | Firma, instytucja, fundacja | Logo i dane organizacji | Brak; zalecane: name, url, logo, sameAs |
| Event | Koncert, warsztaty, konferencja | Data, miejsce i bilety | name, startDate, location |
| Person | Strona o osobie, profil autora | Brak osobnego wyniku; łączy osobę z jej profilami | Brak |
| Course | Kurs, szkolenie online | Wyniki kursów (wymagania zależą od wariantu) | name, description (wariant szczegółowy wymaga więcej pól) |
| SoftwareApplication | Aplikacja mobilna, program, gra | Ocena i cena aplikacji | name, offers.price, aggregateRating lub review |
| FAQPage | Pytania i odpowiedzi widoczne na stronie | Rozwijane pytania, obecnie głównie dla witryn rządowych i medycznych | mainEntity (Question z acceptedAnswer) |
Gdzie wkleić kod JSON-LD
Cały blok <script type="application/ld+json"> wklej w sekcji <head> albo w treści podstrony, której dotyczy. W WordPressie użyj pola na własny kod nagłówka lub wtyczki do wstawiania skryptów. W Google Tag Manager sprawdzi się tag „Niestandardowy kod HTML”. Wersja „sam JSON” przydaje się w systemach, które same dodają znacznik script.
Jak sprawdzić poprawność
Test wyników z elementami rozszerzonymi (Rich Results Test) pokaże, czy strona kwalifikuje się do wyników rozszerzonych Google. Walidator schema.org (validator.schema.org) sprawdza zgodność ze słownikiem dla wszystkich typów. Po wdrożeniu błędy z całej witryny zobaczysz w Google Search Console. Poprawny kod nie gwarantuje gwiazdek ani ceny w wynikach: decyduje Google.
Dane muszą zgadzać się ze stroną
Oznaczaj tylko to, co użytkownik widzi na stronie: tę samą cenę, ocenę, datę i pytania. Ocena (aggregateRating) musi pochodzić z prawdziwych opinii i mieć podaną liczbę ocen. Google nie pokazuje gwiazdek z opinii, które firma publikuje o sobie na własnej stronie (typy LocalBusiness i Organization), dlatego generator nie dodaje ich do tych typów.
FAQ w wynikach wyszukiwania
Od 2023 roku Google pokazuje rozwijane pytania FAQ prawie wyłącznie dla znanych witryn rządowych i medycznych. Na innych stronach kod FAQPage nadal poprawnie opisuje treść, ale zwykle nie daje rozszerzonego wyniku. Pytania i odpowiedzi z kodu muszą być widoczne na stronie.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator schema.org – dane strukturalne w JSON-LD
Dane strukturalne pomagają wyszukiwarkom zrozumieć treść strony i wyświetlać rozszerzone wyniki (rich snippets): oceny, ceny, daty wydarzeń, dane firmy.
Generator schema.org zamienia wypełniony formularz na gotowy blok <script type="application/ld+json">. Wybierasz jeden z 9 typów, formularz pokazuje tylko pola, które są poprawnymi właściwościami tego typu, a pod kodem pojawia się tabela kontrolna: które właściwości wymagane i zalecane przez Google są w kodzie, a których brakuje.
Obsługiwane typy
| Typ | Zastosowanie |
|---|---|
| Article | wpisy na blogu, poradniki, aktualności |
| Product | karta produktu z ceną, dostępnością i oceną |
| LocalBusiness | firma lokalna z adresem i telefonem |
| Organization | firma, instytucja, fundacja (z logo) |
| Event | warsztaty, koncert, konferencja |
| Person | profil autora lub pracownika |
| Course | kurs, szkolenie |
| SoftwareApplication | aplikacja mobilna, program, gra |
| FAQPage | sekcja pytań i odpowiedzi |
Przykład
Po wejściu na stronę formularz zawiera przykład typu Article. Wynik wygląda tak (tu bez wcięć):
{"@context": "https://schema.org", "@type": "Article", "name": "Jak zbudować stronę w 10 minut", "headline": "Jak zbudować stronę w 10 minut", "description": "Praktyczny poradnik dla początkujących.", "url": "https://example.com/poradnik", "image": "https://example.com/img/poradnik.jpg", "author": {"@type": "Person", "name": "Jan Kowalski"}, "publisher": {"@type": "Organization", "name": "Example Sp. z o.o."}}
Dla artykułu tytuł trafia jednocześnie do name i headline, bo Google zaleca właśnie headline. Pole daty jest w tym przykładzie puste, więc datePublished nie pojawia się w kodzie, a kontrola pokazuje 3 z 4 zalecanych właściwości.
Jak wdrożyć
Skopiuj kod przyciskiem „Kopiuj kod” i wklej w sekcji <head> lub w treści podstrony, której dotyczy. Jeśli CMS sam dodaje znacznik script (np. pole na dane strukturalne we wtyczce SEO), użyj opcji „Kopiuj sam JSON”. Zweryfikuj kod w teście wyników z elementami rozszerzonymi (Rich Results Test), a po wdrożeniu śledź błędy w raportach wyników rozszerzonych w Search Console.
Jak działa generator danych strukturalnych
Narzędzie nie skanuje Twojej strony i nie pobiera z niej treści. Działa jak formularz, który zamienia wpisane wartości na obiekt JSON-LD. Dwa elementy wyniku są zawsze stałe: @context ustawiony na https://schema.org oraz @type wybranego typu. Puste pola nie trafiają do kodu.
Zestaw pól zależy od typu. Article dostaje autora, wydawcę i datę publikacji, Product cenę, walutę, dostępność i ocenę, LocalBusiness i Organization adres, telefon i profile w serwisach (sameAs), a Event termin, miejsce, organizatora i cenę biletu. Dzięki temu nie dodasz właściwości, której dany typ nie przewiduje, np. ceny do artykułu. Ta sama wartość z pola wydawcy trafia do publisher (Article), organizer (Event) albo provider (Course), a obraz w typie Organization zapisuje się jako logo.
Przed zbudowaniem kodu generator sprawdza format danych. Nazwa jest obowiązkowa (poza FAQPage) – bez niej pojawia się komunikat „Podaj nazwę (name).”. Adresy strony i obrazu muszą być pełne, z http:// lub https://. Cena ma być liczbą nie mniejszą niż 0 (przecinek dziesiętny jest akceptowany), waluta trzyliterowym kodem ISO 4217, a ocena musi mieścić się w skali 1–5 i mieć podaną liczbę ocen. Przy błędzie kod nie powstaje, a błędne pole zostaje zaznaczone.
Zmiana typu i zaznaczenie opcji FAQ od razu odświeżają podgląd. Po edycji pozostałych pól wynik jest oznaczony jako nieaktualny, dopóki nie klikniesz „Generuj JSON-LD”.
Przykład: od formularza do gotowego kodu krok po kroku
- Kliknij przykład „Produkt”. Formularz wypełni się danymi słuchawek X200: cena 349,99, waluta PLN, dostępność InStock, ocena 4,6 z 128 ocen.
- Kliknij „Generuj JSON-LD”. W kodzie pojawi się offers z "price": 349.99, "priceCurrency": "PLN", "availability": "https://schema.org/InStock" i adresem strony oraz aggregateRating z "ratingValue": 4.6, "bestRating": 5 i "ratingCount": 128. Polski przecinek zamienia się na kropkę, której wymaga JSON.
- Kafelki pokażą 6 właściwości najwyższego poziomu (name, description, url, image, offers, aggregateRating), wymagane przez Google 2 z 2 i zalecane 2 z 2.
- Usuń cenę i ocenę, a potem wygeneruj kod ponownie. Kod nadal powstanie, ale kontrola zgłosi brak „Oferta lub ocena (offers / aggregateRating)”, a bez tego Google nie pokaże wyniku rozszerzonego dla produktu.
- Zaznacz „Dodaj też sekcję FAQ”. Pole pytań ma już dwie przykładowe pary w formacie pytanie | odpowiedź, które podmieniasz na własne. Kod zmieni postać na @graph z dwoma węzłami: Product i FAQPage z pytaniami w mainEntity.
Przykład „Wydarzenie” pokazuje obsługę daty: 20 listopada 2026, godz. 18:00 zapisuje się jako 2026-11-20T18:00:00+01:00, czyli z polską strefą czasu zimowego. Dla wydarzenia w lipcu generator doda +02:00.
Typy schema.org i pola, które je zasilają
Każdy typ poza FAQPage ma pola nazwa, opis, adres strony i obraz. Tabela pokazuje, co dochodzi do tego zestawu.
| @type | Dodatkowe pola formularza | Właściwości w kodzie |
|---|---|---|
| Article | autor, wydawca, data publikacji | headline, author (Person), publisher (Organization), datePublished |
| Product | cena, waluta, dostępność, ocena, liczba ocen | offers (Offer z availability), aggregateRating |
| LocalBusiness | ulica, kod pocztowy, miejscowość, kraj, telefon, profile | address (PostalAddress), telephone, sameAs |
| Organization | jak LocalBusiness, obraz jako logo | logo, address, telephone, sameAs |
| Event | początek, nazwa miejsca, adres, organizator, cena biletu | startDate, location (Place), organizer, offers |
| Person | profile w serwisach | sameAs |
| Course | organizator kursu, cena, ocena | provider, offers, aggregateRating |
| SoftwareApplication | kategoria aplikacji, system operacyjny, cena, ocena | applicationCategory, operatingSystem, offers, aggregateRating |
| FAQPage | tylko pytania i odpowiedzi (do 50 par) | mainEntity (Question z acceptedAnswer) |
Praktyczne wskazówki użycia
- Zaczynaj od przykładu. Sześć przycisków (Artykuł, Produkt, Firma lokalna, Wydarzenie, Aplikacja, FAQ) ustawia typ i wypełnia cały formularz, nadpisując wpisane wcześniej wartości, więc wczytaj przykład przed wpisaniem własnych danych.
- Przycisk „Wyczyść” nie zostawia pustego formularza, tylko przywraca dane przykładowe: Jan Kowalski, Example Sp. z o.o., ul. Przykładowa 10, telefon +48 22 123 45 67. Przed publikacją sprawdź, czy w kodzie nie zostały wartości z przykładu.
- Dla darmowej aplikacji wpisz cenę 0. Google wymaga offers.price dla SoftwareApplication, a puste pole oznacza brak oferty.
- W polu FAQ wpisuj jedną parę na linię, oddzielając pytanie od odpowiedzi pionową kreską. Linie bez kreski albo z pustą odpowiedzią są pomijane.
- Produkt i firmę lokalną wygeneruj osobno i wklej oba bloki. W jednym kodzie można połączyć tylko wybrany typ z FAQPage.
Czego narzędzie nie uwzględnia
- Prawdziwości danych. Sprawdzany jest format (adres URL, liczba, kod waluty, skala oceny), ale nie to, czy cena i ocena zgadzają się z tym, co widzi użytkownik strony.
- Importu ze strony. Pole url jest tylko wartością w wyniku, a nie adresem do analizy, więc wszystkie dane wpisujesz ręcznie.
- Wszystkich wytycznych Google. Tabela kontrolna sprawdza podstawowe właściwości wymagane i zalecane dla typu. Wariant szczegółowy kursu (Course) wymaga więcej pól, niż ma formularz, a ostateczną ocenę daje Rich Results Test.
- Rozbudowanych struktur. Nie dodasz kilku ofert, pojedynczych recenzji (review), godzin otwarcia ani ścieżki okruszków. Do okruszków służy generator Schema Breadcrumb.
Najczęstsze pytania
Czy dane strukturalne gwarantują rich snippets?
Nie. Zwiększają szansę, ale o wyświetleniu decyduje Google. Kontrola w narzędziu potwierdza tylko, że kod ma właściwości wymagane dla danego typu wyniku.
JSON-LD czy mikrodane?
Google zaleca JSON-LD: kod jest osobnym blokiem, nie miesza się z HTML i łatwiej go utrzymać. Generator tworzy wyłącznie JSON-LD.
Co jeśli dane są niespójne z treścią?
Google może pominąć dane albo nałożyć ręczne działanie. Cena, ocena, data i pytania w kodzie muszą odpowiadać temu, co widać na stronie.
Ile typów obsługuje generator schema.org?
Dziewięć: Article, Product, LocalBusiness, Organization, Event, Person, Course, SoftwareApplication i FAQPage. Sekcję FAQ można też dołączyć do każdego z pozostałych typów.
Dlaczego kontrola pokazuje braki, choć kod się wygenerował?
Kod jest poprawny składniowo, ale nie ma właściwości, których Google wymaga do wyniku rozszerzonego, np. startDate i location dla Event. Uzupełnij pola oznaczone w tabeli jako „Brak”.
Czy mogę połączyć produkt i FAQ w jednym kodzie?
Tak. Po zaznaczeniu „Dodaj też sekcję FAQ” powstaje jeden blok z @graph, w którym są dwa węzły: wybrany typ i FAQPage. Pamiętaj, że od 2023 roku Google pokazuje rozwijane FAQ głównie witrynom rządowym i medycznym.