Как добавить структурированные данные для рецептов

Если на вашем сайте публикуются рецепты, отзывы или данные о питательной ценности блюд, добавьте для них разметку структурированных данных. Google будет распознавать их и представлять в результатах поиска в привлекательном виде. Рецепты могут показываться в результатах Google Поиска и Google Картинок.

Рецепты в Google Поиске и Google Картинках

В зависимости от того, какую разметку вы используете, мы можем показывать ваши рецепты в результатах поиска по-разному:

Как рецепты могут выглядеть в результатах поиска
Пошаговые рецепты. Если вы добавите структурированные данные Recipe, то Google Ассистент сможет предлагать ваши рецепты пользователям в Google Home и на умных дисплеях. Для этого вам потребуется реализовать несколько дополнительных свойств. Для Google Поиска они также рекомендуются, но не являются обязательными. Не забудьте добавить свойства recipeIngredient и recipeInstructions. Если вы добавляете video, вы также должны добавить свойство contentUrl.

Подробнее о том, как создать действия Ассистента на основе веб-контента

Рецепты в Google Ассистенте
Карусель рецептов с вашего сайта. Если добавить структурированные данные ItemList, пользователям будет удобнее просматривать ваши рецепты, поскольку они будут представлены в виде галереи. Карусель рецептов в Google Поиске

Как добавлять структурированные данные

Структурированные данные – стандартизированный формат, используемый для представления сведений о странице и классификации ее контента. Подробнее о принципах работы структурированных данных

Ниже в общих чертах описано, как создать, проверить и добавить на сайт структурированные данные. Пошаговые инструкции вы найдете в этой практической работе.

  1. Добавьте обязательные свойства. Узнайте, в каких частях страницы нужно размещать структурированные данные выбранного вами формата.
  2. Следуйте рекомендациям.
  3. Протестируйте свой код с помощью инструмента проверки расширенных результатов.
  4. Опубликуйте страницу и с помощью инструмента проверки URL посмотрите, как она выглядит в результатах поиска Google. Убедитесь, что доступ Google к странице не заблокирован файлом robots.txt или метатегом noindex и для доступа к странице не требуется авторизация. Если все в порядке, запросите повторное сканирование ваших URL.
  5. Отправляйте нам файл Sitemap, чтобы информировать нас об изменениях на сайте. Отправку такого файла можно автоматизировать с помощью Search Console Sitemap API.

Примеры

В этом разделе собрано несколько примеров кода JSON-LD для рецептов.

Пошаговые рецепты

Вот пример страницы, которая может предлагаться пользователю как в Google Поиске, так и через Ассистент в формате пошагового рецепта.

<html>
  <head>
    <title>Party Coffee Cake</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Party Coffee Cake",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This coffee cake is awesome and perfect for parties.",
      "prepTime": "PT20M",
      "cookTime": "PT30M",
      "totalTime": "PT50M",
      "keywords": "cake for a party, coffee",
      "recipeYield": "10",
      "recipeCategory": "Dessert",
      "recipeCuisine": "American",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "270 calories"
      },
      "recipeIngredient": [
        "2 cups of flour",
        "3/4 cup white sugar",
        "2 teaspoons baking powder",
        "1/2 teaspoon salt",
        "1/2 cup butter",
        "2 eggs",
        "3/4 cup milk"
        ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "name": "Preheat",
          "text": "Preheat the oven to 350 degrees F. Grease and flour a 9x9 inch pan.",
          "url": "https://example.com/party-coffee-cake#step1",
          "image": "https://example.com/photos/party-coffee-cake/step1.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Mix dry ingredients",
          "text": "In a large bowl, combine flour, sugar, baking powder, and salt.",
          "url": "https://example.com/party-coffee-cake#step2",
          "image": "https://example.com/photos/party-coffee-cake/step2.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Add wet ingredients",
          "text": "Mix in the butter, eggs, and milk.",
          "url": "https://example.com/party-coffee-cake#step3",
          "image": "https://example.com/photos/party-coffee-cake/step3.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Spread into pan",
          "text": "Spread into the prepared pan.",
          "url": "https://example.com/party-coffee-cake#step4",
          "image": "https://example.com/photos/party-coffee-cake/step4.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Bake",
          "text": "Bake for 30 to 35 minutes, or until firm.",
          "url": "https://example.com/party-coffee-cake#step5",
          "image": "https://example.com/photos/party-coffee-cake/step5.jpg"
        },
        {
          "@type": "HowToStep",
          "name": "Enjoy",
          "text": "Allow to cool and enjoy.",
          "url": "https://example.com/party-coffee-cake#step6",
          "image": "https://example.com/photos/party-coffee-cake/step6.jpg"
        }
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "http://www.example.com/video123.mp4",
        "embedUrl": "http://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Рецепты в Поиске

