Microdata, RDFa,… Kudy ke zlepšení sémantiky HTML?

14. prosince 2016

Současné sémantické tagy slouží zejména k vyznačení struktury obsahu, jen málo z nich popisuje, co prezentované informace vlastně znamenají. To vyhledávačům prakticky znemožňuje přesněji analyzovat obsah webových stránek a nabízet relevantnější výsledky vyhledávání. Naštěstí existují způsoby, jak sémantickou úroveň HTML dokumentů pozvednout.

Atribut role

Jednou z mála možností, jak sémantiku HTML obohatit, jsou tzv. ARIA atributy – atribut role a atributy s prefixem aria-. ARIA atributy zpřesňují a doplňují význam prvků v kontextu dokumentu, resp. webové aplikace. Hodnotou atributu role je klíčové slovo (může jich být i více, oddělených mezerou), které deklaruje úlohu daného prvku, jako např. menu, banner a další věci.

Mikroformáty

Mikroformáty (µF) jsou jednoduché otevřené datové formáty, postavené na již existujících standardech. Umožňují selektivně vyznačit v obsahu webové stránky specifické údaje, jako jsou informace o produktu, kontakty, geografická poloha nebo pořádané akce. K popisu těchto údajů využívají atributy rel nebo class, jak ukazuje následující příklad s mikroformátem hCalendar.

<div class="vevent">
  <a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a>
  <span class="summary">Web 2.0 Conference</span>:
  <time class="dtstart" datetime="2016-10-05">October 5</time> -
  <time class="dtend" datetime="2016-10-07">7</time>,
  at the <span class="location">Argent Hotel, San Francisco, CA</span>
</div>

Takto vyznačené informace mohou být snadno rozpoznány, indexovány a prohledávány. Některé známé mikroformáty, např. rel-tag nebo rel-nofollow, se už staly součástí HTML.

Je však třeba přiznat, že mikroformáty nejsou příliš šikovným řešením. Zejména proto, že hrozí nechtěná shoda některé sémantické hodnoty v class s názvem CSS třídy.

Microdata

Microdata jsou v podstatě jakýmsi systematičtějším mikroformátem. Jedná se v zásadě o ten samý způsob, jak extrahovat z webové stránky strojově čitelná data. Microdata však mají jednotnou dokumentaci a používají vlastní atributy, tyto:

  • itemscope – označuje nový objekt obsahující strojově čitelná data; nemá hodnotu
  • itemtype – odkazuje na příslušné schéma (= slovník, obdoba namespace), tím vlastně definuje zároveň i druh informací; hodnotou je absolutní URL
  • itemref – přidává reference na další strojově čitelná data (na stejné stránce!), umístěná mimo objekt, ale náležící k němu; hodnotou seznam id
  • itemid – přiřazuje objektu globální identifikátor; hodnotou je unikátní identifikátor, podle kterého lze položku dohledat
  • itemprop – přiřazuje jednotlivým údajům v objektu jejich význam; hodnotou je vlastnost, resp. klíčové slovo definované ve slovníku (schématu), viz příklad
<div itemscope itemtype="http://schema.org/Book" itemref="obalka" itemid="urn:isbn:978-80-243-6164-2">
  <span itemprop="author">Vlastimil Vondruška</span>: 
  <span itemprop="name">Ďáblův sluha</span> 
  <meta itemprop="publisher" content="MoBa" />
</div>
...
<img id="obalka" itemprop="image" src="kniha.png" alt="obálka: ilustrace ze středověké kroniky" />

RDFa

RDF (Resource Description Framework) je rodina formátů, které zachycují ontologii dat. Vztahy mezi informacemi jsou v nich popsány podle modelu podmět – přísudek – předmět. Jedním z těchto formátů je i RDFa (RDF in attributes). Opět se jedná o tentýž princip jako v předešlých případech, tedy sémantické vyznačení strojově čitelných dat a jejich významovou interpretaci prostřednictvím příslušného slovníku. Nicméně RDFa je mnohem sofistikovanější, je to už silný nástroj, s nímž se dají popsat i ontologicky velmi složité struktury. Na RDFa je postaven například Open Graph Protocol, který používá Facebook.

Aby nebylo používání RDFa tak složité, vznikla jednodušší verze RDFa Lite, která pro běžnou potřebu zcela dostačuje i s pouhými pěti atributy.

  • vocab – označuje strojově čitelný obsah, přičemž odkazuje na zdroj slovníků
  • typeof – určuje použitý slovník
  • prefix – přidává další slovník z jiného zdroje a deklaruje prefix pro jeho vlastnosti
  • resource – přidává reference na další strojově čitelná data, uvedená jinde
  • property – vlastností (výrazem) definovanou ve slovníku popisuje obsah

V následujícím příkladu je jasně patrné, že mezi RDFa Lite a Microdaty vlastně není žádný podstatný rozdíl. Atributy sice mají rozdílné názvy, ale používají se podobně.

<div vocab="http://schema.org/" typeof="Book" resource="#obalka" prefix="ov: open.vocab.org/terms/">
  <span property="author">Vlastimil Vondruška</span>: 
  <span property="name">Ďáblův sluha</span> 
  <meta property="publisher" content="MoBa" />
</div>
...
<img id="obalka" property="image" src="kniha.png" alt="obálka: ilustrace ze středověké kroniky" />

