⚠️ Важно: данный сайт не имеет отношения к владельцам schema.org, это всего лишь любительский (неофициальный) перевод. Сайт сделан для тех, кто плохо воспринимает технический английский. Оригинал текста можно найти тут: schema.org/hasMenuSection. Если сайт оказался полезен, то можете пожертвовать 50 рублей создателями сайта.

hasMenuSection

Свойство schema.org ?

Описание:

Подгруппа меню (по блюдам, курсу, времени подачи и т.д.).

Что такое hasMenuSection в Schema.org?

Представьте, что вы заходите на сайт ресторана. Хотите быстро понять, что здесь можно поесть. А вместо чёткой структуры — сплошной список блюд без разделов. Завтрак, ужин, десерты — всё смешалось. Как в старом анекдоте: «Дайте мне то же самое, что и у всех». Не очень-то удобно.

Вот здесь и приходит на помощь hasMenuSection.

Что это такое на самом деле

hasMenuSection — это свойство в микроразметке Schema.org, которое позволяет структурировать меню на логические части. Это как главы в книге или отделы в супермаркете — каждый тип еды, время подачи или кухня имеют своё место.

Ожидаемый тип значения — MenuSection. То есть не просто слово "Закуски", а полноценный объект с описанием, изображением, ценами и даже временем доступности.

Это свойство используется в двух основных типах:

  • Menu — чтобы разбить всё меню на секции.
  • MenuSection — для создания вложенных подразделов (например, внутри "Ужина" могут быть "Салаты" и "Основные блюда").

Проще говоря: организация ради удобства

Если раньше меню было как беспорядочный шкаф, где носки валяются вместе с книгами, то hasMenuSection помогает расставить всё по полочкам.

Вы можете группировать блюда:

  • По времени: завтрак, обед, ужин.
  • По типу: закуски, горячие блюда, напитки, десерты.
  • По тематике: мексиканская кухня, детское меню, сезонные предложения.

Такой подход делает информацию не только понятнее для клиентов, но и читабельнее для поисковых систем.

Зачем это нужно?

Пользователи любят порядок. Когда они видят чёткую структуру меню, им проще ориентироваться, быстрее принимать решения и реже задавать вопрос: «А у вас есть что-нибудь с рыбой?».

Но не только клиенты оценят такую организацию. Использование hasMenuSection даёт бизнесу несколько важных преимуществ:

  • Лучшая индексация в поисковиках: Google и другие системы начинают понимать, какие именно категории у вас есть. Например, если пользователь ищет ресторан с дневным меню — ваш сайт может попасть в топ.
  • Улучшенная фильтрация: Можно показывать только те разделы, которые актуальны в определённое время дня.
  • Поддержка мультименю: Если у вас есть меню на разных языках — hasMenuSection работает в связке с inLanguage, чтобы всё было правильно разделено.

Практический пример

Допустим, у вас ресторан с разделённым меню: сначала закуски, потом основные блюда, потом десерты. С помощью hasMenuSection вы можете описать каждую из этих групп отдельно.

Каждая секция может содержать:

  • Название (name)
  • Описание (description)
  • Изображения (image)
  • Время доступности (offers)
  • Даже конкретные пункты меню (hasMenuItem)

И если у вас есть, например, сезонное меню, доступное только до определённой даты — вы легко его помечаете и показываете посетителям.

Как влияет на SEO и UX

Поисковые системы сегодня всё чаще обращают внимание на структурированные данные, потому что они помогают лучше понимать контент. Когда вы используете hasMenuSection, вы:

  • Упрощаете работу алгоритмам
  • Повышаете шансы попадания в сниппеты и карточки результатов
  • Делаете информацию о вашем меню доступной в голосовых помощниках и других сервисах

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

Вывод

hasMenuSection — это не просто технический элемент Schema.org. Это ключ к чёткой и логичной структуре меню, которая помогает и клиентам, и поисковым системам.

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

Ожидается, что значения будут одного из этих типов

Используется в этих типах

Примеры

Пример 1

Пример заметки или HTML разметки.


A simple menu example with a single menu section for tacos and a taco menu item.
Note that additional menus are possible for specific languages using the
inLanguage property.

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
{
   "@context":"https://schema.org",
   "@type":"Restaurant",
   "url":"http://www.somerestaurant.com",
   "name":"Some Restaurant",
   "description":"This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine",
   "servesCuisine":[
      "Indian-Mexican Fusion"
   ],
   "hasMenu":{
      "@type":"Menu",
      "hasMenuSection":{
         "@type":"MenuSection",
         "name":"Tacos",
         "description":"Tacos inspired by India cuisine.",
         "image":[
            "https://somerestaurant.com/some_tacos.jpg",
            "https://somerestaurant.com/more_tacos.jpg"
         ],
         "offers":{
            "@type":"Offer",
            "availabilityEnds":"2017-03-02T08:22:00",
            "availabilityStarts":"2017-03-02T08:22:00"
         },
         "hasMenuItem":{
            "@type":"MenuItem",
            "name":"Aloo Gobi Taco",
            "description":"Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.",
            "offers":{
               "@type":"Offer",
               "price":"3.50",
               "priceCurrency":"USD"
            },
            "nutrition":{
               "@type":"NutritionInformation",
               "calories":"170 calories",
               "fatContent":"3 grams",
               "fiberContent":"2 grams",
               "proteinContent":"4 grams"
            },
            "suitableForDiet":"https://schema.org/GlutenFreeDiet"
         }
      },
      "inLanguage":"English"
   }
}
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org
@type
Restaurant
url
http://www.somerestaurant.com
name
Some Restaurant
description
This is the Some Restaurant located on 345 Spear St. San Francisco, 94105 CA. It serves Indian-Mexican fusion cuisine
servesCuisine
0
Indian-Mexican Fusion
hasMenu
@type
Menu
hasMenuSection
@type
MenuSection
name
Tacos
description
Tacos inspired by India cuisine.
image
0
https://somerestaurant.com/some_tacos.jpg
1
https://somerestaurant.com/more_tacos.jpg
offers
@type
Offer
availabilityEnds
2017-03-02T08:22:00
availabilityStarts
2017-03-02T08:22:00
hasMenuItem
@type
MenuItem
name
Aloo Gobi Taco
description
Mexico City-style street corn tortilla taco filled with a flavorful mixture of mildly south Indian spiced cauliflower, potato, tomato, onions and bell peppers.
offers
@type
Offer
price
3.50
priceCurrency
USD
nutrition
@type
NutritionInformation
calories
170 calories
fatContent
3 grams
fiberContent
2 grams
proteinContent
4 grams
suitableForDiet
https://schema.org/GlutenFreeDiet
inLanguage
English

Пример 2

Пример заметки или HTML разметки.


An example of a menu with nested MenuSections.

Пример, закодированный в формате JSON-LD в теге <script> HTML.


<script type="application/ld+json">
{
   "@context":"https://schema.org",
   "@type":"Restaurant",
   "url":"http://www.thisisarestaurant.com",
   "name":"The Restaurant",
   "image":"http://www.example.com/image-of-some-restaurant.jpg",
   "description":"This is an example restaurant that serves American cuisine.",
   "servesCuisine":[
      "American cuisine"
   ],
   "hasMenu":{
      "@type":"Menu",
      "name":"Dine-In Menu",
      "description":"Menu for in-restaurant dining only.",
      "hasMenuSection":[
         {
            "@type":"MenuSection",
            "name":"Dinner",
            "description":"Dinner dishes",
            "image":"https://thisisarestaurant.com/dinner_dishes.jpg",
            "offers":{
               "@type":"Offer",
               "availabilityEnds":"2017-03-02T08:22:00",
               "availabilityStarts":"2017-03-02T08:22:00"
            },
            "hasMenuSection":[
               {
                  "@type":"MenuSection",
                  "name":"Starters",
                  "description":"Appetizers and such",
                  "image":"https://thisisarestaurant.com/starter_dishes.jpg",
                  "offers":{
                     "@type":"Offer",
                     "availabilityEnds":"2017-03-02T08:22:00",
                     "availabilityStarts":"2017-03-02T08:22:00"
                  },
                  "hasMenuItem":{
                     "@type":"MenuItem",
                     "name":"Potato Skins",
                     "description":"Small serving of stuffed potato skins.",
                     "offers":{
                        "@type":"Offer",
                        "price":"7.49",
                        "priceCurrency":"USD"
                     },
                     "suitableForDiet":"https://schema.org/GlutenFreeDiet"
                  }
               },
               {
                  "@type":"MenuSection",
                  "name":"Soups & Salads",
                  "description":"Salads and a few choices of soup",
                  "image":"https://thisisarestaurant.com/soup_and_salad_dishes.jpg",
                  "offers":{
                     "@type":"Offer",
                     "availabilityEnds":"2017-03-02T08:22:00",
                     "availabilityStarts":"2017-03-02T08:22:00"
                  },
                  "hasMenuItem":{
                     "@type":"MenuItem",
                     "name":"Pea Soup",
                     "description":"Creamy pea soup topped with melted cheese and sourdough croutons.",
                     "offers":{
                        "@type":"Offer",
                        "price":"3.49",
                        "priceCurrency":"USD"
                     }
                  }
               }
            ]
         }
      ]
   }
}
</script>

Структурированное представление примера JSON-LD.

@context
https://schema.org
@type
Restaurant
url
http://www.thisisarestaurant.com
name
The Restaurant
image
http://www.example.com/image-of-some-restaurant.jpg
description
This is an example restaurant that serves American cuisine.
servesCuisine
0
American cuisine
hasMenu
@type
Menu
name
Dine-In Menu
description
Menu for in-restaurant dining only.
hasMenuSection
0
@type
MenuSection
name
Dinner
description
Dinner dishes
image
https://thisisarestaurant.com/dinner_dishes.jpg
offers
@type
Offer
availabilityEnds
2017-03-02T08:22:00
availabilityStarts
2017-03-02T08:22:00
hasMenuSection
0
@type
MenuSection
name
Starters
description
Appetizers and such
image
https://thisisarestaurant.com/starter_dishes.jpg
offers
@type
Offer
availabilityEnds
2017-03-02T08:22:00
availabilityStarts
2017-03-02T08:22:00
hasMenuItem
@type
MenuItem
name
Potato Skins
description
Small serving of stuffed potato skins.
offers
@type
Offer
price
7.49
priceCurrency
USD
suitableForDiet
https://schema.org/GlutenFreeDiet
1
@type
MenuSection
name
Soups & Salads
description
Salads and a few choices of soup
image
https://thisisarestaurant.com/soup_and_salad_dishes.jpg
offers
@type
Offer
availabilityEnds
2017-03-02T08:22:00
availabilityStarts
2017-03-02T08:22:00
hasMenuItem
@type
MenuItem
name
Pea Soup
description
Creamy pea soup topped with melted cheese and sourdough croutons.
offers
@type
Offer
price
3.49
priceCurrency
USD
Автор: Семён Авдосов [schema.su]
Дата публикации: 16.11.2024
Дата обновления: 12.05.2025
Комментарии
Новые материалы на сайте