JSON-LD
Struktura JSON-LD musí být přítomna už při načtení HTML kódu stránky. Pokud bude dogenerovávána až javascriptem, tak se data JSON-LD nezpracují. Bližší popis k jednotlivým typů naleznete na https://schema.org/. Otestovat, jestli je vaše JSON-LD validní, můžete tímto nástrojem: https://search.google.com/structured-data/testing-tool?hl=cs
1. Stručné informace
Typ článkuMůže nabývat hodnot Article, NewsArticle nebo ReportageNewsArticle. Ostatní typy se ignorují.
Načítáme je z více hodnot a to about nebo keywords. U about se očekává objekt (minimálně s atributem name), seznam textových názvu nebo textový řetezec obsahující hodnoty oddělené čárkami, u keywords se očekává seznam textových položek nebo textový řetezec obsahující položky oddělené čárkami.
Při správném vyplnění tohoto objektu bude článek zařazený do tematických podstránek.
Seriál, pořadPokud článek patří do seriálu nebo pořadu, uveďte isPartOf s @type nastaveným na CreativeWorkSeries. Očekává se objekt minimálně s atributem name, volitelně url s odkazem na stránku seriálu. Pokud je v isPartOf objektů víc, použije se první, který má @type CreativeWorkSeries a vyplněné name.
Jinou hodnotu než CreativeWorkSeries ignorujeme, protože isPartOf se běžně používá i pro WebPage, Periodical nebo PublicationIssue a z těch seriál vzniknout nesmí. Nenačítáme proto ani podtypy PodcastSeries, TVSeries a RadioSeries, ani vlastnost partOfSeries.
Seriál se vytvoří bez ohledu na to, jestli je výsledný obsah článek, podcast, nebo video.
Seriál je vázaný na váš zdroj. Stejný název seriálu od dvou různých partnerů proto vytvoří dva samostatné seriály, které se nikdy nespojí dohromady.
Pokud JSON-LD nepoužíváte, můžete stejný seriál poslat i přes namespace szn – jako RSS prvek <szn:series> nebo jako <meta name="szn:series">. Když dorazí obojí najednou, má namespace szn přednost před isPartOf.
Tady může být jen jeden obrázek jako odkaz na obrázek, seznam odkazů na obrázky, objekt typu ImageObject nebo seznam objektů ImageObject. Pro uvedení zdroje nebo informací o původu obrázku je potřeba zadat tyto údaje do atributu creditText u objektu ImageObject.
Pokud je u položek author a nebo about nastaven atribut @id=wd:, tak se identifikuje autor na základě tohoto ID, místo vyhledání podle názvu
U autora se detekuje i typ. Může nabývat hodnot Person, Organization. Výchozí hodnota, pokud není definováno je Person.
Pro detekci fotogalerie u článku se používá existence hasPart[@type="ImageGallery"], kde se očekává url odkazu na galerii a seznam obrázků image
Datum expirace hodnotami expires a sznRecommendExpires NEPOUŽÍVAT !
Tyto hodnoty jsou sice ještě načítány, ale raději je nepouživejte, protože můžou způsobit expiraci článku v Google vyhledavači nebo nevalidní JSON-LD data. Místo toho používejte hodnotu v hlavičce HTML <meta name="szn:hp-expire" ... />
Pro zobrazení komentářů z externích webů je potřeba zadat discussionUrl. Je to URL na kterou se přesměruje uživatel, který kliknul na komentáře u daného článku.
Vyplnění tagu contentLocation je užitečné pouze u lokálního obsahu (např. "V místě X bude uzavírka.").
Pokud budou vyplněny správné GEO koordináty, obsah bude doporučován podle lokality návštěvníků.
U témat relevantních celorepublikově, nemají GEO souřadnice význam (např. "Poslanec X řekl Y.").
Vhodný nebo erotický obsahPokud vyplníte tag isFamilyFriendly: false, článek se přesto zařadí, ale bude se vydávat pouze v časovém rozmezí mezi 22:00 a 5:00.
2. Ukázka možných hodnot
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Toto je název článku",
"description": "Toto je perex článku",
"image": [
"https://example.com/photos/photo.jpg",
{
"@type": "ImageObject",
"url": "https://example.com/photos/photo2.jpg",
"caption": "Titulek obrázku",
"description": "Popis obrázku",
"creditText": "Zdroj obrázku nebo další informace o obrázku"
}
],
"datePublished": "2015-02-05T08:00:00+08:00",
"dateModified": "2015-02-05T09:20:00+08:00",
"author": {
"@id": "wd:Q12024882",
"@type": "Person",
"name": "Jindřich Šídlo",
"url" : "https://www.seznamzpravy.cz/autor/jindrich-sidlo-54",
"sameAs" : [
"https://www.facebook.com/jindrich.sidlo",
"https://twitter.com/jindrichsidlo"
]
},
"about": [
{"name":"Fotbal", "@id": "wd:Q2736"},
{"name":"Arsenal", "@id": "wd:Q9617"}
],
"isPartOf": {
"@type": "CreativeWorkSeries",
"name": "Útržky reality",
"url": "https://vasedomena.com/utrzky-reality"
},
"contentLocation" : {
"@type" : "Place",
"geo": {
"@type": "GeoCoordinates",
"latitude": "50.0713456",
"longitude": "14.4008142"
}
},
"publisher": {
"@type": "Organization",
"name": "Název firmy",
"logo": {
"@type": "ImageObject",
"url": "https://vasedomena.com/logo.jpg"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://vas-server.cz/url-tohoto-clanku"
},
"isFamilyFriendly": true,
"hasPart": {
"@type": "ImageGallery",
"url": "https://www.foo.com/bar/gallery/1/",
"image": [
{
"@type": "ImageObject",
"url": "https://www.foo.com/bar/gallery/1/image1.jpg",
"caption": "Titulek obrázku",
"description": "Popis obrázku"
},
...
]
},
"discussionUrl": "https://www.foo.com/bar/comments/1/",
}
</script>