Aby vše bylo ještě snadnější a pohodlnější, jsou k dispozici různé pluginy, editory, validátory, konvertory a další nástroje pro práci s Microdaty a RDFa.

Rich Snippets

Proč by se ale autoři měli obtěžovat s nějakým sémantickým vyznačováním, když není vůbec jisté, že to jejich stránky posune výš ve výsledcích vyhledávání? Minimálně jeden důvod by tu byl: Google u některých výsledků zobrazuje tzv. rich snippets, což jsou úryvky z obsahu obohacené o obrázky, odkazy nebo hodnocení. Tyto doplňující údaje Google získává právě ze strukturovaných dat vyznačených pomocí Microdat nebo RDFa. Je ale potřeba si nejdřív zjistit, které konkrétní údaje Google do Rich Snippets zařazuje. Takto strukturované informace vypadají mnohem atraktivněji a zvyšují šanci, že si jich uživatel ve výsledcích vyhledávání všimne, zatímco ostatní odkazy jen přelétne pohledem. Už pouhé upoutání pozornosti znamená důležitou konkurenční výhodu, která se pak odráží ve zvýšené míře prokliků (CTR). Zkrátka: implementace „mikrosémantiky“ může v důsledku výrazně vylepšit zobrazení daného webu v Googlu, a tím přilákat větší množství potenciálních zákazníků. Nehledě na to, že když Google tyto informace zahrnuje do algoritmu vyhledávání, tak jejich zdroje může logicky také upřednostňovat pozičně, aby podsunul uživatelům relevantnější odkazy.

Kudy ze slepé uličky

Pravda je taková, že tvořit v HTML pomocí atributů jakousi paralelní sémantickou strukturu není vůbec ideální řešení. Je to prostě jaksi něco navíc, a od autorů nelze očekávat, že budou informace důsledně označovat – pouze v případě, že se jim to bude hodit jako SEO nebo pro účely Rich Snippets a podobně, a to jenom určité úseky obsahu. Jestliže ovšem je sémantické vyznačování takto sporadické, pak to s vizí sémantického webu nevypadá nadějně.

Bylo by však naivní si myslet, že místo RDFa nebo Microdat bude lepší obohatit HTML o desítky či stovky nových tagů. Už teď v HTML leží bez povšimnutí řada deskriptivních tagů, např. <var>, <address> nebo <cite>, přidávat další bez nějaké určité koncepce asi nebude řešením. Uvažovat lze jedině o nějakém rozšíření na bázi jmenných prostorů. Tedy, že by existoval jakýsi základní slovník se známými a běžně používanými tagy, k němuž by bylo možno připojit speciální slovníky. Kodéři zapojení do vývoje e-shopů by díky tomu mohli zcela přirozeně používat takové tagy jako <category>, <product>, <price> atd., které by vyhledávačům dávaly jistě větší smysl než nějaké divy a spany. Pro jiné typy webů by pak existovaly další speciální slovníky, resp. jmenné prostory s jinými nebo jinak definovanými tagy. To je ovšem jenom pouhé teoretizování, vylepšení sémantiky HTML se totiž zatím neplánuje.

Má vůbec smysl se o zkvalitnění sémantické úrovně HTML snažit? Pojem sémantický web sice zní hezky, ale co si od něj vlastně slibovat? Sémantický web je analyzovatelný prostředky výpočetní techniky – o to jde především. Indexovací roboti by se dokázali na stránkách orientovat, rozpoznat klíčový obsah a rozlišit druh informací (komerční, edukační, zpravodajské, diskuze atd.). Díky tomu by ve výsledcích vyhledávání ubylo zjevně nerelevantních odkazů. A jako bonus by vyhledávače mohly úspěšněji nabízet užitečné doplňkové funkce: filtraci výsledků (byly by vynechány např. e-shopy) nebo hledání podobných stránek. Vyhledávání by také mohlo být více personalizované – analýzou obsahu stránek, o které uživatel projevil zájem, by vyhledávač zjistil, co ho zajímá, a podle toho upravil výsledky vyhledávání. Potenciál sémantického webu je obrovský, v budoucnu se může stát podobnou revolucí, jakou bylo na sklonku milénia řazení výsledků vyhledávání podle relevance.

Štítky: seo

Mohlo by vás také zajímat

Nejnovější

3 komentářů

  1. mikiqex

    Pro 14, 2016 v 18:53

    Pokud jde o přilákání návštěvníka na web, třeba kvůli reklamě, může být použití sémantiky kontraproduktivní. Google web třeba posune v SERP o něco výše, ale zároveň návštěvníkovi ve snippetu může ukázat vše, co potřebuje, a tudíž nakonec nebude mít k prokliku na váš webu důvod. Knowledge Graph tak v důsledku drží uživatele internetu více na stránkách Google, kde zobrazují vlastní reklamy. Dalo by se tak hovořit až o vykrádání obsahu Googlem z indexovaných webů.

    Odpovědět
  2. Peter Sjekel

    Led 23, 2017 v 16:15

    ako je to v zložitejšom HTML? napríklad nadpis článku je v štruktúre H1 – a – span. Atribút itemprop=name treba dať k span, alebo k H1 tagu?

    Odpovědět
  3. Tomáš

    Kvě 21, 2018 v 23:32

    Pořád aktuální, díky za hezký článek. Trochu technické rozboru nikdy neuškodí a rád si to připomínám.

    Odpovědět

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *