Jak działa ta kontrola
Scanaris szuka w HTML-u Twojej strony wszystkich znaczników <script type="application/ld+json">, próbuje sparsować każdy jako JSON i sprawdza, czy wynik zawiera @context lub @type, co odróżnia blok schema.org od dowolnego JSON-a. Wystarczy jeden poprawny blok, żeby nie było ustalenia. Jeśli nie ma żadnego albo obecnych nie da się sparsować (przecinek za dużo, niezamknięty cudzysłów), otwiera ustalenie o niskiej wadze. Nie ocenia, czy wybrany typ jest właściwy ani czy brakuje właściwości; tylko czy istnieje coś, co Google i asystenci AI mogą odczytać.
Dlaczego to ważne
Dane strukturalne to sposób, żeby jednoznacznie powiedzieć maszynie, czym jest Twoja strona: to organizacja o tej nazwie i tym logo, to artykuł napisany przez tę osobę tego dnia, to produkt w tej cenie z tymi ocenami. Google używa ich do wyników rozszerzonych (gwiazdki, ceny, rozwijane pytania, okruszki) i do rozumienia encji. Asystenci AI używają ich do tego samego, ale z większą wagą, bo oszczędzają im interpretowania HTML-u: strona z dobrze zdefiniowanymi Article i Organization ma większe szanse na cytowanie z poprawną atrybucją niż taka, gdzie model musi zgadywać, kto ją napisał. To niska waga, bo ich brak nie usuwa Cię z żadnego indeksu; tylko utrudnia zrozumienie.
Jak to naprawić
Na stronie głównej co najmniej Organization i WebSite:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://twojadomena.pl/#org",
"name": "Twoja firma",
"url": "https://twojadomena.pl/",
"logo": "https://twojadomena.pl/logo.png",
"sameAs": ["https://github.com/twojafirma", "https://www.linkedin.com/company/twojafirma"]
},
{
"@type": "WebSite",
"url": "https://twojadomena.pl/",
"name": "Twoja firma",
"publisher": { "@id": "https://twojadomena.pl/#org" }
}
]
}
</script>
- Według typu strony:
ArticlelubBlogPostingwe wpisach (zauthor,datePublished,dateModified);Productzoffersna kartach produktów;SoftwareApplication, jeśli sprzedajesz oprogramowanie;FAQPagetam, gdzie są prawdziwe pytania i odpowiedzi;BreadcrumbListdla okruszków. - Nuxt:
useHead({ script: [{ type: 'application/ld+json', innerHTML: JSON.stringify(data) }] })na każdej stronie albo moduł schema.org, który generuje to z komponentów. - Next.js: znacznik
<script type="application/ld+json">w layoucie lub na stronie ze zserializowanym JSON-em. - WordPress: Yoast i Rank Math generują
Organization,WebSite,Articlei okruszki bez dotykania kodu.
Dane muszą zgadzać się z tym, co widać na stronie: Google karze za oznaczanie ocen lub cen, które nie istnieją. A sameAs z Twoimi publicznymi profilami łączy Twoją encję z tym, co modele już wiedzą o Tobie z innych źródeł.
Sprawdź, czy naprawione
curl -s https://twojadomena.pl | grep -oE '<script type="application/ld\+json">[^<]*' | head -c 600
Powinien pojawić się Twój JSON. Potem wklej go do testu wyników rozszerzonych Google albo walidatora schema.org: oba powiedzą Ci, czy jest poprawny składniowo i jakich zalecanych właściwości brakuje.
Często zadawane pytania
JSON-LD czy mikrodane w HTML-u?
JSON-LD. To format, który zaleca Google, idzie w osobnym bloku bez zaśmiecania szablonu i najłatwiej go wygenerować z dowolnego frameworka.
Dodałem FAQPage, a Google nie pokazuje rozwijanych pytań.
Od 2023 roku Google pokazuje ten wynik rozszerzony tylko stronom rządowym i medycznym. Oznaczenie nadal jest przydatne, żeby asystenci AI wyciągali Twoje pytania i odpowiedzi, i po to ta kontrola je mierzy. Dlaczego jedne strony są cytowane, a inne nie, wyjaśnia dane strukturalne i cytowania AI.
Czy to zastępuje tytuł i opis?
Nie, uzupełnia je. Tytuł i meta description nadal są tym, co pokazuje Google; mierzy je metadane SEO. Dane strukturalne to to, co maszyny rozumieją ponadto.