Нажмите кнопку ниже, чтобы ознакомиться с примером страницы, контент с которой может появляться в Google Поиске,

<html>
  <head>
    <title>Non-alcoholic Pina Colada</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "name": "Non-alcoholic Pina Colada",
      "image": [
      "https://example.com/photos/1x1/photo.jpg",
      "https://example.com/photos/4x3/photo.jpg",
      "https://example.com/photos/16x9/photo.jpg"
      ],
      "author": {
        "@type": "Person",
        "name": "Mary Stone"
      },
      "datePublished": "2018-03-10",
      "description": "This non-alcoholic pina colada is everyone's favorite!",
      "recipeCuisine": "American",
      "prepTime": "PT1M",
      "cookTime": "PT2M",
      "totalTime": "PT3M",
      "keywords": "non-alcoholic",
      "recipeYield": "1 serving",
      "recipeCategory": "Drink",
      "nutrition": {
        "@type": "NutritionInformation",
        "calories": "120 calories"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
        "ratingCount": "18"
      },
      "recipeIngredient": [
        "2 cups of pineapple juice",
        "5/8 cup cream of coconut",
        "ice"
      ],
      "recipeInstructions": [
        {
          "@type": "HowToStep",
          "text": "Blend 2 cups of pineapple juice and 5/8 cup cream of coconut until smooth."
        },
        {
          "@type": "HowToStep",
          "text": "Fill a glass with ice."
        },
        {
          "@type": "HowToStep",
          "text": "Pour the pineapple juice and coconut mixture over ice."
        }
      ],
      "video": {
        "@type": "VideoObject",
        "name": "How to make a Party Coffee Cake",
        "description": "This is how you make a Party Coffee Cake.",
        "thumbnailUrl": [
          "https://example.com/photos/1x1/photo.jpg",
          "https://example.com/photos/4x3/photo.jpg",
          "https://example.com/photos/16x9/photo.jpg"
         ],
        "contentUrl": "http://www.example.com/video123.mp4",
        "embedUrl": "http://www.example.com/videoplayer?video=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "PT1M33S",
        "interactionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": { "@type": "WatchAction" },
          "userInteractionCount": 2347
        },
        "expires": "2019-02-05T08:00:00+08:00"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Ниже представлен пример кода списка рецептов, созданных на основе структурированных данных itemList. Этот контент может показываться в виде сетки в результатах поиска.

<html>
  <head>
    <title>Grandma's Best Pie Recipes</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "url": "https://example.com/apple-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "url": "https://example.com/blueberry-pie.html"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "url": "https://example.com/cherry-pie.html"
        }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Рекомендации

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

Рекомендации по структурированным данным Recipe:

  • Структурированные данные Recipe подходят для контента, где рассказывается о том, как приготовить конкретное блюдо. Их нельзя использовать для других материалов, например советов по организации праздника или по приготовлению скраба для лица.
  • Чтобы рецепты появлялись в карусели или сетке, следуйте следующим правилам:
    • Добавьте структурированные данные ItemList, чтобы объединить рецепты в список. Данные ItemList можно добавить как отдельно, так и вместе со структурированными данными для рецептов.
    • На вашем сайте должна быть страница, где перечислены все рецепты, входящие в подборку. Когда пользователь нажимает на общую ссылку в результатах поиска, должен выполняться переход на страницу со списком рецептов, соответствующих его запросу.

Типы структурированных данных

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

Recipe

В разметке Recipe для рецепта нужно использовать перечисленные ниже свойства. Полное описание типа Recipe приведено на странице schema.org/Recipe.

Обязательные свойства
image

URL или ImageObject

Изображение готового блюда.

Дополнительные рекомендации:

  • На каждой странице (с разметкой или без нее) должно присутствовать хотя бы одно изображение. Робот Google выберет лучшее изображение для показа в результатах поиска с учетом соотношения сторон и разрешения.
  • URL изображений должны быть доступны для сканирования и индексирования. Проверить, есть ли у поискового робота Google доступ к URL вашего контента, можно с помощью инструмента, описанного в этой статье.
  • Изображения должны соответствовать размеченному контенту.
  • Допускаются только графические файлы форматов, совместимых с Google Картинками.
  • Предоставьте несколько изображений в высоком разрешении (не менее 50 000 пикселей по произведению ширины и высоты) со следующими соотношениями сторон: 16 × 9, 4 × 3 и 1 × 1.

Пример:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
name

Text

Название блюда.

Рекомендуемые свойства
aggregateRating

AggregateRating

Аннотация со средним рейтингом блюда. Следуйте рекомендациям по созданию фрагмента отзыва и ознакомьтесь со списком обязательных и рекомендуемых свойств типа AggregateRating.

Если в структурированных данных Recipe содержится только один отзыв, в качестве имени автора должно быть указано настоящее имя человека или название организации. К примеру, имя "Скидка 50 % на ингредиенты" является недопустимым.

author

Person или Organization

Автор рецепта (имя человека или название организации).

cookTime

Duration

Время, которое требуется на приготовление блюда. Значение следует вводить в формате ISO 8601. Вы также можете добавить дочерние элементы, обозначающие минимальное и максимальное время приготовления.

Всегда используйте это свойство вместе с элементом prepTime.

datePublished

Date

Дата публикации рецепта в формате ISO 8601.

description

Text

Краткое описание блюда.

keywords

Text

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

Дополнительные правила

  • Разделяйте ключевые слова запятыми.
  • Не используйте тег, который на самом деле представляет собой свойство recipeCategory или recipeCuisine.

    Не рекомендуется

    
    "keywords": "dessert, American"
    

    Рекомендуется

    
    "keywords": "winter apple pie, nutmeg crust"
    
nutrition.calories

Energy

Количество калорий в каждой порции блюда, приготовленного по этому рецепту. Если задано свойство nutrition.calories, для свойства recipeYield нужно указать количество порций.

prepTime

Duration

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

Всегда используйте это свойство вместе с элементом cookTime.

recipeCategory

Text

Вид блюда. Например "ужин", "основное блюдо", "десерт".

recipeCuisine

Text

К какой кухне мира относится рецепт. Например, "средиземноморская", "американская", "французская".

recipeIngredient

Text

Ингредиенты, используемые в рецепте.

Пример:


"recipeIngredient": [
  "1 (15 ounce) package double crust ready-to-use pie crust",
  "6 cups thinly sliced, peeled apples (6 medium)",
  "3/4 cup sugar",
  "2 tablespoons all-purpose flour",
  "3/4 teaspoon ground cinnamon",
  "1/4 teaspoon salt",
  "1/8 teaspoon ground nutmeg",
  "1 tablespoon lemon juice"
]

Дополнительные рекомендации

  • Добавляйте только ингредиенты, которые требуются для приготовления блюда по рецепту.
  • Не добавляйте ненужную информацию, такую как описание ингредиента.
recipeInstructions

HowToStep, HowToSection или Text

Этапы приготовления блюда.

