Короткий ответ: перед запросом переиндексации меню проверьте пять свойств Schema.org Restaurant по отдельности — menu, hasMenuItem, имя и описание каждого MenuItem, блок offers с ценой и валютой, а также корректность необязательного suitableForDiet. Отсутствие расширенного результата в выдаче чаще связано не с «поломанной» схемой целиком, а с конкретным пропущенным или неверно вложенным свойством, которое можно найти только построчной проверкой, а не повторной отправкой всего файла на индексацию.

Почему разметка меню требует отдельного аудита

Многие материалы о структурированных данных ресторана сосредоточены на общих полях LocalBusiness — адресе, часах работы, телефоне. Меню устроено иначе: это вложенная иерархия объектов Menu → MenuSection → MenuItem, где каждый уровень может содержать ошибку независимо от остальных. Если ресторан просто скопировал шаблон разметки без проверки вложенности, часть свойств может физически присутствовать в коде, но не быть связана с родительским объектом Restaurant корректно.

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

Практический фреймворк: аудит меню по пяти свойствам

Ниже — рабочая структура, которую можно назвать «аудит меню по пяти свойствам» (5С-аудит: menu, hasMenuItem, name, offers, suitableForDiet). Она построена вокруг словаря schema.org/Restaurant и не требует специализированных инструментов — только доступ к исходному коду страницы меню.

СвойствоГде применяетсяСтатусЧто проверить
menuRestaurantОсновноеУказывает ли на объект типа Menu или на прямую ссылку/текст меню; нет ли дублирующих противоречивых значений на разных страницах сайта
hasMenuItemMenu, MenuSectionОсновноеПеречислены ли реальные MenuSection или MenuItem, а не пустой массив или заглушка
name (в MenuItem)MenuItemОсновноеСовпадает ли название блюда в разметке с названием, которое видит посетитель на странице
offers / price / priceCurrencyMenuItemУсловно основноеУказана ли валюта; не устарела ли цена относительно фактического меню; нет ли смешения диапазонов цен без явного указания
suitableForDietMenuItemНеобязательноеИспользуется ли только там, где информация проверена; соответствует ли значение перечислению RestrictedDiet

Пошаговый порядок проверки

  1. Откройте исходный код страницы с меню и найдите блок JSON-LD или микроразметку, относящуюся к Restaurant.
  2. Проверьте, что свойство menu действительно указывает на структуру, а не на строку с текстом «см. меню на сайте».
  3. Для каждого MenuSection убедитесь, что hasMenuItem заполнен и не обрывается на первом блюде из нескольких десятков.
  4. Сверьте название каждого MenuItem с актуальным бумажным или экранным меню — расхождения не всегда критичны технически, но искажают факт.
  5. Проверьте блок offers: присутствует ли priceCurrency отдельно от price, и не указана ли цена, которая уже неактуальна.
  6. Если используется suitableForDiet, убедитесь, что значение подтверждено кухней, а не добавлено «на всякий случай» ради видимости в выдаче.
  7. Только после прохождения всех шести пунктов имеет смысл запрашивать переиндексацию страницы через инструменты для вебмастеров соответствующей поисковой системы.

Измерение результата

Проверка структурированных данных и появление расширенного результата — разные метрики, и их нельзя объединять в одном отчёте без пояснений. Для аудита разметки достаточно зафиксировать: количество свойств из таблицы выше, присутствующих корректно, до и после исправлений; дату запроса переиндексации; и дату, когда разметка была валидирована инструментом проверки структурированных данных (без предположений о том, когда и появится ли визуальное изменение в выдаче).

Отдельно стоит фиксировать сам факт валидности JSON-LD — то есть отсутствие синтаксических ошибок парсинга — и отдельно факт полноты бизнес-данных (актуальные цены, реальные названия блюд). Смешивание этих двух срезов в один вывод «разметка работает» или «разметка не работает» усложняет диагностику при следующей проверке.

Ограничения такого аудита

  • Наличие всех пяти свойств из фреймворка не обязывает ни одну поисковую систему показать расширенный результат — решение остаётся на стороне конкретного продукта и может меняться без уведомления.
  • Schema.org описывает доступный словарь, а не обязательный набор полей: не все свойства нужны каждому ресторану, и избыточная разметка не улучшает её достоверность.
  • Указание suitableForDiet — это заявление о составе блюда, которое выходит за рамки технической корректности разметки; ошибочное или устаревшее значение может иметь последствия для доверия гостей и ответственности заведения, а не только для видимости в поиске.
  • Этот чек-лист не измеряет и не предсказывает трафик, позиции в выдаче, частоту цитирования в ИИ-ответах или снижение количества неявок — такие связи не подтверждены и не входят в область данного аудита.

Где здесь может быть уместен ChefNet

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

Артефакт: контрольный лист аудита разметки меню (Menu Structured Data Rich Results Audit Checklist)

Пять свойств из основной таблицы задают, «что» проверять. Ниже — операционный контрольный лист, который задаёт «как» и «кто» проверяет, чтобы аудит можно было повторять при каждом обновлении меню, а не проводить один раз перед первым запросом переиндексации.

