Микроформаты и микроданные (RDF)

Старая идея «семантической паутины», которую так и не смог продвинуть консорциум W3C, в последнее время снова набирает обороты. В России «Яндекс» достаточно активно настаивает на внедрении микроформатов, а за рубежом совсем недавно образовался неожиданный союз: Google, Bing и Yahoo! (точнее, Google, Inc., Yahoo, Inc. и Microsoft Corporation) создали совместный проект schema.org. С его помощью они собираются привить вебмастерам привычку размечать страницы тегами Microdata (пока черновой стандарт HTML5). Надо отметить, что этот формат разработан без консультаций с W3C, а так как вебмастерам гораздо интереснее «радовать» Google и остальные поисковики, нежели некий туманный для многих консорциум, именно Microdata станет базовым в зарубежном интернете. В России, кстати, пока что «Яндекс» не поддержал инициативу schema.org, поэтому по Рунету распространяется другой формат семантической разметки: µF (микроформаты, http://microformats.org/wiki). Очевидно, что для успешного взаимодействия со всеми поисковиками придется дублировать семантические описания страниц. Хотя Google поддерживает микроформат hProduct, он явно будет предпочитать собственный язык. 

Пара слов о Semantic Web 

Веб-страница может быть простым документом без специальной разметки для поисковика. В этом случае ему приходится анализировать документ своими методами, извлекая и структурируя информацию. Какими бы совершенными ни были алгоритмы ПС, неизбежны ошибки — особенно если нужен не просто поиск по ключевым словам, а установление смысла и отношений между смыслами. Семантическая разметка страниц позволит машинному разуму извлечь данные, пригодные для прямого помещения в базу данных и для любой обработки. Семантическая паутина дает возможность поисковику предоставлять прямые и сразу сформулированные на человеческом языке ответы на вопросы пользователей. Например, на запрос «рецепт борща» поисковик сразу выдаст ответ с ингредиентами и их количеством, а на «сколько гигабайт памяти в ноутбуке Asus K73e» — цифру 4. Но поисковик не будет рисковать обмануть пользователя — такие ответы нельзя строить на основе анализа страниц! Ответы должны быть на сто процентов верными: нельзя перепутать оперативную память и объем жесткого диска, это очень сильно уменьшит лояльность пользователя к поисковой системе. Задачу правильного понимания контента машиной решает разметка специальными тегами. 

Ниже мы разберем примеры описания продукта в двух главных форматах нынешнего поколения. Это только пример, здесь приведены не все возможные параметры и «типы полей». 

Google — microdata (schema.org) 

<div itemscope itemtype="http://schema.org/Product">
<span itemprop="name">Микроволновая печь Samsung MW73VR</span>
<img src="samsung-microwave-mw73vr.jpg" alt='Микроволновая печь Samsung MW73VR' />
<div itemprop="aggregateRating" itemscope itemprop="http://schema.org/AggregateRating">
Средняя оценка покупателей <span itemprop="ratingValue">4</span>
на основе <span itemprop="reviewCount">11</span>отзывов</div>

<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="price">2630 р.</span>
<link itemprop="availability" href="http://schema.org/InStock" />В наличии
</div>

<span itemprop="description">Отдельностоящая микроволновая печь объемом 20 л и мощностью 800 Вт</span>

<div itemprop="reviews" itemscope itemtype="http://schema.org/Review">
<span itemprop="name">Отличная печка</span> - от <span itemprop="author">Иван</span>,
<meta itemprop="publishDate" content="2011-04-01">1 апреля 2011
<div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
<meta itemprop="worstRating" content = "1">
<span itemprop="ratingValue">4</span>/
<span itemprop="bestRating">5</span>stars
</div>
<span itemprop="description">Легко чистить</span>
</div>
</div>

«Яндекс» — microformats (hProduct, пока используется ПС только для обработки отзывов об автомобилях) 

<div class="hproduct">
<span class="category"><span class="value-title" title="auto"></span></span>
<h2>
<span class="brand">Ford</span>
<span class="fn">Focus</span>
</h2>
<a class="photo" href="http://example.com/img/ford/focus-st.jpg"><img class="" alt="Ford Focus, хэтчбек 5 дв ST" src="http://example.com/img/ford/focus-st-preview.jpg" align="left"></a>
<span class="identifier">
<span class="type">
<span class="value-title" title="body-type"></span>
</span>
<span class="value">хэтчбек 5 дв</span>
</span>
<span class="identifier">
<span class="type">
<span class="value-title" title="configuration-name"></span>
</span>
<span class="value">ST</span>
</span>
<span class="identifier">
<span class="type">
<span class="value-title" title="displacement"></span>
</span>
2.5
</span>
<span class="identifier">
<span class="type">
<span class="value-title" title="transmission"></span>
</span>
MT
</span>
<span class="identifier">
(<span class="value">225</span>
<span class="type">
<span class="value-title" title="horse-power"></span>
л. с.
</span>)
</span>
<span class="identifier">
<span class="value">2009</span>
<span class="type">
<span class="value-title" title="prodyear"></span>
года выпуска
</span>
</span>
<span class="identifier">
(<span class="value">передний</span>
<span class="type">
<span class="value-title" title="gear-type"></span>
привод
</span>,
</span>
<span class="identifier">
<span class="value">левый</span>
<span class="type">
<span class="value-title" title="steering-wheel"></span>
руль
</span>).
</span>
<a class="url" href="http://example.com/ford/focus-st-2.5-mt.html">
Подробнее про эту конфигурацию</a>
<span class="identifier">
<span class="type">
<span class="value-title" title="dtpurchased"></span>
Приобретен
</span>
<abbr class="value" title="2010-09-15">15 сентября 2010</abbr>
</span>
<span class="identifier">
<span class="type">
<span class="value-title" title="run"></span>
с пробегом
</span>
15
</span>
<span class="identifier">
<span class="type">
<span class="value-title" title="run-metric"></span>
</span>
тыс. км
</span>.
</div> 

Валидация 

Инструментарий для проверки кода предоставляет «Яндекс.Вебмастер», но можно воспользоваться и сторонним сервисомOptimus

CMS с поддержкой микроформатов 

Внедрить семантическую разметку вручную можно на небольшом сайте — или на небольшом количестве страниц (например, на странице с контактной информацией). Вручную же писать код для тысяч товаров интернет-магазина абсолютно нереально. Поэтому необходимо пользоваться системами управления контентом, уже поддерживающими микроформаты — например, Drupal, Wordpress, Movable Type. Или же писать модуль с таким функционалом для используемой CMS. 

Выводы 

Помните, что семантической разметкой можно пользоваться только для представления в удобной поисковикам форме реального, существующего, видимого посетителям страницы контента. Все остальное (например, попытки разметки скрытых элементов) будет распознано, классифицировано как поисковый спам и пресечено жесткими пессимизационными санкциями. Разметка такого типа — это шаг в будущее, ее рекомендуется использовать везде, где только это возможно и целесообразно. Пока что — оба формата, но вполне возможно, что под давлением инициативы schema.org «Яндекс» тоже начнет поддерживать Microdata, что устранит необходимость дублирования разметки.

Рассылка Сеопульта