SCHEMA.ORG – Структурирани данни – основни маркировки
Основна цел на SCHEMA.ORG е да създаде универсален речник , който да структурира отделните елементи в един уеб-сайт.
Да им дава семантично значение по начин, разпознаваем от търсещите машини , като Google, Bing и Yandex. Така обособени, структурираните данни могат имат разнообразно и индивидуално предназначение, според това как точно са маркирани, какви са целите на уебсайта, какви типове страници имаме и не на последно място, целите на собственика.
Съответно търсачките могат да групират и по-добре да индексират елементите от сайта, за да могат те да бъдат подадени най-точно като резултати към едно или друго търсене. Например, ако един потребител търси тълковен речник, да не получи такъв на друг език или пък речник, описващ термините в сърдечната хирургия. Целта е да се индексирът елементи, така че те да са разпознаваеми като продукти, филмови премиери, адреси или много други варианти, които могат да се използват от едно или друго интернет приложение. Понякога, в зависимост от това предназначение, един или друг модел на запис може да е по-удобен или дори задължителен, затова е добре да се запознае администраторът на конкретния сайт с тези видове маркировки: RDFa. Microdata и JSON-LD.
След това вече следва моментът, в който един такъв администратор трябва да реши точно кои елементи иска да маркира в сайта си за търсачките и каква цел иска тези маркировки да постигнат.
При създаването на така избраните маркировки трябва да се имат предвид два важни фактора – типове на маркираните данни и йерархия на маркировката:
- Типът данни служи да структурира подадените данни по определен начин, така че търсачките да могат да разберат точно какво се описва. Например, ако маркираният атрибут е име или описание, то типът най-вероятно е текст и почти всеки вид запис ще бъде приемлив. Ако обаче атрибутът е URL, то тогава стойността на маркирания елемент трябва да е интернет адрес. Ако не е, тази маркировка ще бъде отбелязана като невалидна. Резултатът може да се провери при един тест на структурните данни на страницата. Въпросният тип данни може и често е друга маркировка (ако имаме един продукт, то неговата цена бихме искали да маркираме като оферта, което е отделна маркировка със свои собствени характеристики).
- Йерархия. Отделните страници, които маркираме се състоят често от множество елементи, които често се състоят от други елементи, които характеризират самите тях, а те от своя страна могат да се състоят от трети вид елементи със своя маркировка. Така маркировките, описващи маркировки, описват маркировки и образуват йерархията на данните в сайта. Основно трябва да се има предвид, че по-вътрешните маркировки описват част от съдържащите ги и определят техни характеристики. Ако това не важи за някой обект в сайта ви, той трябва или да се изведе от йерархичната структура или да се включи в описанието му, че става въпрос за изключение.
WebSite – Помощен речник: http://schema.org/WebSite
WebSite указва списък от страници или цялостен сайт и отделни негови елементи, релевантни за текущата тема. Може да индексира текущо разглеждания сайт или да укаже свързаност на един сайт с друг такъв или отделен негов елемент – търсачка, списък, видео…
Пример от нашия сайт:
Резултатът е изнесен от инструмента за тестване на структурните данни чрез Google SDTT {Structure Data Testing Tool}.
Текущия скрипт в JSON формат е:
<script type='application/ld+json'>
{"@context":"http:\/\/schema.org",
"@type":"WebSite",
"@id":"#website",
"url":"https:\/\/serpact.com\/",
"name":"SEO Агенция Serpact™",
"alternateName":"SEO Агенция Serpact™",
"potentialAction":{"@type":"SearchAction","target":"https:\/\/serpact.com\/?s={search_term_string}","query-input":"required name=search_term_string"}}
</script>
В нашия случай той генерира автоматично от WORDPRESS и в зависимост от използваната тема може да бъде генериран така и за други сайтове, които искате да маркирате. Както можете да видите, при нас се определят името, url адреса на сайта, евентуално алтернативно име и елемента и действието на вътрешно сайтовата ни търсачка.
WebPage – Помощен речник: http://schema.org/WebPage
Уеб страница. Указва изрично определена страница и съдържащите в нея елементи. По подразбиране търсачките приемат, че всяка част от съдържанието на страницата, която разглеждате е част от нея, така че, ако примерно footer елементът се намира извън блока, обхванат от WebPage, то те пак ще разберат, че то е част от нея. Използва се за изрично описание на отделни елементи от нея, ако например искате “Title” да бъде различен от този показван на екрана (не достатъчно място, различени изисквания на дизайна или други причини). Това е начинът да се укаже въпросното маркиране.
Пример с JSON :
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebPage",
"name": "SEO Агенция Serpact",
"description": "SEO Агенция Serpact | Лидер в Оптимизацията за търсещите машини"
}
</script>
Пример за RDFa би бил:
<body vocab="http://schema.org/" typeof="WebPage">
<h1 property="name">SEO Агенция Serpac</h1>
<p property="description">SEO Агенция Serpact | Лидер в Оптимизацията за търсещите машини</p>
</body>
или за Microdata:
<body itemscope="" itemtype="http://schema.org/WebPage">
<h1 itemprop="name">SEO Агенция Serpac</h1>
<p itemprop="description">SEO Агенция Serpact | Лидер в Оптимизацията за търсещите машини</p>
</body>
Често различни SEO приложения към отделните системи (като YOAST за WORDPRESS) използват подобни маркировки за редакция на важни елементи. Друг път можете да ги видите вградени в използваните визуални теми.
WebPageElement – Помощен речник: http://schema.org/WebPageElement
Означава отделните елементи от отделна страница – изображения, видео файлове, таблица или цели блокове – на които искаме търсачките да обърнат специално значение, да се индексира стойност, която не се извежда иначе или просто да презапишем някоя стойност за тях. Типичен пример биха били WPHeader или WPFooter маркировки (разновидности на WebPageElement), с които можем примерно да обозначим заглавие на отделна публикация в Header или копирайт елемент във Footer, както и всичко друго, съдържащо се в тях.
Пример JSON:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WPHeader",
"headline": "Кой побеждава - съдържанието или линка? | Новини | Serpact™",
"description": "За съжаление на въпроса кое е по-важно съдържанието или линка няма точен отговор? Линковете и съдържанието вървят ръка за ръка, но защо?"
}
</script>
SiteNavigationElement – Помощен речник: http://schema.org/SiteNavigationElement
Указва навигационни елементи в сайта си (например менютата). Помага на търсачките при обхождането на сайта.
Microdata маркировка:
<nav id="div_header_menu" class="menu_wrapper relative solid a-inherit" itemscope itemtype="http://schema.org/SiteNavigationElement">
Microdata и RDFa са по-лесните варианти за добавяне на този тип маркиране. Можете да добавите допълнителна маркировка на отделните елементи, дори с добавяне на itemprop=“position” можете да създадете и вид йерархия, но търсачките са достатъчно умни, за да разберат правилно линковата структура, описана от елемента.
BreadcrumbList – Помощен речник: http://schema.org/SiteNavigationElement
Вариант на навигационен елемент – обикновено служещ, за да създаде лист от адреси на страници, за да покаже “пътечката” от страници “трошици”, по която може да се стигне от главната страница на сайта до текущата разглеждана страница. Ефектът на тази маркировка може да се проследи директно в едно търсене в Google:
Пример за RDFa маркировка:
<ul id="breadcrumbs" class="breadcrumbs" vocab="http://schema.org/" typeof="BreadcrumbList">
<li property="itemListElement" typeof="ListItem" class="item-home"><meta property="position" content="1"><a property="item" typeof="WebPage" class="bread-link bread-home" href="https://serpact.com" title="Начало"><span property="name" >Начало</span></a></li>
<li property="itemListElement" typeof="ListItem" class="item-cat" ><meta property="position" content="2"><a property="item" typeof="WebPage"href="https://serpact.com/novini/"><span property="name">Новини</span></a></li>
<li property="itemListElement" typeof="ListItem" class="item-current item-16206"><meta property="position" content="3"><strong property="name" class="bread-current bread-16206" title="Кой побеждава –съдържанието или линка?">Кой побеждава –съдържанието или линка?</strong></li>
</ul>
за Microdata маркировка:
<ul id="breadcrumbs" class="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="item-home"><meta itemprop="position" content="1"><a itemprop="item" itemscope itemtype="http://schema.org/WebPage" class="bread-link bread-home" href="https://serpact.com" title="Начало"><span itemprop="name" >Начало</span></a></li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="item-home"><meta itemprop="position" content="2"><a itemprop="item" itemscope itemtype="http://schema.org/WebPage" href="https://serpact.com/novini/"><span itemprop="name">Новини</span></a></li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="item-current item-16206"><meta itemprop="position" content="3"><strong itemprop="name" class="bread-current bread-16206" title="Кой побеждава –съдържанието или линка?">Кой побеждава –съдържанието или линка?</strong></li>
</ul>
В конкретния случай се показва Breadcrumb маркировката за една от нашите публикации и URL пътеката, по която един потребител би стигнал до нея при едно навигиране през браузър – Главна страница > Новини > Кой побеждава… .Може да се отбележи последователното листване на отделните адреси и WebPage маркирането им в един контекстуален лист, разбираем от Google, както и тяхната позиция в него (чрез “position”, ако се налага уточняване или ако дизайнът на сайта изисква елементите да се визуализират в друг ред, иначе търсачката индексира последователността според реда на подреждане на елементите в HTML кода).
Добре е да се отбележи и маркировката http://schema.org/breadcrumb, която е по-опростен вариант на BreadcrumbList. Използва се от Yoast.
Organization – Помощен речник: http://schema.org/Organization
Създава маркировка на организация – фирма, училище, клуб, корпорация, агенция и др. Дава основни данни, които я индексират в търсачките: име, лого, адрес, телефон, имейл, интернет адрес, страници в социалните мрежи, основател, цели, членове и много други, които маркиращият иска да бъдат публикувани и съответно видими.
Пример:
Пример за реализиране на тази маркировка JSON:
<script type='application/ld+json'>{"@context":"http:\/\/schema.org",
"@type":"Organization",
"url":"https:\/\/serpact.com\/koy-pobezhdava-sydyrzhanieto-ili-linka\/",
"sameAs":["https:\/\/www.facebook.com\/Serpact-1690639484486081\/","https:\/\/www.linkedin.com\/company\/serpact",
"https:\/\/plus.google.com\/u\/0\/+SerpactBg\/posts",
"https:\/\/www.youtube.com\/channel\/UC4zZj6YPC5yU4bkH6OOO-aQ",
"https:\/\/www.pinterest.com\/serpact\/",
"https:\/\/twitter.com\/serpact"],
"@id":"#organization",
"name":"SEO Агенция Serpact™",
"logo":"https:\/\/serpact.com\/wp-content\/uploads\/2016\/03\/serpact-small.png"}
</script>
В конкретния случай Organization маркирането използва JSON скрипт. JSON е особено подходящ за такъв тип маркиране, поради сравнителната простота на скрипта, когато структурираните данни не са променливи. За по-просто маркиране отново можете да използвате YOAST, ако сайтът ви е изграден на WORDPRESS. За по-сложна и конкретна маркировка би се наложило да я въведете ръчно.
LocalBusiness – Помощен речник: http://schema.org/LocalBusiness
Една от по-важните маркировки, особено когато сайтът представя даден локален бизнес или бизнесът се извърша през сайта по електронен път. Представлява маркиране на структурираните данни за обособен физически обект, извършващ бизнес или местен клон на такава организация (Organization) – магазин, ресторант, локален клон на ресторантска верига, склад, банков клон и много други. Практически всеки местен бизнес може да получи такава маркировка и тя се взема предвид при подаване на отговорите на търсачките, при евентуално такова целево търсене, особено когато те засекат, че търсещият и бизнесът имат съвместима локация.
Пример:
Параметрите, които определят един Локален бизнес са многобройни. Те често са също рядко променяни затова JSON е подходящ за този тип маркировка.
Пример JSON:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "LocalBusiness",
"address": {
"@type": "PostalAddress",
"addressLocality": "Свиленград",
"addressRegion": "BG",
"postalCode":"6500",
"streetAddress": "ул. Д. Благоев 7"
},
"telephone": "+359 885-014-972",
"email": "info@serpact.com",
"url": "https://serpact.com/ ",
"sameAs": [ "https://plus.google.com/u/0/+SerpactBg", "https://www.facebook.com/Serpact/"],
"description": "SEO агенция Serpact прави клиентите си печеливши, продаващи и популярни! Компетентни сме в SEO оптимизация, On-Page / Off-Page SEO и PPC.",
"name": "SEO Агенция Serpact",
"alternateName": "Serpact",
"legalname": "Серпакт EООД",
"branchCode": "Serpact BG",
"taxID": "202477340",
"openingHours": "Понеделник-Петък 8:00-17:00",
"priceRange":"1000-2600 BGN",
"geo": {
"@type": "GeoCoordinates",
"latitude": "41.7676176",
"longitude": "26.202593"
},
"hasMap": "https://www.google.com/maps/place/Serpact/@41.7676176,26.2004043,17z/data= !3m1!4b1!4m5!3m4!1s0x0:0x4df134a68b714c27!8m2!3d41.7676176!4d26.202593",
"logo": "https://serpact.com/wp-content/uploads/2016/03/serpact-small.png",
"image": "https://serpact.com/wp-content/uploads/2016/03/serpact-small.png",
"award": " ",
"contactPoint": [ {
"@type": "ContactPoint",
"contactType": "customer service",
"telephone": "+359 885-014-972",
"email": "info@serpact.com",
"productSupported": "SEO оптимизация, SEO анализ"
}],
"currenciesAccepted": "BGN, GBP, USD, EUR",
"paymentAccepted": "Банков път",
"founder": [ {"@type": "Person",
"name": "Nikola Minkov",
"nationality": "Bulgarian",
"jobTitle": "CEO",
"gender": "male",
"sameAs": [ "https://plus.google.com/+katqvalentinova", "https://www.facebook.com/nikola.t.minkov"] } ],
"foundingDate": "2012",
"foundingLocation": "Димитровград"
}
</script>
Правилната LocalBusiness маркировка има влияние за получаване на подобен резултат при едно търсене:
LocalBusiness – Разновидности:
Поради множеството различни видове бизнес, който може да се развие, то тази маркировка съществува в множество вариации, описващи отделни особености на определен тип бизнес, които са неприложими за друг такъв (например Store, Dentist, Hotel, Restaurant … ). Поради това, много от тези видове бизнеси имат своя собствена маркировка, която наследява много от свойствата на LocalBusiness, но и добавя към тях атрибутите специфични за самите тях. Ако са маркирани с такава специфична маркировка, търсещите машини индексират сайтовете по съответния начин и ги добавят към съответните си директории, така че да отговарят при търсене в конкретните категории – при търсене на хотел или място за отсядане в определен район. Търсачките ще знаят, че сайтът отговаря на тези специфични условия и ще го подадат като отговор, например.
Тъй като използвахме за пример “Hotel”, нека да опишем как работи.
Помощен речник: http://schema.org/Hotel
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Hotel",
...
Тъй като е разновидност на LocalBusiness, тази маркировка използва много от атрибутите описани по-горе, но към себе си има и някои специфични за хотелския бизнес, например:
...
"availableLanguage":"Български,English",
"checkinTime":"12:00",
"checkoutTime":"10:00",
"petsAllowed":"Yes",
"starRating":"4.6",
....
В конкретния случай, описаните по-горе атрибути описват езици, на които може да се разберете в хотела, време за настаняване и напускане, дали се допускат домашни любимци, както и как е оценен хотелът. Всички тези атрибути са специфични за хотела и отговарят като критерии при евентуално правилно търсене.
Подобни маркировки са например http://schema.org/Restaurant и http://schema.org/MovieTheater. Те, както и “Hotel”, имат свои собствени свойства. Други като ExerciseGym, Store, PetStore и CafeOrCoffeeShop са стандартни разновидности на LocalBusiness и нямат такива допълнения. Въпреки това разликата в @type маркирането е достатъчна, за да накара търсачките да направят разграничението в типа на дейността им.
Product – Помощен речник: http://schema.org/Product
Представянето на определен бизнес би имал малък смисъл, ако не бъдат представени продуктите, които този бизнес предлага например компютри, дрехи, играчки, билети за събитие и много други. Структурираните данни на този тип елементи, когато се иска те да се индексират като вид продукти се извършва с тази маркировка. Пример:
Тази примерна маркировка описва лаптоп продаван в iZone. Поради това, че един бизнес рядко продава само един продукт данните, подавани в сайта и съответно като структурирани данни са динамични, което прави JSON маркирането неудобно. Microdata и RDFa са по-добър избор в този случай. По тази причина, повечето платформи за електронна търговия имат маркировката вградена в кода си. Горният пример използва Woocommerce за генериране на продуктовите си страници и Microdata, която отбелязва отделните елементи от структурираната дата. Ето част от HTML кода отговарящ за това:
Microdata маркировка:
<div itemscope itemtype="http://schema.org/Product" id="product-8077" class="post-8077 product type-product .... product-type-simple"> ...
<a href="https://_____/wp-content/uploads/2017/01/DSC_0443.jpg" itemprop="image" class="woocommerce-main-image zoom" id="woocommerce-product-main-image" title="" data-rel="prettyPhoto[product-gallery]">....</a>
....
<div itemprop=”offers” itemscope=”” itemtype=”http://schema.org/Offer”> <p class=”price”><span class=”woocommerce-Price-amount amount”>229<span class=”woocommerce-Price-currencySymbol”>лв.</span></span></p> <meta itemprop=”price” content=”229″ /> <meta itemprop=”priceCurrency” content=”BGN” /> <link itemprop=”availability” href=”http://schema.org/OutOfStock” /> </div>
….
<h1 itemprop=”name” class=”product_title entry-title”>HP EliteBook 6930p</h1> <div class=”woocommerce-product-rating” itemprop=”aggregateRating” itemscope itemtype=”http://schema.org/AggregateRating”> <div class=”star-rating” title=”Оценено на 5 от 5″> <span style=”width:100%”> <strong itemprop=”ratingValue” class=”rating”>5</strong> от <span itemprop=”bestRating”>5</span> на база <span itemprop=”ratingCount” class=”rating”>1</span> клиентска оценка </span> </div> <a href=”#reviews” class=”woocommerce-review-link” rel=”nofollow”><span itemprop=”reviewCount” class=”count”>1</span> отзив</a> </div><div itemprop=”description” class=”description”> <ul><li style=”text-align: left;”>Core 2 Duo P8600 2.4GHz</li><li style=”text-align: left;”>2 GB DDR2</li>….
….
<div id=”reviews” class=”woocommerce-Reviews”> <div id=”comments”> <h2 class=”woocommerce-Reviews-title”>1 отзив за <span>HP EliteBook 6930p</span></h2> <ol class=”commentlist”> <li itemprop=”review” itemscope itemtype=”http://schema.org/Review” class=”comment byuser comment-author-admin bypostauthor even thread-even depth-1″ id=”li-comment-725″> <div id=”comment-725″ class=”comment_container”> <img alt=” src=”data:image/gif;base64,R0lGODdhAQABAPAAAP///wAAACwAAAAAAQABAEACAkQBADs=” data-lazy-type=”image” data-lazy-src=’https://secure.gravatar.com/avatar/e2e03b077635d19e59f71f9ebd5e73e2?s=60&r=g’ data-lazy-srcset=’https://secure.gravatar.com/avatar/e2e03b077635d19e59f71f9ebd5e73e2?s=120&r=g 2x’ class=’lazy lazy-hidden avatar avatar-60 photo’ height=’60’ width=’60’ /><noscript><img alt=” src=’https://secure.gravatar.com/avatar/e2e03b077635d19e59f71f9ebd5e73e2?s=60&r=g’ srcset=’https://secure.gravatar.com/avatar/e2e03b077635d19e59f71f9ebd5e73e2?s=120&r=g 2x’ class=’avatar avatar-60 photo’ height=’60’ width=’60’ /></noscript> <div class=”comment-text”> <div itemprop=”reviewRating” itemscope itemtype=”http://schema.org/Rating” class=”star-rating” title=”Оценено на 5 от 5″> <span style=”width:100%”><strong itemprop=”ratingValue”>5</strong> от 5</span> </div> <p class=”meta”> <strong itemprop=”author”>Евгени Илиев</strong> – <time itemprop=”datePublished” datetime=”2017-07-15T13:18:57+00:00″>юли 15, 2017</time>: </p><div itemprop=”description” class=”description”><p>Test Test</p></div> </div>
Product има много различни атрибути, но в нашия пример представяме само основните – име, описание, изображение и адрес. Обърнете внимание на атрибутите – подраздели – оферта, review и aggregatRating. Тези елементи отразяват стандартни структури от данни, които са подходящи за използване и в други ситуации и съответно те имат и свои собствени маркировки:
http://schema.org/Offer – оферта за извършване на някаква дейност
В случая това е извършване на продажба и се подава цена на продукта, валута и дали е наличен. Възможни са и други атрибути, които да я описват – период на валидност на офертата, метод на доставка, гаранция и други.
http://schema.org/Review – отзив или рецензия на обект
Маркиране на публикуван отзив или рецензия на даден обект. Основно се отбелязва съдържанието на отзива, кой го извършва и как е оценен обектът. Ако маркираният елемент не е част от структура данни на елемент, на който може да се прави такава рецензия се изисква да се укаже изрично на какво се прави то с маркиране на елемент с itemReviewed.
http://schema.org/AggregateRating – Осреднен рейтинг базиран на множество оценки
Рейтинг, даден на маркирания елемент (продукт, услуга, книга, събитие). Отбелязва се често със звездички в резултатите при едно търсене. Основните атрибути са съответно – брой отзиви и брой рейтинги и съответно itemReviewed, ако маркировката не е част от по-голяма отбелязваща елемента, на който се дава оценка.
AggregateRating е разширение и приема стойности, маркирани чрез http://schema.org/Rating – единична оценка. Основните параметри са най-добра оценка, най-лоша, текуща и кой дава въпросната оценка. Възможно е да се даде уточнение на кой точно аспект от оценявания обект се поставя въпросният рейтинг.
Offer, Review и AggregateRating са удобни и често използвани маркировки, които могат да бележат характеристики и на други типове структурни данни – Service, Event, Book, Movie и други.
Service – Помощен речник: http://schema.org/Service
Маркировка, описваща услуги предлагани от определена организация или бизнес (от сайта). Например: печатни услуги, таксита, транспортни услуги, доставки и други. Пример от сайта на Serpact, минимални данни:
JSON маркировка:
<script type="application/ld+json">
{"@context":"http://schema.org/",
"@type":"Service",
"description":" Ние от SEO Агенция Serpact предлагаме индивидуален подход към всеки клиент за SEO оптимизация. Компетентни сме, имаме опит и постигаме резултати.",
"url":"https://serpact.com/seo-optimizacia/",
"serviceType":"SEO",
"offers":{
"@type":"Offer",
"name":"SEO ПАКЕТ Старт",
"priceCurrency":"BGN","price":"1000"}
}</script>
JSON маркировката е подходяща, ако са налични няколко фиксирани услуги, чиито параметри рядко се променят. При повече услуги или услуги, които по-често търпят промени, или съществуват в няколко варианта е по-подходящо използването на Microdata или RDFa, като въпросното маркиране се добавя чрез кода на подаване на данните. Горният пример в тези формати:
Microdata маркировка:
<div itemscope itemtype="http://schema.org/Service">
<span itemprop="serviceType">SEO</span>
<p itemprop="description">Ние от SEO Агенция Serpact предлагаме индивидуален подход към всеки клиент за SEO оптимизация. Компетентни сме, имаме опит и постигаме резултати.</p>
<a itemprop="url" href="https://serpact.com/seo-optimizacia/">https://serpact.com/seo-optimizacia/</a>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="name">SEO ПАКЕТ Старт</span> - <span itemprop="price">1000</span> лв
<meta itemprop="priceCurrency" content="BGN">
</div></div>
RDFa маркировка:
<div vocab="http://schema.org/" typeof="Service">
<span property="serviceType">SEO</span>
<p property="description">Ние от SEO Агенция Serpact предлагаме индивидуален подход към всеки клиент за SEO оптимизация. Компетентни сме, имаме опит и постигаме резултати.</p>
<a property="url" href="https://serpact.com/seo-optimizacia/">https://serpact.com/seo-optimizacia/</a>
<div property="offers" typeof="Offer">
<span property="name">SEO ПАКЕТ Старт</span> - <span property="price">1000</span> лв
<meta property="priceCurrency" content="BGN">
</div></div>
Event – Помощен речник: http://schema.org/Event
Маркиране на събитие – сватба, сбирка, концерт, кино премиера, откриване на галерия и други. При повтарящи се събития те могат да се отбележат като отделни Event обекти – например при отбелязването на различните прожекции в седмичната програма на едно кино. Някои приложения могат да използват данните, маркирани по този начин например да добавят избрано такова маркирано събитие в програмата на потребителя или в календара му. Трябва да се отбележи, че Event може да носи, както и Service и Product рейтинги, отзиви и оферти, когато например се иска да се отбележи цената на билета на маркирания концерт или кино прожекцията.
Event е сложна опростена структура, която е в основата на маркировките на по-специфични типове събития, например :
и др.
Съществува и по-сложна структура на Event данни – EventSeries – която описва серия от събития, които имат обща тема или обединяващи характеристики.
Article – Помощен речник: http://schema.org/Article
Статия – указва, че съдържанието на този елемент е вид статия. Тази маркировка покрива всички видове статии – новини, статии от списания и др. Пример:
JSON маркиране на примерната статия на Serpact:
<script type="application/ld+json">
{"@context":"https://schema.org",
"@type":"Article",
"mainEntityOfPage":{
"@type":"WebPage",
"url":"https://serpact.com/koy-pobezhdava-sydyrzhanieto-ili-linka/"},
"headline":"Кой побеждава –съдържанието или линка?",
"image":{
"@type":"ImageObject",
"url":"https://serpact.com/wp-content/themes/serpact/images/serpact.png",
"height":"57",
"width":"160"},
"datePublished":"2017-08-22 10:04:09",
"dateModified":"2017-08-22 10:04:09",
"author":{
"@type":"Person",
"name":"Nikola Minkov"},
"publisher":
{"@type":"Organization",
"name":"Serpact",
"logo":{
"@type":"ImageObject",
"url":"https://serpact.com/wp-content/themes/serpact/images/serpact.png",
"height":"57",
"width":"160"}},
"description":"Кой ще изчезне първи? Над кое да се фокусираме повече –link building или content marketing? Съществува прогноза, че линковете напълно ще изгубят своето значение, тъй като Google обръща все повече внимание на съдържанието...."}
</script>
Поради това, че обикновено един сайт рядко съдържа само една статия, платформите, които извеждат този тип съдържание го правят като сбор от динамични данни. Поради това, маркирането може да се осъществи макар и по-трудно чрез JSON, като съдържанието на отделните атрибути се добавя чрез променливи в скрипта. Подходящо е също така то да бъде маркирано и чрез Microdata или RDF, като съответните тагове се внасят директно в HTML-а при извеждане на отделните елементи от статията. Например :
Microdata маркиране
<div itemscope itemtype="http://schema.org/Article">
<div itemprop="mainEntityOfPage" itemscope itemtype="http://schema.org/WebPage">
<meta itemprop="url" content="https://serpact.com/koy-pobezhdava-sydyrzhanieto-ili-linka/">
</div>
<h1 itemprop="headline">Кой побеждава –съдържанието или линка?</h1>
.....
</div>
Трябва да се обърне внимание и на маркировката http://schema.org/BlogPosting – разновидност на Article, която описва блог постове. Основната разлика е наличието на допълнителен атрибут sharedContent описващ елемент(и) или (видео или изображение) от страницата, които евентуално са споделени чрез социалните мрежи.
Съществуват и други маркировки на много различни видове елементи, които могат да се опишат в един сайт:
- Book Reviews
- Movies
- Software Applications
както и много други.
Поради огромния брой различни видове елементи, които един уебмастър може да реши да маркира, то и броя им продължава да расте. Съществуват и някои маркировки обединяващи маркировки които се стремят да покрият типове елементи, които още нямат своя такава. За пример CreativeWork ( http://schema.org/CreativeWork ) обединява всички видове елементи, които биха се описали като творческа дейност – книги, картини, филми, фотографии, представления и т.н.
Понякога маркировката на отделни елементи може да се развива или променя. Някои маркировки отпадат, стават част от други или се специализират така че е добре да се следи дали не са възникнали грешки – чрез тестове на структурираните данни.