- PVSM.RU - https://www.pvsm.ru -
Я работаю в команде семантического веба в Яндексе. Мы занимаемся тем, что создаем продукты на основе семантической разметки, делаем свои расширения и участвуем в развитии стандарта Schema.org.
Мир семантической разметки устроен не вполне просто и на первый взгляд даже не всегда логично. Для того чтобы облегчить жизнь тем, кто хочет в нём разобраться, мы решили написать рассказ о том, какой бывает разметка, что дает и как ее внедрить.
Под микроразметкой (или семантической разметкой) мы подразумеваем разметку страницы с дополнительными тегами и атрибутами в тегах, которые указывают поисковым роботам на то, о чем написано на странице.
Микроразметка состоит из словаря и синтаксиса.
Словарь — это своеобразный «язык», набор классов и их свойств, с помощью которых указывается суть содержимого на странице. Например, словарь определяет, с помощью какого термина указывать название — «name», «title» или «n».
Синтаксис — это способ использования такого языка, т.е. словаря. Он определяет, с помощью каких тегов и как будут указываться сущности и их свойства, например, на веб-страницах.
Семантическая разметка развивалась поэтапно, в свое время разные инициативные группы брались за разработку концепции. И в итоге получился винегрет из разных словарей и синтаксисов — их довольно много и сначала разобраться со всеми ними далеко непросто.
В этой статье мы разберем наиболее распространенные словари:
Open Graph — словарь, который разработал Facebook для того, чтобы любой сайт смог стать частью этой социальной сети и красиво в ней отображаться. С помощью OG показываются расширенные ссылки сайтов.
Schema.org — словарь, который вместе разрабатывают крупнейшие поисковые системы для того, чтобы вебмастерам не приходилось размечать отдельно для каждого поисковика. Разметка Schema.org дает возможность сайтам получать специальные сниппеты в поисковой выдаче.
Микроформаты разработаны энтузиастами из W3C, которые хотели сделать свой стандарт с использованием базовых элементов HTML. Часто бывают сложности с различием микроформатов и микроразметки — сразу отметим, что это не одно и то же. Микроформаты — это один из словарей микроразметки, так же, как и Schema.org, Open Graph или FOAF. Единственное отличие в том, что микроформаты представляют собой объединенный стандарт синтаксиса и словаря. Тогда как микроразметка, как мы сказали выше, — собирательный термин для способа обогащения страницы семантическими данными.
Мы опишем идею создания, процесс развития, описываемые сущности и свойства и приведем небольшие примеры разметки для каждого словаря. А в следующих статьях напишем о синтаксисах, продуктах и способах внедрения микроразметки.
Open Graph (OG) [2] — это самый распространенный и простой словарь. Сейчас Open Graph чаще всего используют для того, чтобы публикуемые ссылки с сайтов были расширенными, красивыми и понятными. С разметкой OG ссылки будут так показываться по всех популярных соцсетях.
Также разметка Open Graph активно используется приложениями для Facebook — она позволяет пользователям отражать действия из приложений на своих страничках.
Благодаря OG можно смотреть видео, читать краткое описание статьи и быстрее понимать суть информации, которой делятся друзья, просматривая бесконечные ленты новостей. Помимо Facebook [3] разметку Open Graph распознают также Вконтакте [4], Google+ [5], Twitter [6], LinkedIn [7], Pinterest [8] и другие.
Сам словарь достаточно лёгок в применении — для начала использования нужно 4 свойства:
Например, разметка Open Graph для описания человека выглядит так:
<html prefix="og: http://ogp.me/ns#
profile: http://ogp.me/ns/profile#">
<head>
<meta property="og:title" content="Юрий Гагарин" />
<meta property="og:type" content="profile" />
<meta property="og:url" content="http://example.com/Гагарин" />
<meta property="og:image" content="http://example.com/" />
<meta property="profile:first_name" content="Юрий" />
<meta property="profile:last_name" content="Гагарин" />
<meta property="profile:gender" content="male" />
...
</head>
...
</html>
Здесь робот распознает, что страница посвящена мужчине по имени Юрий Гагарин, на ней есть ссылка на его фото. Здесь такое свойство как url указывается как канонический URL страницы.
В теге og:type помимо типа «profile» могут быть указаны различные типы сущностей (у которых есть еще свои свойства):
Если не использовать такую разметку на странице сайта, то при публикации ссылки в Facebook система в любом случае попробует построить превью. Но, как правило, это выходит далеко не так удачно — вместо картинки к статье может отражаться логотип с сайта, заголовок может быть заменен названием какой-нибудь категории сайта и в краткое описание статьи попадет текст из истории компании, который не будет отражать суть статьи (и вряд ли порадует пользователя).
Кроме того, словарь OG признают и поисковые системы, в некоторых случаях даже дополняют [9] его.
Schema.org [10] — это словарь, который появился по инициативе поисковых систем в 2011 году. Его поддерживают Яндекс, Google, Bing и Yahoo!
В Schema.org также представлены наборы классов, описывающих различные сущности и их свойства. Но если в OG и Microformats.org такие классы исчисляются десятками, в Schema.org их уже несколько сотен. Все классы имеют свое место в древовидной иерархии [11].
Это живой и гибкий словарь. Новые сущности активно обсуждаются перед добавлением: для этого участники инициативной группы еженедельно встречаются и обсуждают внедрение, расширение и использование схем.
Наиболее обобщенный тип сущности — это Thing [12], у которого есть подтипы. Рассмотрим несколько из них:
Процесс создания и внедрения новых типов довольно увлекательный и в некоторых случаях очень интересный и неожиданный. В очередном обсуждении стало понятно, что далеко не просто сделать так, чтобы внедряемые схемы совпадали с русской ментальностью и международным представлением о прекрасном.
Из нашего опыта. Почти год внедрялись 7 новых полей в тип schema.org/PeopleAudience [20], так как сомнениям политкорректных европейцев и американцев не было предела: «Как можно указывать максимальный возраст целевой аудитории? То, что мужчине за 30, еще не значит, что ему не интересны книжки для маленьких девочек!» Ок, предлагаемые поля maxAge и minAge превращаются в suggestedMaxAge и suggestedMinAge. С полом оказалось тоже все сложно. Убедить в том, что пол может быть однозначно указан не удалось — неполиткорректно. Так что gender превратился в suggestedGender.
Так долго, кропотливо, внедряется каждое свойство и каждый тип — ведь словарь помимо того, что должен максимально покрывать область использования, быть международным, также должен отражать интересы всех участников и быть однозначным с точки зрения разных стран и культур. И, тем не менее, внедрить новое свойство или тип всегда проще, чем удалить или изменить, ведь при удалении необходимо что-то делать с теми, кто уже внедрил у себя эти поля или типы.
Также предусматривается возможность расширять словарь по инициативе пользователей и вебмастеров.
Существует публичная рассылка на английском языке public-vocabs@w3.org [21], созданная для обсуждения общих вопросов, предложений и сообщений об ошибках, куда также можно написать письмо с вопросом о разметке, если у вас не получается что-то внедрить. Есть механизм расширения [22], а также с мая 2011 года можно использовать [23] списки на внешних ресурсах для указания различных свойств.
Так что если вы хотите принять участие в развитии семантической разметки, в частности словаря Schema.org, у вас такая возможность есть ;)
Пример разметки Schema.org для типа Person [19]:
<div itemscope itemtype="http://schema.org/Person">
<span itemprop="name">Юрий Гагарин</span>
<img src="gagarin.jpg" itemprop="image"/>
<span itemprop="jobTitle">Летчик-космонавт</span>
<span itemprop="colleague">Валентина Терешкова</span>
<link itemprop="nationality"href="http://ru.wikipedia.org/wiki/Россия">Россия
<time itemprop="birthDate" datetime="1934-03-09">9 марта 1934</time>
<span itemprop="memberOf">Военно-воздушные силы СССР</span>
<span itemprop="knows">Сергей Королев</span>
<time itemprop="deathDate" datetime="1968-03-27">27 марта 1968</time>
<span itemprop="award">Герой Советского союза</span>
<a href="http://ru.wikipedia.org/wiki/Гагарин,_Юрий_Алексеевич" itemprop="sameAs">Страница на Википедии</a>
<a href="http://example.com/Гагарин" itemprop="url">Сайт Юрия Гагарина</a>
</div>
В такой разметке поисковая система распознает, что человек по имени Юрий Гагарин является летчиком-космонавтом и является коллегой Валентины Терешковой. Также указано много других данных: его награда, национальность, дата смерти, знакомства и другие — некоторые из этих свойств можно указать только с помощью словаря Schema.org. Здесь есть две ссылки, размеченные с помощью свойств «sameAs» и «url», где в первом случае указывается страница с достоверной информацией о человеке, а во втором — ссылка на личный сайт.
Хочется еще раз отметить, что Schema.org — это инициатива поисковиков. И развитие словаря будет зависеть от создания продуктов поисковыми системами для сайтов. Поэтому не стоит воспринимать этот словарь как попытку привести к единой онтологии все существующее на свете. Все существующее в интернете — возможно. Но если это будет нужно поисковым системам.
А в создании большого количества продуктов для сайтов на основе Schema.org, в том числе для русскоязычных, поисковые системы безусловно заинтересованы.
Познакомиться с полным описанием словаря можно на официальном сайте [24]. Существует неофициальный и пока неполный перевод стандарта на русский язык на сайте: ruschema.org [25].
Microformats.org [26] (Микроформаты) — это открытый стандарт, созданный в 2007 году сообществом энтузиастов. Это сообщество очень хотело создать стандарт для семантической разметки сайтов, используя ранее существующие технологии. Шесть лет назад это было определенным плюсом стандарта, так как его было проще внедрять, но сейчас добавлять разметку микроформатов не проще, а в некоторых случаях и сложнее других словарей. По сравнению с OG и Schema.org, его используют все меньше и меньше.
На данный момент есть около 10 распространенных спецификаций микроформатов для нескольких предметных областей. Какие-то из них завершены, но большая часть находится на стадии черновиков. Существуют микроформаты для публикации сведений об организациях, товарах, отзывах, событиях и многих других сущностях. Каждая сущность имеет собственные свойства.
Разработка новых микроформатов происходит в открытом режиме, есть отдельная вики микроформатов [27]. Из-за того что при создании каждого микроформата основатели стремятся договориться и найти компромисс со всеми, процесс длится очень долго, а порой и не заканчивается. Из-за этого доработанные микроформаты можно пересчитать на пальцах, а тех, что имеют статус черновиков довольно много.
В настоящее время поисковыми системами поддерживаются такие микроформаты:
Их использование дает возможность показывать специальные сниппеты в выдаче.
Один из самых популярных микроформатов — hCard. Микроформат hCard универсален для описания людей и организаций, содержит базовую информацию и о том и о другом.
Используя hcard можно указать такие свойства, как:
Это часть утвержденных свойств, есть также множество тех, которые находятся на стадии обсуждения. Вот как используется hcard в разметке описания человека:
<div class="vcard">
<img class="photo" src="http://example.com/gagarin.jpg" />
<strong class="fn">Юрий Гагарин</strong>
<span class="title">Летчик-космонавт</span> at <span class="org">Военно-воздушные силы СССР</span>
<a class="url" href=http://example.com/Гагарин>Страница Ю.Гагарина</a>
<div class="bday">
<span class="value-title" title="1934-03-09">9 марта 1934</span>
</div>
<span class="note">Первый человек в космосе</span>
</div>
Здесь поисковой системе понятно, что речь идет об организации либо о человеке по имени Юрий Гагарин — это летчик-космонавт, работавший в Военно-воздушных силах СССР. Также известна его дата рождения и есть заметка «Первый человек в космосе». Свойство url здесь указывает на домашнюю страницу описываемого объекта.
В 2013 была объявлена новая инициатива — microformats 2 [28], в которой есть нововведения в названиях классов и упрощения для использования свойств.
Раньше микроформаты были довольно распространены, но сегодня, особенно на фоне других быстрорастущих словарей, они выглядят бессмысленными и беспощадными устаревшими. К тому же использование микроформатов ограничивает их формат — это объединенный стандарт синтаксиса и словаря, в котором нельзя использовать другие словари. (О том, что из себя представляет синтаксис будет следующая статья).
Мы рассмотрели наиболее распространенные и разработанные словари. Но есть еще довольно много узкоспециализированных, небольших словарей, которые тоже создавались для решения вопроса о передаче данных. Расскажу о наиболее интересных из них.
Словарь FOAF [29] (акроним от Friend of a Friend — «друг друга») специализируется на связях между людьми, их взаимодействиях и объединениях.
В нем присутствуют такие классы, как Agent, Organization, Group, Person. У них могут быть различные свойства, описывающие людей или группы в жизни. Есть обычные — age, gender, surname, birthday, а также есть свойства:
Пример разметки:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<foaf:Person>
<foaf:name>Jimmy Wales</foaf:name>
<foaf:mbox rdf:resource="mailto:jwales@bomis.com" />
<foaf:homepage rdf:resource="http://www.jimmywales.com/" />
<foaf:nick>Jimbo</foaf:nick>
<foaf:depiction rdf:resource="http://www.jimmywales.com/aus_img_small.jpg" />
<foaf:interest>
<rdf:Description rdf:about="http://www.wikimedia.org" rdfs:label="Wikipedia" />
</foaf:interest>
<foaf:knows>
<foaf:Person>
<foaf:name>Angela Beesley</foaf:name> <!-- Wikimedia Board of Trustees -->
</foaf:Person>
</foaf:knows>
</foaf:Person>
</rdf:RDF>
В поиске по блогам от Яндекса [31] используется этот словарь. В него было добавлено свое расширение [32], помогающее точно описать блоги пользователей (в Рунете в основном используется именно это расширение).
Словарь Data Vocabulary [33] разрабатывался компанией Google. На данный момент он уже не развивается, так как вся разработка плавно перетекла в Schema.org [10]
Ранее поддерживались такие типы, как Person [34], Organization [35], Breadcrumb [36], Review [37], Product [38], Address [39] — можно сказать, что они стали прототипами классов Schema.org [10].
Словарь Dublin Core [40] (или Дублинское ядро) используется в электронных библиотеках и документах. Дублинского ядро появилось по инициативе группы специалистов библиотечного и музейного дела.
Dublin Core появился в 1995 году с базовым набором [41] из 15 элементов, таких как Title, Creator, Subject, Description, Publisher, Rights и др. Сейчас уже множество [42] различных классов и свойств.
В России с 2011 года для него даже действует государственный стандарт ГОСТ Р 7.0.10-2010 (ИСО 15836:2003 [43]) «Национальный стандарт Российской Федерации. Система стандартов по информации, библиотечному и издательскому делу. Набор элементов метаданных «Дублинское ядро»» [44]
Пример разметки Dublin Core
<HTML>
<HEAD>
<TITLE>Song of the Open Road</TITLE>
<META NAME="DC.Title" CONTENT="Song of the Open Road">
<META NAME="DC.Creator" CONTENT="Nash, Ogden">
<META NAME="DC.Type" CONTENT="text">
<META NAME="DC.Date" CONTENT="1939">
<META NAME="DC.Format" CONTENT="text/html">
<META NAME="DC.Identifier" CONTENT="http://www.poetry.com/nash/open.html">
</HEAD>
<BODY><PRE>
I think that I shall never see
A billboard lovely as a tree.
Indeed, unless the billboards fall
I'll never see a tree at all.
</PRE></BODY>
</HTML>
Словарь Good Relations [45] используется с 2008 года как стандарт для описания продуктов электронной торговли. Создатели рассчитывали, что использование такой разметки будет давать структурированное представление товаров и услуг в поисковых системах.
С помощью словаря можно указать специальные свойства для
Good relations описывает следующие сферы интернет-торговли: Books (Книги), Cars (Авто), Classified ads (Объявления), Concert tickets (Билеты на концерты), Consumer electronics (Бытовая техника), Guided tours and outdoor events (Экскурсии и мероприятия) и другие [46].
В Рунете этот словарь практически не используется, но встречается на некоторых крупных зарубежных сайтах (Volkswagen UK [47], Strobelight-Shop [48], lux-case.se [49]). Из поисковиков разметку GR распознает Google [50].
Пример разметки с использованием Good Relations:
<div typeof="gr:Offering" about="#offer">
<div property="gr:name">HTML for Idiots - Used Copy, $ 9.99</div>
<link rel="gr:hasBusinessFunction" resource="http://purl.org/goodrelations/v1#Sell" />
<div rel="gr:hasPriceSpecification">
<div typeof="gr:UnitPriceSpecification">Price:
<span property="gr:hasCurrency" content="USD">$</span>
<span property="gr:hasCurrencyValue" datatype="xsd:float">9.99</span>
<div property="gr:validThrough" datatype="xsd:dateTime"
content="2012-11-30T23:59:59Z"></div>
</div>
</div>
Стандарт Good Relations с ноября 2012 года интегрирован в Schema.org [51], у словаря также есть свой валидатор [52]
Для получения всех необходимых данных от сайтов в Яндексе разрабатываются свои расширения для некоторых словарей [53].
Например, это понадобилось для разметки:
В следующих постах мы хотим рассказать подробно о других разделах семантической разметки — например, о синтаксисах, о продуктах и примерах внедрения. Если вам интересны еще какие-то темы — поделитесь этим в комментариях.
Автор: deliya
Источник [60]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/blog-kompanii-yandeks/54411
Ссылки в тексте:
[1] Image: http://habrahabr.ru/company/yandex/blog/211638/
[2] Open Graph (OG): http://ogp.me/
[3] Facebook: https://developers.facebook.com/docs/opengraph/overview/
[4] Вконтакте: http://vk.com/dev/widget_like
[5] Google+: https://developers.google.com/+/web/snippet/?hl=en
[6] Twitter: https://dev.twitter.com/docs/cards/getting-started#open-graph
[7] LinkedIn: http://developer.linkedin.com/documents/share-api
[8] Pinterest: http://developers.pinterest.com/rich_pins/
[9] дополняют: http://help.yandex.ru/webmaster/video/open-graph-markup.xml
[10] Schema.org: http://schema.org/
[11] древовидной иерархии: http://schema.org/docs/full.html
[12] Thing: http://schema.org/Thing
[13] Action: http://schema.org/Action
[14] Яндекс.Острова: http://beta.yandex.ru/promo
[15] Gmail Actions: https://developers.google.com/gmail/actions/overview
[16] CreativeWork: http://schema.org/CreativeWork
[17] Event: http://schema.org/Event
[18] Product: http://schema.org/Product
[19] Person : http://schema.org/Person
[20] schema.org/PeopleAudience: http://schema.org/PeopleAudience
[21] public-vocabs@w3.org: http://lists.w3.org/Archives/Public/public-vocabs/
[22] механизм расширения: http://www.schema.org/docs/extension.html
[23] можно использовать: http://blog.schema.org/2012/05/schemaorg-markup-for-external-lists.html
[24] официальном сайте: http://schema.org/docs/documents.html
[25] ruschema.org: http://ruschema.org
[26] Microformats.org: http://microformats.org/
[27] вики микроформатов: http://microformats.org/wiki/Main_Page
[28] microformats 2: http://microformats.org/wiki/microformats2
[29] FOAF: http://www.foaf-project.org/
[30] Майерс-Бриггс: http://ru.wikipedia.org/wiki/Майерс-Бриггс
[31] поиске по блогам от Яндекса: http://api.yandex.ru/blogs/
[32] свое расширение: http://api.yandex.ru/blogs/doc/indexation/concepts/what-is-foaf.xml
[33] Data Vocabulary: http://www.data-vocabulary.org/
[34] Person: http://www.data-vocabulary.org/Person/
[35] Organization: http://www.data-vocabulary.org/Organization/
[36] Breadcrumb: http://www.data-vocabulary.org/Breadcrumb/
[37] Review: http://www.data-vocabulary.org/Review/
[38] Product: http://www.data-vocabulary.org/Product/
[39] Address: http://www.data-vocabulary.org/Address/
[40] Dublin Core: http://dublincore.org/
[41] базовым набором: http://dublincore.org/documents/dcmi-terms/#H3
[42] множество: http://dublincore.org/documents/dcmi-terms/#H2
[43] ИСО 15836:2003: http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=52142
[44] «Национальный стандарт Российской Федерации. Система стандартов по информации, библиотечному и издательскому делу. Набор элементов метаданных «Дублинское ядро»»: http://protect.gost.ru/document.aspx?control=7&id=177567
[45] Good Relations: http://www.heppnetz.de/projects/goodrelations/
[46] другие: http://wiki.goodrelations-vocabulary.org/Cookbook
[47] Volkswagen UK: http://www.volkswagen.co.uk/
[48] Strobelight-Shop: http://strobelight-shop.com/
[49] lux-case.se: http://lux-case.se/
[50] Google: https://support.google.com/webmasters/answer/146750?rd=1
[51] с ноября 2012 года интегрирован в Schema.org: http://blog.schema.org/2012/11/good-relations-and-schemaorg.html
[52] валидатор: http://www.ebusiness-unibw.org/tools/goodrelations-validator/
[53] расширения для некоторых словарей: http://webmaster.yandex.ru/vocabularies/
[54] форм: http://help.yandex.ru/webmaster/?id=1127879
[55] кнопок: http://help.yandex.ru/webmaster/?id=1127950
[56] терминов: http://webmaster.yandex.ru/vocabularies/term-def.xml
[57] научных статей: http://webmaster.yandex.ru/vocabularies/enc-article.xml
[58] рейтинга организаций: http://webmaster.yandex.ru/vocabularies/ReviewBusiness/
[59] целевой аудитории: http://help.yandex.ru/webmaster/?id=1127898
[60] Источник: http://habrahabr.ru/post/211638/
Нажмите здесь для печати.