Jak sprawdzić dane strukturalne Schema.org: walidatory, kroki i częste błędy
Sprawdzanie danych strukturalnych to w praktyce dwa osobne testy. Pierwszy: czy znaczniki są poprawnym schema.org — prawidłowy JSON, istniejące typy i właściwości, wartości we właściwym formacie? Drugi: czy spełniają wymagania Google dla konkretnego wyniku rozszerzonego — fragmentu produktu, gwiazdek ocen, karty wydarzenia? Na pierwsze pytanie odpowiada Schema Markup Validator pod adresem validator.schema.org, na drugie — test wyników z elementami rozszerzonymi Google (Rich Results Test). Nasz walidator danych strukturalnych sprawdza składnię, słownik schema.org i pola wymagane przez Google w jednym raporcie. Po publikacji raporty wyników rozszerzonych w Search Console pokazują, co Google faktycznie znalazł w całej witrynie.
Czym sprawdzać schema teraz
| Narzędzie | Co sprawdza | JavaScript | Kiedy się przydaje |
|---|---|---|---|
| Rich Results Test (Google) | Tylko typy, dla których Google ma wyniki rozszerzone, z polami wymaganymi i zalecanymi według zasad Google. Przyjmuje URL lub kod, JSON-LD, Microdata i RDFa. Domyślnie testuje jak smartfon, można wybrać komputer. | Tak — analizuje wyrenderowaną stronę | „Czy Google przyjmie to do wyniku rozszerzonego?” |
| Schema Markup Validator (schema.org) | Dowolne typy i właściwości schema.org w JSON-LD, Microdata i RDFa. Bez zasad Google. | Dokumentacja tego nie opisuje — w razie wątpliwości wklej kod | Typy, których Google nie używa; ogólna poprawność |
| Walidator PromoPilot | Składnia JSON z numerem wiersza i kolumny, słownik schema.org, pola wymagane i zalecane przez Google dla 11 rodzin typów, powiązania @graph i @id, zduplikowane encje | Nie — czyta HTML wysłany przez serwer | Zrozumieć, dlaczego blok nie działa, i dostać poprawioną kopię |
| Raporty Search Console | Co Googlebot znalazł w witrynie: prawidłowe i nieprawidłowe elementy, problemy w czasie | Tak, podczas indeksowania | Monitorowanie po wdrożeniu |
W praktyce wystarczą dwa: walidator na etapie pisania znaczników oraz Rich Results Test albo Search Console po stronie Google.
Jak sprawdzić dane strukturalne krok po kroku
- Ustal, co w ogóle jest na stronie. Otwórz źródło strony (Ctrl+U) i wyszukaj
application/ld+json(JSON-LD),itemscope(Microdata) itypeof(RDFa). Jeśli wtyczka obiecuje znaczniki, a w źródle ich nie ma, najpewniej dodaje je JavaScript (o tym niżej). - Najpierw składnia. Jeden zbędny przecinek albo „drukarski” cudzysłów i cały blok JSON-LD jest nieprawidłowy — wyszukiwarka pomija go w całości. Walidator wskaże wiersz i kolumnę błędu.
- Potem słownik. Typy zaczynają się wielką literą (
Product), właściwości piszemy camelCase (datePublished), a właściwość musi pasować do typu. Wartości wyliczeń to pełne adresy (https://schema.org/InStock), daty i czasy trwania — w ISO 8601. - Wymagania Google dla wybranej funkcji. Sprawdź URL w Rich Results Test. Błąd oznacza, że element nie może dostać tego wyniku rozszerzonego. Ostrzeżenie — brakuje zalecanego pola: element nadal się kwalifikuje, tylko z mniejszą ilością informacji.
- Porównaj znaczniki z tym, co widzi użytkownik. Cena, ocena, autor i daty w JSON-LD muszą zgadzać się z widoczną stroną. Zasady Google zabraniają oznaczania treści, których czytelnik nie widzi.
- Opublikuj i obserwuj. W Search Console sprawdź aktywny URL narzędziem do sprawdzania adresów URL i poproś o zindeksowanie, a potem przez kilka tygodni obserwuj raport dla tego typu.
Przykład: błędny blok Product i poprawiona wersja
Blok wygląda niewinnie, ale ma cztery błędy:
{
"@context": "https://schema.org",
"@type": "product",
"name": "Buty do biegania w terenie",
"offers": {
"@type": "Offer",
"price": "1 299,00 zł",
"availability": "dostępny",
}
}
- przecinek po ostatniej właściwości psuje JSON — reszta bloku w ogóle nie zostaje odczytana;
productmałą literą to nie typ schema.org: wielkość liter ma znaczenie;- w cenie jest spacja, przecinek i waluta; cena to sama liczba, waluta idzie do
priceCurrency; dostępnyto dowolny tekst, a nie wartość wyliczeniaItemAvailability.
Poprawiona wersja:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Buty do biegania w terenie",
"image": "https://example.com/img/shoes.jpg",
"offers": {
"@type": "Offer",
"price": "1299.00",
"priceCurrency": "PLN",
"availability": "https://schema.org/InStock"
}
}
Do fragmentu produktu w Google obiekt Product potrzebuje name i co najmniej jednego z pól offers, review lub aggregateRating; w Offer wymagane jest price.
Najczęstsze błędy danych strukturalnych i jak je naprawić
| Co widzisz | Jak naprawić |
|---|---|
| Błąd parsowania / unexpected token | Szukaj przecinka przed } lub ], brakującego przecinka między właściwościami albo nieescapowanego cudzysłowu w wartości. |
| Cudzysłowy „ ” lub “ ” w kodzie | Kod przeszedł przez Worda albo edytor wizualny. Wklejaj JSON-LD w trybie HTML lub w pole kodu CMS. |
Komentarze // w JSON-LD | Usuń je. Pomoc Google podaje, że Rich Results Test ignoruje komentarze, ale standard JSON-LD ich nie dopuszcza, więc inne parsery mogą się wyłożyć. |
| Nieznany typ lub właściwość | Sprawdź pisownię i wielkość liter: datepublished → datePublished, localbusiness → LocalBusiness. |
| Właściwość nie pasuje do typu | Przenieś ją do właściwego obiektu: na przykład price należy do Offer, a nie bezpośrednio do Product. |
| Nieprawidłowa data | 13.10.2026 → 2026-10-13 lub 2026-10-13T09:00:00+02:00. |
| Nieprawidłowy czas trwania | "cookTime": "30 min" → "PT30M"; półtorej godziny to "PT1H30M". |
| Dwie różne Organization | Zwykle jedną generuje wtyczka SEO, drugą motyw. Zostaw jedną, nadaj jej @id i odwołuj się do niej z innych bloków. |
| Typy data-vocabulary.org | Google nie obsługuje już tego starego słownika. Przepisz znaczniki na schema.org. |
Poprawne znaczniki nie gwarantują wyniku rozszerzonego
Google pisze wprost w wytycznych dotyczących danych strukturalnych, że nie gwarantuje wyników rozszerzonych, nawet jeśli znaczniki przechodzą Rich Results Test. Poprawne znaczniki dają prawo do wyświetlenia, a o tym, czy algorytm pokaże funkcję dla danego zapytania i użytkownika, decyduje Google. Typowe powody, dla których prawidłowy element niczego nie daje:
- Funkcja nie jest już wyświetlana. Lista poniżej.
- Naruszenie zasad. Oznaczanie treści, których nie ma na stronie, mylące lub nieaktualne dane, fałszywe opinie. Ręczne działanie dotyczące danych strukturalnych odbiera prawo do wyników rozszerzonych; według Google nie wpływa na pozycję w wyszukiwarce.
- Opinie o sobie. Gwiazdki dla LocalBusiness i Organization Google pokazuje tylko witrynom, które zbierają opinie o innych firmach. Firma oznaczająca oceny samej siebie gwiazdek nie dostanie.
- Strona nie jest jeszcze zindeksowana albo Google nie odwiedził jej ponownie po zmianie znaczników.
Czego Google już nie pokazuje
- FAQ — od września 2023 roku tylko dla wiarygodnych witryn rządowych i medycznych, od 7 maja 2026 roku wcale; dokumentację usunięto w czerwcu 2026 roku.
- How-to — wycofane we wrześniu 2023 roku na komputerach i urządzeniach mobilnych.
- Pole wyszukiwania linków do podstron (WebSite + SearchAction) — wyłączone w listopadzie 2024 roku.
- Menu nawigacyjne (breadcrumbs) — od stycznia 2025 roku nie są pokazywane w wynikach mobilnych, na komputerach zostały.
- Course info, Estimated salary, Learning video, Special announcement, Vehicle listing — dokumentację usunięto we wrześniu 2025 roku.
Takie znaczniki pozostają poprawnym schema.org i niczego nie psują — Google po prostu nie zamienia ich w element wizualny. Czy je zostawić, to kwestia kosztu utrzymania, a nie ryzyka.
JSON-LD dodawany przez JavaScript lub Google Tag Manager
Wiele witryn wstawia znaczniki skryptem albo tagiem „Niestandardowy kod HTML” w Google Tag Manager. W przewodniku Google o generowaniu danych strukturalnych za pomocą JavaScriptu czytamy, że wyszukiwarka Google przetwarza znaczniki obecne w DOM w chwili renderowania strony. Wynikają z tego dwie rzeczy:
- Narzędzia, które czytają tylko surowy HTML (w tym nasze), takich znaczników nie zobaczą. Takie strony testuj w Rich Results Test (działa na wyrenderowanym kodzie) albo narzędziem do sprawdzania adresów URL w Search Console. Inny sposób: otwórz stronę w Chrome DevTools, skopiuj wyrenderowany element
<html>(Elements → Copy → Copy outerHTML) i wklej go do walidatora. - Przy znacznikach Product Google ostrzega, że generowanie ich dynamicznie może sprawić, że indeksowanie na potrzeby Zakupów będzie rzadsze i mniej niezawodne. Jeśli cena i dostępność często się zmieniają, umieść JSON-LD w HTML generowanym po stronie serwera.
W GTM buduj znaczniki ze zmiennych strony zamiast wpisywać wartości ręcznie w tagu — inaczej z czasem rozjadą się z tym, co widzi użytkownik.
Sprawdzanie danych strukturalnych w Search Console
Raporty wyników z elementami rozszerzonymi znajdziesz w sekcji „Ulepszenia”; fragmenty produktów i informacje o produktach sprzedawcy — w sekcji „Zakupy”. Warto pamiętać:
- Raport pojawia się dopiero wtedy, gdy Google znajdzie prawidłowe znaczniki obsługiwanego typu. Raportu dla FAQ czy How-to nie należy się spodziewać.
- Liczone są elementy, a nie strony: strona z trzema obiektami Event daje trzy elementy.
- Raport pokazuje próbkę, a nie wszystkie adresy. Dla konkretnej strony użyj sprawdzania adresu URL.
- Element z problemem krytycznym jest nieprawidłowy i nie może stać się wynikiem rozszerzonym; problemy niekrytyczne to ostrzeżenia.
- Po naprawie rozpocznij weryfikację na stronie szczegółów problemu — raport pokaże jej stan.
Jak to zrobić w PromoPilot
Wpisz URL albo wklej kod do walidatora Schema.org. Znajdzie wszystkie elementy JSON-LD, Microdata i RDFa i sprawdzi je na trzech poziomach:
- Składnia: błędy JSON z wierszem i kolumną, wyjaśnienie prostym językiem i bezpieczne automatyczne poprawki (wiszące przecinki, komentarze, „drukarskie” cudzysłowy, złamania wiersza w wartościach, kilka obiektów pod rząd) — z poprawionym blokiem do skopiowania.
- Słownik: typy i właściwości porównywane ze schema.org (obecnie wersja 30.1), z podpowiedziami przy literówkach i złej wielkości liter, przestarzałych terminach, wartościach wyliczeń, datach i czasach trwania ISO 8601.
- Zasady Google: pola wymagane i zalecane dla artykułów, produktów, opinii, menu nawigacyjnych, organizacji, firm lokalnych, wydarzeń, przepisów, filmów, aplikacji i ofert pracy.
Do tego składa @graph, rozwiązuje odwołania @id i wykrywa zduplikowane encje. Wklejony kod może mieć do 512 KB, pobrana strona jest przechowywana w pamięci podręcznej przez 10 minut. Znaczniki od zera przygotujesz w generatorze Schema (Article, Product, FAQ, Organization, LocalBusiness, Breadcrumbs) lub w generatorze FAQ Schema.
Czego nasz walidator nie robi
- Nie wykonuje JavaScriptu, więc nie widzi znaczników z GTM ani z aplikacji jednostronicowej. Jeśli strona ma GTM lub wygląda na SPA, ostrzeże o tym.
- Nie porównuje znaczników z widocznym tekstem. Inna cena w JSON-LD niż na stronie to naruszenie zasad Google, ale automatycznie się go nie wyłapie.
- Nie obiecuje wyniku rozszerzonego — nie może tego obiecać nikt poza Google.
Warto przeczytać
- Dane strukturalne i Schema.org — czym są i które typy mają znaczenie.
- Blok odpowiedzi (featured snippet) — znacznikami go nie włączysz.
- Sprawdzanie metatagów i podgląd fragmentu — reszta tego, jak strona wygląda w wynikach.