Указывать значения свойства recipeInstructions можно несколькими способами. Мы рекомендуем делать это при помощи элементов HowToStep. Если в рецепте несколько разделов, то элементы HowToStep можно сгруппировать с помощью свойства HowToSection.

  • HowToStep. Свойство HowToStep позволяет указать этапы приготовления блюда.
    
    "recipeInstructions": [
      {
        "@type": "HowToStep",
        "name": "Preheat",
        "text": "Heat oven to 425°F.",
        "url": "https://example.com/recipe#step1",
        "image": "https://example.com/photos/recipe/step1.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Prepare crust",
        "text": "Place 1 pie crust in ungreased 9-inch glass pie plate, pressing firmly against side and bottom.",
        "url": "https://example.com/recipe#step2",
        "image": "https://example.com/photos/recipe/step2.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Make filling",
        "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate.",
        "url": "https://example.com/recipe#step3",
        "image": "https://example.com/photos/recipe/step3.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cover",
        "text": "Top with second crust. Cut slits or shapes in several places in top crust.",
        "url": "https://example.com/recipe#step4",
        "image": "https://example.com/photos/recipe/step4.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Bake",
        "text": "Bake 40 to 45 minutes. The pie is ready when the apples are tender and the crust is golden brown.",
        "url": "https://example.com/recipe#step5",
        "image": "https://example.com/photos/recipe/step5.jpg"
      }, {
        "@type": "HowToStep",
        "name": "Cool",
        "text": "Cool on cooling rack at least 2 hours before serving.",
        "url": "https://example.com/recipe#step6",
        "image": "https://example.com/photos/recipe/step6.jpg"
      }
    ]
    
  • HowToSection. Это свойство позволяет сгруппировать этапы приготовления блюда в разделы. Пример см. в описании типа HowToSection.
  • Один или несколько фрагментов текста. Текстовый блок с описанием одного или нескольких этапов приготовления блюда. Все этапы рассматриваются как относящиеся к одному разделу. Если в свойстве указано несколько значений, все они объединяются в один текстовый блок. Затем Google пытается автоматически разделить этот блок на отдельные этапы. Кроме того, Google находит и удаляет названия разделов, номера этапов, ключевые слова и другие данные, которые могут некорректно отображаться в тексте рецепта. Чтобы структурированные данные были обработаны точно и однозначно, рекомендуем вместо текстовых описаний добавлять свойства HowToStep.
    
    "recipeInstructions": [
      "In large bowl, gently mix filling ingredients; spoon into crust-lined pie
    plate. Top with second crust. Cut slits or shapes in several places in top
    crust. Bake 40 to 45 minutes. The pie is ready when the or until apples are
    tender and the crust is golden brown. Cool on cooling rack at least 2 hours
    before serving."
    ]
    

Дополнительные правила

  • Следите за тем, чтобы все метаданные были размещены в предназначенных для них разделах. Например, автора рецепта нужно указать в свойстве author, название кухни – в свойстве recipeCuisine, категорию – в свойстве recipeCategory, а другие ключевые слова – в свойстве keywords.
  • Добавляйте только само описание приготовления блюда без посторонней информации, такой как "Инструкции", "Смотрите видео", "Шаг 1". (их нужно указывать вне структурированных данных).

    Не рекомендуется

    
    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }]
    

    Рекомендуется

    
    "recipeInstructions": [{
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }]
    
recipeYield

Text или Integer

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

Пример


"recipeYield": [
  "6",
  "24 cookies"
]
totalTime

Duration

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

Используйте свойство totalTime или же комбинацию cookTime и prepTime.

