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

Словарь разметки появился в 2011 году и развивается общей группой

Инициатива стартовала второго июня 2011 года. Её запустили три крупные поисковые системы того времени, чтобы договориться об общем наборе описаний для веб-страниц. Первого ноября того же года к инициативе присоединилась российская поисковая система.

Замысел прост. Владельцы сайтов описывают содержимое страницы не только словами для человека, но и полями для машины. Поисковый робот читает эти поля и понимает, что перед ним рецепт, товар или мероприятие.

Разметка пережила несколько форматов. Сначала применялись микроданные в атрибутах разметки, затем добавились варианты на основе RDF. С 2015 года поддержан формат JSON-LD, а с сентября 2017 года именно он рекомендуется как основной.

Масштаб использования растёт. По состоянию на 2024 год разметку применяли более сорока пяти миллионов доменов. Словарь насчитывает более восьмисот типов по состоянию на июнь 2026 года, и среди них есть отдельный тип для рецепта.

Российские площадки учитываются отдельно. Поисковые системы, работающие с кириллицей, поддерживают собственные расширения и микроформаты, но общий словарь остаётся основой.

Разметка рецепта содержит обязательные и рекомендуемые поля

Набор полей для рецепта довольно обширный. Разберём его по группам.

Первая группа это название и описание. Название обязательно и должно совпадать с заголовком страницы. Описание коротко поясняет блюдо.

Вторая группа это изображения. Указываются адреса фотографий готового блюда. Рекомендуется несколько снимков разных размеров.

Третья группа это временные параметры. Общее время приготовления, время подготовки и время термической обработки. Они измеряются в формате длительности по стандарту даты и времени.

Четвёртая группа это состав. Каждый ингредиент описывается отдельно, с количеством и единицей измерения.

Пятая группа это шаги приготовления. Каждый шаг имеет текст, а при возможности и изображение.

Шестая группа это выход. Сколько порций получается из указанного количества продуктов.

Седьмая группа это питательная ценность. Калории, белки, жиры и углеводы. Поля необязательные, но при наличии данных их стоит указать.

Восьмая группа это дополнительные сведения. Категория блюда, кухня, способ приготовления, подходящий случай.

{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Пирог с яблоками",
  "description": "Простой закрытый пирог с яблоками и корицей",
  "image": [
    "https://example.net/img/pirog-1x1.jpg",
    "https://example.net/img/pirog-4x3.jpg"
  ],
  "author": { "@type": "Person", "name": "Анна Петрова" },
  "datePublished": "2026-03-12",
  "prepTime": "PT20M",
  "cookTime": "PT45M",
  "totalTime": "PT65M",
  "recipeYield": "8 порций",
  "recipeCategory": "Выпечка",
  "recipeCuisine": "Русская",
  "recipeIngredient": [
    "Мука 400 г",
    "Масло сливочное 200 г",
    "Яблоки 700 г",
    "Сахар 120 г",
    "Корица 1 ч. л."
  ],
  "recipeInstructions": [
    { "@type": "HowToStep", "text": "Замесить тесто и охладить 30 минут" },
    { "@type": "HowToStep", "text": "Нарезать яблоки и смешать с сахаром" },
    { "@type": "HowToStep", "text": "Выложить начинку и закрыть вторым слоем теста" },
    { "@type": "HowToStep", "text": "Выпекать 45 минут при 180 градусах" }
  ],
  "nutrition": {
    "@type": "NutritionInformation",
    "calories": "320 ккал",
    "proteinContent": "4 г",
    "fatContent": "16 г",
    "carbohydrateContent": "40 г"
  }
}

Такой блок вставляется в разметку страницы целиком. Проверить его можно через специальные инструменты, которые показывают, какие поля распознаны и где ошибка.

Длительность записывается в особом формате и легко ошибиться

Отдельно стоит сказать про формат времени, потому что ошибки в нём встречаются чаще всего.

Значение начинается с буквы, обозначающей период. Затем идут числа с буквами единиц измерения: годы, месяцы, дни, часы, минуты, секунды.

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

