Keresők által támogatott tartalmi jelölések. A Microsoft, a Yahoo és a Google összefogott, hogy egységes microdata jelölőrendszert hozzanak létre a webes tartalmak jelölésére. Az eredeti angol nyelvű leírás itt található meg.
Ennek rövidített leírását és értelmét világosítom meg az eredeti példák felhasználásával:
Tegyük fel, hogy az Avatar című filmet szeretnénk a keresők számára minnél jobban megjeleníteni. A legegyszerűbb html kód így nézhet most ki:
<div> <h1>Avatar</h1> <span>Director: James Cameron (born August 16, 1954)</span> <span>Science fiction</span> <a href="../movies/avatar-theatrical-trailer.html">Trailer</a> </div>
Ez a kód semmit nem mond arról, hogy a megjelenített tartalom miről szól, az adatok mit jelentenek. Az Első dolog az, hogy a kódrészlet egy egységet jelent - item-et, és a kód ennek leírását tartalmazza. Az item hatáskörét az itemscope paraméter adja meg, amelyet a div utasításba teszünk, és a típusát egy egységes és bővíthető leírórendszerben rögzítjük az itemtype paraméter segítségével, valahogy így:
<div itemscope itemtype="http://schema.org/Movie"> <h1>Avatar</h1> <span>Director: James Cameron (born August 16, 1954)</span> <span>Science fiction</span> <a href="../movies/avatar-theatrical-trailer.html">Trailer</a> </div>
Ez a kód azt adja meg, hogy ez az egység egy mozi tulajdonságait írja le, amit a http://schema.org/Movie URL ad meg.
A moziknak és minden egyébnek további fontos jellemzőik is lehetne, mint például a film rendezője. Az ilyen tulajdonságokat az itemprop paraméterrel jelezhetjük:
<div itemscope itemtype ="http://schema.org/Movie"> <h1 itemprop="name">Avatar</h1> <span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span> <span itemprop="genre">Science fiction</span> <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a> </div>
Az itemprop használatánál felhívom a figyelmet a span tag használatára. mivel ennek a html tagnek nincsen kifejezett vizuális jelentése, ezért alkalmas az itemprop paraméter hordozójául.
lehetséges egy itemscope egy itemprop tulajdonságához további itemscope és itemtype paramétereket főzni, hizsen a Movie itemtype director tulajdonságához a rendező neve valójában egy itemtype a "Person" tartozik, akinek tulajdonsága a születési ideje. A megoldás az, hogy az itemprop="director" után közvetlenül a beágyazott itemscope és annak itemtype tulajdonságát lehet használni:
<div itemscope itemtype ="http://schema.org/Movie"> <h1 itemprop="name"&g;Avatar</h1> <div itemprop="director" itemscope itemtype="http://schema.org/Person"> Director: <span itemprop="name">James Cameron</span> (born <span itemprop="birthDate">August 16, 1954)</span> </div> <span itemprop="genre">Science fiction</span> <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a> </div>
A schema.org elnevezéstana több típust ad meg. Ezek az általánostól a specializált felé haladva léteznek, mint például a Thing (dolog), Place (hely), stb... Néhány alapvető típus itt található:
- Kreatív tartalmak: CreativeWork, Book, Movie, MusicRecording, Recipe, TVSeries ...
- Beágyazott nem szöveges típus: AudioObject, ImageObject, VideoObject
- Események : Event
- Szervezetek: Organization
- Személyek: Person
- Hely jellegű típusok: Place, LocalBusiness, Restaurant ...
- Termékek, árak, stb: Product, Offer, AggregateOffer
- Felsorolási típusok: Review, AggregateRating
Néhány ajánlat a használatra:
- Inkább használjuk, mint ne használjuk, illetve mint a rejtett szövegeket használjuk
- Nyugodtan használjunk egymásba ágyazott szövegeket
Használjuk url-ek tulajdonságaiként
<div itemscope itemtype="http://schema.org/Person"> <a href="alice.html" itemprop="url">Alice Jones</a> </div> <div itemscope itemtype="http://schema.org/Person"> <a href="bob.html" itemprop="url">Bob Smith</a>
A teszteléshez a google ad egy megfelelő eszközt.
Gépek által is megérthető formájú információ
A weboldalakat a korábbiak alapján már elég jól le lehet írni, de vannak olyan adattípusok, amelyek további paraméterek nélkül nem jól értelmezhetők a weboldalak számára. Ilyen például a dátum, idő. Erre használhatók az alábbi technikák:
A dátum és idő jelölése
<div itemscope itemtype="http://schema.org/Event"> <div itemprop="name">Spinal Tap</div> <span itemprop="description">One of the loudest bands ever reunites for an unforgettable two-day show.</span> Event date: <time itemprop="startDate" datetime="2011-05-08T19:30">May 8, 7:30pm</time> </div>
A dátumok és időpontok jelölésére az ISO 8601 date/time szabványt használja.
Felsorolási típusú adatok
A programozók által előszeretettel használt típusok, mint például a "létezik", "nem létezik" kategória, mint felsorolási típus. Az alábbi példában az "Offer" itemtype az itemprop="availability" értékkel szerepel.
<div itemscope itemtype="http://schema.org/Offer"> <span itemprop="name">Blend-O-Matic</span> <span itemprop="price">$19.95</span> <span itemprop="availability">Available today!</span> </div>
Az alábbi példában egy URL-ben leírt paraméter mondja meg a availability lehetséges jelentéseit.
<div itemscope itemtype="http://schema.org/Offer"> <span itemprop="name">Blend-O-Matic</span> <span itemprop="price">$19.95</span> <link itemprop="availability" href="http://schema.org/InStock"/>Available today! </div>
Kanonikus hivatkozások
A linkeket az <a> tag jelenti tipikusan a html leíró nyelvben. ha egy linket akarunk beszúrni, akkor szokás szerint megtehetjük, hogy az itemporp="url" tulajdonságot használjuk
<div itemscope itemtype="http://schema.org/Book"> <span itemprop="name">The Catcher in the Rye</span>? by <span itemprop="author">J.D. Salinger</a> Here is the book's <a itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye">Wikipedia page</a>. </div>
Így megjelenik a link a szövegben. Esetleg, ha ezt el akarjuk kerülni, akkor az alábbi lehetőségünk van:
<div itemscope itemtype="http://schema.org/Book"> <span itemprop="name">The Catcher in the Rye</span>? <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" /> by <span itemprop="author">J.D. Salinger</span> </div>
Meta tagok használata a tartalom magyarázatára
Előfordul, hogy az információt grafikusan, vagy flash objektumokkal jelenítjük meg, ugyanakkor a keresőbarát megoldást is szeretnénk használni. Ilyenkor egymásba lehet ágyazni a tulajdonságokat. Az alábbi példában egy kép jelenti a vizuálisan megjelenített információt - az adat a maximális 5-ből csak a 4 értéket vette fel. Ezt a felhasználó részére előállítja egy script a four-stars.jpg kép formájában, amit a kereső nem tud értékelni. A megoldás az alábbi:
<div itemscope itemtype="http://schema.org/Offer"> <span itemprop="name">Blend-O-Matic</span> <span itemprop="price">$19.95</span> <div itemprop="reviews" itemscope itemtype="http://schema.org/AggregateRating"> <img src="four-stars.jpg" /> <meta itemprop="ratingValue" content="4" /> <meta itemprop="bestRating" content="5" /> Based on <span itemprop="ratingCount">25</span> user ratings </div> </div>
Ebben az esetben az AggregateRating itemtype-nak adtuk meg két paraméterét: <meta itemprop="ratingValue" content="4" /> - az aktuális érték, <meta itemprop="bestRating" content="5" /> - a legnagyobb érték meta tagokat használtuk.
Meta tag-e csak akkor használjunk, ha másképpen nem tudjuk megjelölni az információt.
A sémákat természetesen lehet bővíteni. Ennek a módjáról ezen a linken lehet tájékozódni: http://www.schema.org/docs/extension.html