Микродата

Материал из AOW

Перейти к: навигация, поиск

Содержание

Введение

Микродата – система специальных тегов, позволяющих точно указать поисковым системам, какие персоны, предприятия или события фигурируют в предлагаемом для анализа тексте.

Микроклассинг/микроклассирование – разбивка текстовых данным на подблоки микродаты;

Перевод пояснительной статьи с http://schema.org/

Размещение текста с помощью микродаты

Как разметить текст с помощью микродаты?

Зачем нам микродата?

Веб-страница всегда имеет скрытый смысл, который пользователь понимает при чтении. Но поисковые системы понимают не все то, о чем написано на странице. С помощью дополнительных тегов в HTML-код страницы — тегов, которые говорят поисковикам "Эй, поисковик, тут написано об определенном фильме, или месте, или персоне, или видеоролике! "— можно помочь поисковикам и другим приложениям лучше понять содержимое и сделать его показ в поисковой выдаче более правильным и нужным. Микродата – это набор тегов, появившихся в HTML5, которые могут в этом помочь.

itemscope и itemtype

Начнем с конкретного примера. Представьте, что у нас есть страница о фильме «Аватар» — страница со ссылкой на трейлер фильма, информацией о режиссёре и т.д. Наш HTML-код может выглядеть примерно так:

<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>

Для начала определим блок с информацией о фильме на странице. Для этого добавим тег itemscope в HTML-код который включает нужную информацию внутрь себя, вот так:

<div itemscope>
  <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>

С помощью itemscope мы определяем, что информация внутри < div>...< /div> относится к чему-то вполне определенному. Но простое выделение какой-то информации об объекте не слишком полезно без указания типа объекта. Мы можем определить тип объекта с помощью атрибута itemtype, написав его сразу же после itemscope.

<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>

Так мы определили, что содержимое div’а на самом деле о фильме, как типе из иерархии schema.org (Movie). Типы объектов определяются с помощью ссылки, в данном случае http://schema.org/Movie.

itemprop

