Эффективное использование name и url в микроразметке

Каждый значимый объект микроразметки должен иметь свойства name и url. Эти свойства наследуются всеми объектами от Thing. Хоть форматом и не накладывается жестких ограничений на их обязательное присутствие, но фактически, чтобы получить максимальную пользу от микроразметки, они просто необходимы.

Свойство name

Отвечает за название объекта. Оно, скорее всего, будет использоваться для отображения пользователю.

<div itemscope itemtype="http://schema.org/Event">
  <span itemprop="name">Собрание рыцарей круглого стола</span>
  <time datetime="2013-08-23T12:00:00+06:00"
      itemprop="startDate">23 августа 2013 в 12:00</time>
</div>

Для английского языка вычленить в тексте подходящее название объекта не составляет труда. В русском тексте приходится сталкиваться с тем, что слова употребляются в различных падежах. Слова, подвергшиеся склонению, лучше не использовать в качестве значения поля name. Дело в том, что в дальнейшем они будут использоваться только в единственном числе и именительном падеже, и будут выглядеть более чем странно. Несмотря на то, что сегодня уже существуют технологии, преобразующие разные формы слова к основной форме, но на практике они пока почти не применяются.

Если подходящего слова или словосочетания не нашлось, то явно укажем его в теге <meta>.

<div itemscope itemtype="http://schema.org/Event">
  <span itemprop="name">Собрание рыцарей
    <span itemscope itemtype="http://schema.org/Product">
      круглого стола
      <meta itemprop="name" content="круглый стол">
    </span>
  </span>
  <time datetime="2013-08-23T12:00:00+06:00"
      itemprop="startDate">23 августа 2013 в 12:00</time>
</div>

Эта разметка будет разобрана на два объекта:

event
  itemType = http://schema.org/Event
  name = Собрание рыцарей круглого стола
  startdate = 2013-08-23T12:00:00+06:00

product
  itemType = http://schema.org/Product
  name = круглый стол

Свойство url

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

<div itemscope itemtype="http://schema.org/Event">
  <a href="/meetups/2013-08-23/" itemprop="url name">Собрание
      рыцарей круглого стола</a>
  <time datetime="2013-08-23T12:00:00+06:00"
      itemprop="startDate">23 августа 2013 в 12:00</time>
</div>

url активно используется для генерации сниппетов Гугла. Поэтому даже при правильной разметке нужный сниппет не будет отображаться в выдаче только из-за отсутствия или не корректном значении этого свойства.

Распространённой ошибкой при указании значения url является банальная подстановка текущего URL страницы, на которой располагается объект. Это допустимо только, если на этой странице размещена только одна сущность. Когда сущностей несколько (например, список событий) или, что хуже, появляются сущности разного типа, то указать один и тот же URL для них нельзя.

В случае списка (предполагается, что отдельных страниц для каждой сущности нет), в значении нужно использовать разные фрагменты URL.

The fragment is an optional part separated from the front parts by a hash («#»). It holds additional identifying information that provides direction to a secondary resource, e.g., a section heading (in an article) identified by the remainder of the URI. When the primary resource is an HTML document, the fragment is often an id attribute of a specific element and web browsers will make sure this element is visible.

Формально URL уже будут отличаться друг от друга, хотя и ведут на одну и ту же страницу. Это и позволяет отличить различные объекты на ней.

<div itemscope itemtype="http://schema.org/Event" id="meetup-2013-08-23">
  <a href="#meetup-2013-08-23" itemprop="url name">Собрание
      рыцарей круглого стола</a>
  <time datetime="2013-08-23T12:00:00+06:00"
      itemprop="startDate">23 августа 2013 в 12:00</time>
</div>

Когда на странице оказывается несколько объектов разных типов, URL страницы рекомендуется назначать какому-то основному из них (например, статье), а остальным указывать URL страницы с разными фрагментами. Разумеется, что соответствующие идентификаторы должны быть доступны на ней.

И в заключении хочу обратить внимание, что значение атрибута id может начинаться только с латинской буквы или символа _. Любые другие символы могут встречаться только начиная со второй позиции в строке.