PT20M      -> 20 минут
PT1H15M    -> 1 час 15 минут
PT1H30M    -> 1 час 30 минут
P1DT2H     -> 1 день 2 часа

Вторая частая ошибка это указание только общего времени без разбивки. Формально это допустимо, но поисковые системы охотнее показывают расширенный результат, когда заполнены и подготовка, и обработка.

Третья ошибка связана с несоответствием. Общее время должно совпадать с суммой частей или быть больше. Если общее меньше суммы, проверка зафиксирует противоречие.

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

Ингредиенты и шаги описываются отдельными сущностями

Ещё одна тонкость связана с составом и порядком действий. Оба поля принимают списки, но содержимое может быть разным.

Простейший вариант это строки. Каждый ингредиент одной строкой, каждый шаг одной строкой. Работает, но даёт машине меньше информации.

Более точный вариант это объекты. Ингредиент описывается как продукт с указанием количества. Шаг описывается как элемент инструкции с текстом и, при желании, изображением.

{
  "recipeIngredient": [
    { "@type": "Ingredient", "name": "Мука", "amount": "400 г" },
    { "@type": "Ingredient", "name": "Яблоки", "amount": "700 г" }
  ],
  "recipeInstructions": [
    {
      "@type": "HowToSection",
      "name": "Тесто",
      "itemListElement": [
        { "@type": "HowToStep", "text": "Смешать муку с маслом" },
        { "@type": "HowToStep", "text": "Охладить 30 минут" }
      ]
    },
    {
      "@type": "HowToSection",
      "name": "Начинка",
      "itemListElement": [
        { "@type": "HowToStep", "text": "Нарезать яблоки" }
      ]
    }
  ]
}

Разбивка шагов на разделы полезна для сложных рецептов, где есть тесто, начинка и сборка. Читатель видит структуру, а поисковая система точнее понимает содержание.

Третья тонкость касается единиц измерения. Русские и международные обозначения смешивать в одном наборе не стоит. Лучше выбрать один вариант и придерживаться его во всех рецептах.

Питательная ценность и выход блюда требуют честных данных

Поля питательности полезны, но опасны. Указание калорийности требует источника, иначе это выдумка.

Первое правило это точность расчёта. Значения считаются по составу, а не берутся приблизительно. Если расчёт невозможен, поле лучше не заполнять.

Второе правило это единицы. Калории в килокалориях, остальные показатели в граммах. Указывать нужно именно те единицы, которые приняты по умолчанию.

Третье правило это выход. Указывается количество порций или общий вес. Если указано число порций, оно должно соответствовать составу.

Четвёртое правило это вариативность. Продукты бывают разной жирности, и это влияет на итог. Оговорка в тексте статьи помогает избежать претензий.

Пятое правило это актуальность. При изменении состава обновляются и значения питательности. Устаревшие цифры вводят читателя в заблуждение.

Оценки читателей и время приготовления влияют на показ

Помимо основных полей есть дополнительные, которые заметно влияют на вид карточки.

Первое это оценки. Если на странице собираются отзывы, их стоит размечать. Средняя оценка и число отзывов отображаются в результатах и повышают доверие.

Второе это автор. Указание автора связывает рецепт с человеком, а при наличии отдельной страницы об авторе это укрепляет доверие к источнику.

Третье это дата публикации и дата обновления. Они показывают свежесть материала.

Четвёртое это подходящий случай. Ужин, праздник, детский стол. Эти сведения помогают подборкам.

Пятое это способ приготовления. Выпечка, жарка, варка, приготовление на пару. Поле необязательное, но полезное для фильтрации.

{
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "128"
  },
  "dateModified": "2026-09-04",
  "keywords": "пирог, выпечка, яблоки, осенние рецепты"
}

Оценки нельзя выдумывать. Если отзывов на странице нет, а в разметке указано сто двадцать восемь, это нарушение, и последствия бывают неприятными.

Ошибки разметки легко проверить и дешевле исправить сразу

Разберём типичные провалы, которые встречаются в блогах.

Первая ошибка это разметка на странице категории. Список рецептов и один рецепт это разные вещи, и смешивать их нельзя.

