Микроданные (Microdata) — исходный формат разметки Schema.org: атрибуты встраиваются прямо в существующий HTML. Никакого отдельного блока, никакого дополнительного скрипта — ты дописываешь itemscope, itemtype, itemprop к тегам, которые уже есть на странице. Пример карточки книги:

<div itemscope itemtype="https://schema.org/Book">
  <h1 itemprop="name">Мастер и Маргарита</h1>
  <p>Автор:
    <span itemprop="author" itemscope itemtype="https://schema.org/Person">
      <span itemprop="name">Михаил Булгаков</span>
    </span>
  </p>
  <p>Издательство:
    <span itemprop="publisher">АСТ</span>
  </p>
  <p>ISBN: <span itemprop="isbn">978-5-17-090399-7</span></p>
</div>

Поисковик, обрабатывая этот HTML, извлекает: тип — Book, свойства — name, author (вложенный тип Person со своим name), publisher, isbn. Ровно такая же информация в JSON-LD (другой тип разметки) — в отдельном блоке, но результат для машины одинаковый.

Три ключевых атрибута

Микроданные строятся на трёх HTML-атрибутах:

  • itemscope — открывает область элемента, помечает контейнер «тут описывается сущность». Никаких значений у атрибута нет, просто присутствие.
  • itemtype — URL типа Schema.org (например, https://schema.org/Book). Всегда указывается рядом с itemscope. Определяет, какая именно сущность описывается.
  • itemprop — имя свойства из выбранного типа. Ставится на любой вложенный HTML-элемент, содержимое которого станет значением свойства.

Как значения извлекаются из HTML

Правило простое: значение свойства зависит от тега, на котором стоит itemprop:

  • Для обычных тегов (<span>, <p>, <h1> и т. д.) — берётся текстовое содержимое.
  • Для <a> — значение атрибута href.
  • Для <img> — атрибут src.
  • Для <time> — атрибут datetime (что удобно — на странице показывается человекочитаемая дата, а в разметку идёт ISO-формат).
  • Для <meta> — атрибут content (когда нужно указать значение, невидимое для пользователя).
<div itemscope itemtype="https://schema.org/Event">
  <h2 itemprop="name">Фестиваль «JS Meetup»</h2>
  <p>Дата:
    <time itemprop="startDate" datetime="2026-11-15T18:00:00+03:00">
      15 ноября, 18:00
    </time>
  </p>
  <img itemprop="image" src="/photos/js-meetup.jpg" alt="JS Meetup">
  <a itemprop="url" href="/events/js-meetup">Подробнее</a>
</div>

Вложенные типы

Свойство одного типа может быть сущностью другого типа. Например, у Book есть свойство author, тип которого — Person со своими свойствами (name, birthDate и т. д.). Для этого создаётся вложенный itemscope:

<div itemscope itemtype="https://schema.org/Book">
  <span itemprop="name">Война и мир</span>
  <div itemprop="author" itemscope itemtype="https://schema.org/Person">
    <span itemprop="name">Лев Толстой</span>
    <time itemprop="birthDate" datetime="1828-09-09">9 сентября 1828</time>
  </div>
</div>

Когда микроданные оправданы

Микроданные — исходный формат, старейший. У них две ниши, где выбор оправдан: legacy-код, где менять шаблоны дорого, и простые одностраничные разметки без сложных вложений. Для новых проектов Google рекомендует JSON-LD с 2015 года — сравнение подходов и причины перехода разбираем в главе 5.

Проверка разметки

После добавления микроданных проверь их через инструменты Google:

  • Rich Results Test — официальный тестер Google, показывает, попадёт ли страница в Rich Results и какие ошибки в разметке.
  • Schema.org Validator — общая валидация разметки, независимая от Google-специфичных требований.
  • Google Search Console → Enhancements — отчёты по всем найденным на сайте типам разметки и ошибкам.

После деплоя изменений разметка появляется в GSC-отчётах не сразу — Google должен сначала переиндексировать страницы. Это обычно 1-3 дня; для новых типов Rich Results — иногда до пары недель.