video VideoObject

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

  • Video without clips
    
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "video": [
        {
          "@type": "VideoObject",
          "name": "Delicious PieParty Coffee Cake",
          "description": "How to make a delicious pie - quickly and easily!How to make Party Coffee Cake.",
          "thumbnailUrl": [
            "https://example.com/photos/1x1/photo.jpg",
            "https://example.com/photos/4x3/photo.jpg",
            "https://example.com/photos/16x9/photo.jpg"
          ],
          "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
          "embedUrl": "https://www.example.com/videoplayer?id=123",
          "uploadDate": "2018-02-05T08:00:00+08:00"
        }
      ]
    }
    ]
    
  • Video with clips. Видео с фрагментами, соответствующими его сегментам. Остальные части рецепта (например, шаги) могут соответствовать этим фрагментам, которые задаются в свойстве video.hasPart.
    
    {
      "@context": "https://schema.org/",
      "@type": "Recipe",
      "video": {
        "@type": "VideoObject",
        "name": "Make a pie",
        "description": "How to make a delicious pie - quickly and easily!",
        "thumbnailUrl": "https://example.com/photos/photo.jpg",
        "contentUrl": "https://www.example.com/videos/123_600x400.mp4",
        "embedUrl": "https://www.example.com/videoplayer?id=123",
        "uploadDate": "2018-02-05T08:00:00+08:00",
        "duration": "P1MT10S",
        "hasPart": [{
          "@type": "Clip",
          "@id": "Clip1",
          "name": "Preheat oven",
          "startOffset": 20,
          "endOffset": 29
          "url": "https://www.example.com/example?t=20"
         },
         {
           "@type": "Clip",
           "@id": "Clip2",
           "name": "Arrange pie crust",
           "startOffset": 29,
           "endOffset": 36
           "url": "https://www.example.com/example?t=29"
         },
         {
           "@type": "Clip",
           "@id": "Clip3",
           "name": "Make filling",
           "startOffset": 36,
           "endOffset": 45
           "url": "https://www.example.com/example?t=36"
         },
         {
           "@type": "Clip",
           "@id": "Clip4",
           "name": "Add filling",
           "startOffset": 45,
           "endOffset": 65
           "url": "https://www.example.com/example?t=45"
         },
         {
           "@type": "Clip",
           "@id": "Clip5",
           "name": "Bake",
           "startOffset": 65,
           "endOffset": 80
           "url": "https://www.example.com/example?t=65"
         },
         {
           "@type": "Clip",
           "@id": "Clip6",
           "name": "Let cool",
           "startOffset": 80,
           "endOffset": 90
           "url": "https://www.example.com/example?t=80"
        }]
      }
    }
    
video.contentUrl

URL

URL файла видео, закодированного в одном из поддерживаемых форматов. Не указывайте здесь ссылку на страницу, где размещено видео: здесь должен быть URL самого видеофайла.


"contentUrl": "https://www.example.com/video/123/file.mp4"

Соблюдайте рекомендации по работе с видео.

video.hasPart

Clip

Фрагмент из видео.

video.hasPart.endOffset

Number

Время окончания фрагмента, указанное в секундах с начала видео.

video.hasPart.name

Text

Название фрагмента. Например, фрагменту, в котором рассказывается, как выложить тесто для пирога в форме для запекания, можно дать название "Выложите тесто в форму".

video.hasPart.startOffset

Number

Время начала фрагмента, указанное в секундах с начала видео.

video.hasPart.url

URL

Ссылка на начало фрагмента. Начало должно соответствовать значению элемента video.hasPart.startOffset. Пример:


"startOffset": 20,
"endOffset": 29,
"url": "https://www.example.com/example?t=20"

HowToSection

Свойство HowToSection позволяет группировать шаги (или подразделы), составляющие часть действий по рецепту. Задайте HowToSection непосредственно как описание свойства recipeInstructions или как элемент itemListElement другого свойства HowToSection.

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

Полное определение типа HowToSection приведено на странице schema.org/HowToSection.

Обязательные свойства
itemListElement HowToStep

Список этапов приготовления, а также подразделов (если они есть). Например, в описании приготовления пиццы может быть три раздела: о тесте, начинке и выпечке. Если в рецепте несколько разделов, но они не обозначены с помощью свойства HowToSections, Ассистент может по ошибке принять их за этапы. Например, в таком случае после этапа "вымесите тесто" может идти этап "смешайте муку и дрожжи".

Пример:


{
  "@type": "HowToSection",
  "name": "Assemble the pie",
  "itemListElement": [
    {
      "@type": "HowToStep",
      "text": "In large bowl, gently mix filling ingredients; spoon into crust-lined pie plate."
    }, {
      "@type": "HowToStep",
      "text": "Top with second crust. Cut slits or shapes in several places in top crust."
    }
  ]
}
name Text

Название раздела.

HowToStep

Свойство HowToStep позволяет группировать предложения, в которых описывается, как выполнить часть действий по рецепту. Укажите такие предложения в свойстве text или укажите в свойстве itemListElement вариант HowToDirection или HowToTip для каждого такого предложения.

В разметке HowToStep для шагов рецепта нужно использовать перечисленные ниже свойства. Задайте HowToStep непосредственно как определение свойства recipeInstructions или как элемент itemListElement свойства HowToSection.

Полное определение типа HowToStep приведено на странице schema.org/HowToStep.