Вторая ошибка это неполные данные. Указано название и состав, а времени и изображений нет. Карточка не показывается или показывается частично.

Третья ошибка это несовпадение с текстом. В разметке один набор ингредиентов, в тексте другой. Это прямое нарушение, и оно приводит к ручным санкциям.

Четвёртая ошибка это дублирование блоков. Два описания рецепта на одной странице сбивают робота с толку.

Пятая ошибка связана с изображениями. Указан адрес, но файл недоступен или закрыт от индексации.

Шестая ошибка это устаревшие адреса. Рецепт обновлён, фотография перемещена, а адрес в разметке остался прежним.

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

Техническая сторона подключения занимает несколько строк

Разметку можно добавить двумя способами. Первый предполагает атрибуты прямо в разметке страницы, второй отдельный блок описания.

Первый способ выглядит так:

<article itemscope itemtype="https://schema.org/Recipe">
  <h1 itemprop="name">Пирог с яблоками</h1>
  <p itemprop="description">Простой закрытый пирог с корицей</p>
  <time itemprop="prepTime" datetime="PT20M">20 минут</time>
  <ul>
    <li itemprop="recipeIngredient">Мука 400 г</li>
    <li itemprop="recipeIngredient">Яблоки 700 г</li>
  </ul>
</article>

Второй способ это отдельный блок с описанием в формате JSON-LD. Он не смешивается с разметкой и легче поддаётся проверке. Именно его рекомендуется использовать.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Пирог с яблоками",
  "prepTime": "PT20M",
  "cookTime": "PT45M",
  "recipeIngredient": ["Мука 400 г", "Яблоки 700 г"]
}
</script>

Блок помещается в любом месте страницы, но удобнее в разделе заголовка. Один блок на одну страницу с рецептом.

Второй технический момент касается шаблонов. Если блог работает на системе управления, разметка вставляется в шаблон страницы рецепта, а поля подставляются из данных записи. Это избавляет от ручного заполнения и снижает число ошибок.

Третий момент связан с кэшированием. После правки разметки стоит очистить кэш и убедиться, что робот видит новую версию. Иначе проверка покажет старые данные.

Четвёртый момент это проверка. Инструменты показывают дерево распознанных сущностей и список предупреждений с указанием строк. Прогон занимает минуту.

Что даёт разметка помимо внешнего вида

Выгода не ограничивается карточкой в результатах поиска.

Первое это точность понимания. Машина перестаёт путать рассказ о блюде с самим рецептом и точнее подбирает страницу под запрос.

Второе это голосовой поиск. Ассистенты читают шаги и время приготовления из полей, а не выхватывают случайные фразы из текста.

Третье это подборки и списки. Сервисы, собирающие коллекции рецептов, охотнее берут материалы с полной разметкой.

Четвёртое это переносимость. Данные в структурированном виде проще выгрузить и использовать в приложении.

Пятое это порядок в собственных данных. Заполняя поля, автор невольно приводит рецепт к единой структуре, а это полезно и для сайта, и для читателя.

Порядок работы над старым архивом

Если блог существует давно, разметку придётся добавить в сотни записей. Полезно действовать по шагам.

Первый шаг это сортировка по популярности. Начинать стоит с рецептов, которые и так приносят трафик.

Второй шаг это проверка шаблона. Если разметка добавляется автоматически, достаточно доработать шаблон один раз.

Третий шаг это заполнение обязательных полей. Название, изображение, время, состав и шаги. Остальное можно добавить позже.

Четвёртый шаг это проверка каждой группы страниц после выпуска.

Пятый шаг это постепенное добавление дополнительных полей. Питательная ценность, оценки, кухня.

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

Разметка рецептов получилась редким случаем, когда аккуратность в оформлении данных даёт прямую выгоду. Человек получает карточку с временем, калорийностью и фотографией прямо в результатах поиска, а сайт получает более внимательного посетителя. На этом фоне полчаса, потраченные на заполнение полей, выглядят разумной ценой. Тот, кто пренебрегает разметкой, просто отдаёт эти преимущества соседям по выдаче.