Что еще мы можем рассказать поисковикам о фильме «Аватар»? У фильмов (Movie) есть разные интересные подробности, например: актеры, режиссер, рейтинги. Чтобы обозначить свойство объекта используется атрибут itemprop. Например, чтобы определить режиссера фильма добавим itemprop="director" к тегу, включающему в себя имя режиссера. (Полный список свойств, заполняемых для фильма (Movie), можно найти на http://schema.org/Movie.)

<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>

Мы добавили дополнительный < span>...< /span>, чтобы прикрепить атрибут itemprop к определенной части текста на странице. < span> не влияет на отображение страницы браузером, поэтому он и удобен для использования с itemprop. Поисковики теперь смогут понять не только то, что www.avatarmovie.com – это ссылка, но и то, что эта ссылка на трейлер научно-фантастического фильма «Аватар», снятого Джеймсом Кэмероном.

Вложенные объекты

Иногда значение свойства объекта может само по себе быть объектом со своим набором свойств. Например, мы можем определить режиссера фильма как объект типа «Person», а у этого типа есть свойства name и birthDate. Чтобы определить то, что значение какого-то свойства является объектом, мы должны начать новый itemscope сразу же после соответствующего itemprop.

<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>

Использование словаря schema.org

Типы и свойства schema.org

Но все страницы только про фильмы и людей — дополнительно к типам Movie и Person, описанных в разделе 1, на schema.org описаны еще типы, у каждого из которых есть свой список свойств, которые можно использовать для описания объектов. Самый общий тип - Thing (Что-то), у которого есть свойства: name, description, url и image. Более точные типа наследуют свойства общих типов. Например, Place (Место) – более точный тип чем Thing, а LocalBusiness (МестныйБизнес) – более точный тип, чем Place. (На самом деле, LocalBusiness – более точный тип, чем Place и более точный тип, чем Organization, поэтому он наследует свойства обоих родительских типов.)

Набор часто используемых типов объектов:

  • Creative works (Творчество): CreativeWork(ТворческаяРабота), Book(Книга), Movie(Фильм), MusicRecording(МузыкальнаяЗапись), Recipe(Рецепт), TVSeries(ТВСериал) ...
  • Вложенные нетекстовые объекты: AudioObject, ImageObject, VideoObject
  • Event (Событие)
  • Organization (Организация)
  • Person (Персона)
  • Place(Место), LocalBusiness(МестныйБизнес), Restaurant(Ресторан) ...
  • Product(Продукт), Offer(Предложение), AggregateOffer
  • Review(Обзор), AggregateRating(ОбщийРейтинг)

Также можно посмотреть полный список на одной странице.

Ожидаемые типы, тексты и ссылки

Несколько уточнений, на которые нужно помнить при форматировании страницы с помощью schema.org.

  • 'Больше – лучше, кроме скрытого текста. В общем – чем больше вы отформатируете контента, тем лучше. Однако главное правило – форматировать только тот контент на странице, который увидит пользователь, а не контент в скрытых divах ими каких-то других скрытых элементах.
  • Ожидаемые типа против текста. Просматривая типы schema.org, вы наверняка заметите, что многие свойства имеют "ожидаемый тип ". Это значит, что значение этого свойства может само быть вложенным объектом (секция 1d: Вложенные объекты). Но это не требование - абсолютно нормально включать обычный текст и ссылки. Также, если указан ожидаемый тип, то можно «вкладывать» объект более точного типа, чем ожидаемый. Например, если ожидаемый тип Place, то можно «вкладывать» тип LocalBusiness.
  • Использование свойста «url»(ссылка). На некоторых страницах находится информация про определенный объект. Например, у вас может быть страница про кого-то определенного, которую вы можете отформатировать с помощью типа Person. На других страницах есть наборы форматированных объектов. Например, на сайт вашей компании есть страница со списком всех сотрудников со ссылками на страницу профиля каждого сотрудника. Для таких страниц (с набором объектов) следует форматировать каждый объект по раздельности (в нашем случае – набор Person) и добавить свойство «url» к ссылке на соответствующую объекту страницу вот так:
	<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>
	</div>

Проверка форматирования

Точно так же, как браузер необходим для тестирования изменений на страницах сайта и компилятор - для тестирования нового кода – необходимо тестировать форматирование с помощью schema.org, чтобы быть уверенным в правильности его применения. Google предоставляет инструмент для тестирования «Rich snippets», с помощью которого можно проверить разметку и найти ошибки.

Дополнительно: Форматирование информации для более точного распознавания

Многие страницы можно описать используя только атрибуты itemscope, itemtype, и itemprop (описаны в разделе 1) вместе с типами и свойствами, определенными на schema.org (описаны в разделе 2).

Однако машине иногда сложно правильно понять свойства объекта без дополнительных уточнений. В этом разделе пояснено, как можно сделать информацию понятной при разметке страниц сайта:

  • Даты, время и длительность: использование тега time с datetime;
  • Перечисления и обычные ссылки: использование тега link с href;
  • Потерянная/неявная информация: использование тега meta с content.

Даты, время и длительность: использование тега time с datetime

Для машины бывает тяжело распознать даты и время. Например дата "04/01/11". Это – 11 января 2004? 4 января 2011? Или 1 апреля 2011? Чтобы сделать даты более понятными можно использовать тег time с атрибутом datetime. Значение атрибута datetime – это формат даты, использующий образец YYYY-MM-DD. Далее дата определяется точно, как 1 апреля 2011.

<time datetime="2011-04-01">04/01/11</time>

Также можно уточнять время с помощью формата hh:mm или hh:mm:ss. Времени предшествует префикс T, что позволяет использовать его вместе с датой, например вот так:

<time datetime="2011-05-08T19:30">May 8, 7:30pm</time>

Посмотрим в контексте. У нас есть HTML описывающий концерт, который пройдет 8 мая 2011. Разметка «Event»(Событие) включает в себя название события, его описание, дату и время проведения.

<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>

Таким же образом можно уточнять длительность с помощью атрибута datetime тега time. Длительность обозначается с помощью префикса P (обозначает «период»). Вот как можно обозначить время готовки в 1,5 часа в рецепте:

<time itemprop="cookTime" datetime="PT1H30M">1 1/2 hrs</time>

Префикс H используется для обозначения количества часов, а префикс M - для количества минут. Стандарты обозначения времени, дат и длительностей определены в стандарте даты/времени ISO 8601.

Перечисления и обычные ссылки: использование тега link с href

Перечисления

Некоторый свойства могут иметь определенный список возможных значений. Программисты часто называют такие списки «перечисления». Например, для онлайн-магазина, продающего какой-то товар, можно использовать тип объекта Offer(Предложение), чтобы определить все детали сделки. Свойство availability может принимать значение из вполне определенного списка: In stock(на складе), Out of stock(нет на складе), Pre-order(предзаказ) и т.д. Как и типы объектов, определяемые с помощью ссылки, возможные значения перечисления также могут быть определены ссылкой на schema.org. Здесь приведен товар, размеченный с помощью свойств типа Offer(Предложение):

<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>

А здесь тот же самый товар, но описанный с помощью link и href, чтобы точно определить доступность товара, как одно из разрешенных значений:

<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>

Обычно, когда для свойства есть строго определенное количество значений – существует соответствующее перечисление, определенное в schema.org. В этом случае, возможные значения для availability определены в ItemAvailability.

Обычные ссылки

Обычно, ссылки определяются с использованием элемента <a>. Например, вот HTML-ссылки на страницу в Wikipedia для книги «Catcher in the Rye»(«Над пропастью во ржи»).

<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>

Как видно itemprop="url" можно использовать для уточнения ссылки на страницу на другом сайте (тут - Wikipedia), на котором обсуждается то же самое. Ссылки на сайты третьих сторон могут помочь поисковикам лучше понять, о каком объекте вы говорите на своей странице. Однако, вам может понадобиться добавить видимую ссылку на страницу. В этом случае вы можете использовать элемент link, примерно так:

<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 с content

Иногда на странице есть информация, которая представляет ценность для поисковиков, но не может быть отформатирована из-за специфики ее отображения на странице. Информация может быть «спрятана» в картинку (например: картинка показывающая рейтинг 4 из 5) или в Flash-объект (например: длительность видеоклипа), или информация может подразумеваться, но явно не показываться на странице (например: валюта цены). В таком случае используется тег meta с атрибутом content для определения информации. Обратите внимание на этот пример — картинка, показывающая рейтинг 4 из 5:

<div itemscope itemtype="http://schema.org/Offer">
  <span itemprop="name">Blend-O-Matic</span>
  <span itemprop="price">$19.95</span>
  <img src="four-stars.jpg" />
  Based on 25 user ratings
</div>

Вот пример с размеченной информацией о рейтинге:

<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>

Не стоит злоупотреблять этим способом. Используйте meta для контента, который по-другому невозможно разметить.

Расширяем schema.org

У большинства сайтов и организаций не возникнет причин расширять schema.org. Однако, schema.org предлагает возможность определять дополнительные свойства или подтипы уже существующих. Если Вас это заинтересовало – подробнее можно узнать на schema.org extension mechanism.


Оригинал статьи.

Личные инструменты

Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
http://artofweb.ru