Обязательные свойства
itemListElement HowToDirection или HowToTip

Список шагов, в том числе указаний и рекомендаций.

Можно не использовать при наличии элемента text.

text Text

Полный текст шага инструкции.

Можно не использовать при наличии элемента itemListElement. Дополнительные рекомендации:

  • Добавляйте только сам текст инструкций, а не такие фразы, как "Инструкции", "Посмотрите видео", "Шаг 1" (их нужно указывать вне этого свойства).

    Не рекомендуется

    
    {
      "@type": "HowToStep",
      "text": "Step 1. Heat oven to 425°F."
    }
    

    Рекомендуется

    
    {
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }
    
Рекомендуемые свойства
image ImageObject или URL

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

  • URL изображений должны быть доступны для сканирования и индексирования.
  • Изображения должны соответствовать размеченному контенту.
  • Допустимые форматы изображений: JPG, PNG и GIF.
name Text

От одного до нескольких слов, кратко описывающих шаг (например, "Выложите тесто в форму"). Не используйте такие конструкции, как "Шаг 1: [текст]" или "1. [текст]". В названии шага должна быть только описательная часть, без указания на его номер.

url URL

URL прямой ссылки на шаг (если таковой существует). Например, ссылка привязки.

video VideoObject или Clip

Видео, иллюстрирующее текущий шаг.

Если вы используете тип VideoObject, изучите список обязательных и рекомендуемых свойств для видео или фрагментов.

HowToDirection и HowToTip

Чтобы добавить описания указаний или советов, применяйте типы HowToDirection и HowToTip. В них используются одинаковые обязательные и рекомендуемые свойства.

Полные определения типов HowToDirection и HowToTip приведены на страницах schema.org/HowToDirection и schema.org/HowToTip.

Обязательные свойства
text Text

Текст описания или совета.

ItemList

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

Полное определение типа ItemList приведено на странице schema.org/ItemList.

Обязательные свойства
itemListElement

ListItem

Описание страницы отдельного элемента списка.

ListItem.position

Integer

Порядковый номер страницы элемента в списке. Пример:


"itemListElement": [
  {
    "@type": "ListItem",
    "position": 1,
  }, {
    "@type": "ListItem",
    "position": 2,
  }
]
ListItem.url

URL

Канонический URL страницы со сведениями об элементе. У каждого элемента должен быть уникальный URL.

Сбор статистики по расширенным результатам в Search Console

С помощью Search Console вы можете собирать данные об эффективности страниц вашего ресурса в Google Поиске. Вам не обязательно регистрироваться в этом сервисе, чтобы ваши страницы попали в результаты поиска. Однако это позволит узнать, как роботы Google воспринимают сайт, и оптимизировать его. Рекомендуем проверять информацию в Search Console в следующих случаях:

  1. После первого размещения структурированных данных
  2. После выпуска новых шаблонов или обновления кода
  3. При регулярном анализе трафика

После первого размещения структурированных данных

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

  1. Внесите исправления.
  2. Проверьте исправленную страницу, чтобы узнать, обнаруживаются ли ошибки по-прежнему.
  3. Запросите проверку ресурса, используя отчет о статусе расширенных результатов.

После выпуска новых шаблонов или обновления кода

Если вы внесли значительные изменения на сайт, проверьте, не увеличилось ли число ошибок и предупреждений, связанных со структурированными данными.
  • Увеличилось число ошибок? Возможно, вы создали шаблон, с которым что-то не так, или имеющийся шаблон используется некорректно.
  • Уменьшилось число действительных элементов, но не увеличилось количество ошибок? Возможно, на ваших страницах не размещены структурированные данные. Выяснить, с чем связаны ошибки, можно при помощи инструмента проверки URL.
  • При регулярном анализе трафика

    Анализировать трафик сайта из Google Поиска можно с помощью отчета об эффективности. Из этого отчета вы узнаете, как часто страница появляется в Поиске в виде расширенного результата, с какой регулярностью пользователи нажимают на нее и какова ее средняя позиция в результатах поиска. Эти сведения также можно автоматически получать с помощью Search Console API.

    Устранение неполадок

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