ПроверкаИсточник проверкиОтветственныйПериодичность
1JSON-LD или микроразметка парсится без синтаксических ошибокИнструмент проверки структурированных данныхТехнический специалистПри каждом изменении кода страницы
2Свойство menu ведёт к структуре, а не к тексту-заглушкеИсходный код страницыТехнический специалистПри изменении шаблона
3hasMenuItem содержит все актуальные позиции разделаСверка с фактическим менюМенеджер зала или шефПри обновлении меню
4Название и описание MenuItem совпадают с тем, что видит гостьРучная сверкаМенеджер залаПри обновлении меню
5offers содержит price и priceCurrency раздельно и без устаревших значенийПрайс-лист кухниМенеджер залаПри изменении цены
6suitableForDiet используется только для подтверждённых кухней позицийПодтверждение шеф-повараШеф-поварПри изменении рецептуры
7Дата последней успешной проверки зафиксирована в журнале аудитаВнутренний журналОтветственный за сайтПосле каждого прохождения пунктов 1–6

Пограничные случаи, которые контрольный лист должен явно учитывать

  • Сезонное или сменяемое меню. Если позиции меняются чаще, чем обновляется разметка, устаревший hasMenuItem может формально проходить синтаксическую проверку, но не соответствовать фактическому ассортименту.
  • Меню только в формате PDF или изображения. Такой файл не может быть напрямую источником для MenuItem; свойство menu в этом случае технически валидно, только если ссылка корректно оформлена как объект или URL, а не как встроенное изображение без текстового аналога.
  • Меню, встроенное через сторонний сервис доставки или бронирования. Если раздел меню на сайте фактически рендерится сторонним виджетом, разметка Restaurant на основной странице может не иметь доступа к актуальным данным этого виджета — это стоит проверять отдельно, а не полагаться на то, что виджет автоматически синхронизирован со schema.org разметкой сайта.
  • Многоязычные версии меню. Название и описание MenuItem на разных языковых версиях страницы должны соответствовать разметке именно той языковой версии, к которой они привязаны; перенос значений с одной локали на другую без проверки создаёт несоответствие между видимым текстом и разметкой.
  • Комбо и сет-меню. Позиции, состоящие из нескольких блюд, требуют решения, как их описывать — как один MenuItem с общей ценой или как MenuSection с вложенными MenuItem; оба варианта допустимы в словаре schema.org/Restaurant, но выбор должен быть последовательным по всему сайту.
  • Позиции без фиксированной цены («цена по запросу»). Блок offers в этом случае не должен содержать произвольное числовое значение цены — лучше не указывать offers для такой позиции, чем указывать недостоверную цену ради формальной полноты разметки.

Порядок действий после обнаружения ошибок

  1. Исправьте разметку в исходном коде, а не только в кэшированной версии страницы.
  2. Повторно прогоните исправленный код через инструмент проверки структурированных данных и зафиксируйте отсутствие синтаксических ошибок.
  3. Сверьте содержимое построчно с актуальным меню согласно контрольному листу выше.
  4. Запишите в журнал аудита дату исправления, перечень изменённых свойств и имя ответственного.
  5. Если сайт использует промежуточную (staging) версию, протестируйте разметку там до публикации на боевом домене.
  6. Только после прохождения всех пунктов запрашивайте переиндексацию через инструменты для вебмастеров — сама по себе повторная отправка страницы не заменяет проверку по пунктам 1–5.

Как фиксировать состояние во времени, а не разово

Для сети из нескольких точек или сайта с отдельными страницами меню по филиалам разовая проверка одной страницы не отражает состояние остальных. Рабочий способ — вести журнал по каждой странице меню отдельно, с колонками: URL страницы, дата последней проверки, количество из семи пунктов контрольного листа, пройденных без замечаний, и дата последнего изменения меню в системе учёта кухни. Такой журнал позволяет увидеть, какие страницы не проверялись дольше остальных, вместо того чтобы полагаться на общее впечатление о «состоянии разметки сайта».

Дополнительные ограничения, которые стоит держать в поле зрения

  • Прохождение всех пунктов контрольного листа фиксирует состояние разметки на конкретную дату; последующее изменение меню кухней без параллельного обновления кода снова делает разметку неактуальной, даже если сама структура кода не менялась.
  • Словарь schema.org может со временем расширяться или уточняться; контрольный лист, основанный на текущем перечне свойств Restaurant, стоит периодически сверять с актуальной версией словаря, а не считать зафиксированным раз и навсегда.
  • Синхронизация данных между несколькими языковыми версиями или филиалами не гарантируется автоматически самим фактом наличия разметки — это остаётся отдельной операционной задачей, не решаемой на уровне JSON-LD.
  • Ни один пункт контрольного листа не задаёт срок, в течение которого поисковая система обработает повторный запрос индексации или изменит отображение результата.

Первичные источники

FAQ

Гарантирует ли добавление разметки меню Schema.org появление расширенного результата?

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

Какое свойство Schema.org должно перечислять отдельные блюда?

Свойство menu у типа Restaurant может указывать на объект Menu, который через hasMenuItem перечисляет MenuSection или MenuItem. Каждый MenuItem должен иметь собственное name и, где применимо, блок offers с price и priceCurrency — согласно словарю schema.org/Restaurant.

Обязательно ли указывать suitableForDiet для каждого блюда?

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

Редакционное раскрытие: ChefNet публикует это руководство и разрабатывает продукты для поиска ресторанов и ресторанных операций. Общие рекомендации отделены от заявлений о продукте. Возможности могут меняться по мере развития пилотных проектов. Опубликовано 2026-08-02.