Afficher vos recettes sur Google

Ajoutez des données structurées à vos recettes pour aider les utilisateurs à trouver plus facilement vos créations culinaires sur Google. Lorsque vous spécifiez des détails tels que les avis des contributeurs, les temps de préparation et de cuisson, et les informations nutritionnelles, Google est plus à même de présenter votre recette aux internautes de façon intéressante. Les recettes peuvent apparaître dans les résultats de recherche Google et dans Google Images.

Recettes dans la recherche Google et Google Images

Selon le balisage de votre contenu, vos recettes peuvent également bénéficier des améliorations suivantes :

Améliorations spécifiques aux recettes
Recettes guidées : permettez à l'Assistant Google de guider les utilisateurs lors de la préparation de vos recettes sur Google Home et les écrans connectés. Pour ce faire, ajoutez des données structurées Recipe. Certaines propriétés supplémentaires recommandées pour la recherche Google sont obligatoires pour les recettes guidées. Veillez à ajouter recipeIngredient et recipeInstructions. Si vous ajoutez la propriété video, vous devez également inclure la propriété contentUrl.

Pour plus d'informations sur l'utilisation des recettes par l'Assistant Google, découvrez comment créer des actions à partir du contenu Web.

Recette sur l'Assistant
Carrousel hôte de recettes : aidez les utilisateurs à explorer les pages de votre galerie de recettes en ajoutant des données structurées ItemList. Carrousel de recettes dans la recherche Google

Exemples

Voici quelques exemples de recettes au format JSON-LD.

Recettes guidées

Voici un exemple de page susceptible d'être affichée dans la recherche Google et sous forme de recette guidée dans l'Assistant Google.



  

Recette dans la recherche Google

Voici un exemple de page pouvant apparaître dans la recherche Google.



  
  

Voici un exemple de page récapitulant des recettes (page contenant une liste de recettes) avec des données structurées itemList. Ce contenu peut s'afficher sous forme de grille dans les résultats de recherche.



    

Consignes

Pour que votre recette puisse s'afficher dans les résultats de recherche, vous devez respecter les consignes générales relatives aux données structurées. Si vous souhaitez que votre recette s'affiche sous forme de recette guidée dans l'Assistant Google, assurez-vous que votre contenu respecte les Règles relatives aux restrictions de contenu de l'Assistant Google.

Les consignes suivantes s'appliquent aux données structurées Recipe.

  • Utilisez des données structurées Recipe pour le contenu ayant trait à la préparation d'un plat particulier. Par exemple, "gommage du visage" ou "idées de fête" ne sont pas des noms valables pour un plat.
  • Pour que vos recettes apparaissent dans un carrousel ou dans une grille, vous devez respecter les consignes suivantes :
    • Fournissez des données structurées ItemList pour récapituler les recettes que vous voulez ajouter à la liste. Vous pouvez fournir des données structurées ItemList séparément ou avec des données structurées de recette.
    • Votre site doit contenir une page récapitulative qui répertorie toutes les recettes de la collection. Par exemple, lorsqu'un internaute clique sur le lien de la page récapitulative dans les résultats de recherche, il doit être redirigé vers une page de votre site répertoriant les recettes associées à sa recherche.

Définitions des types de données structurées

Vous devez inclure les propriétés obligatoires pour que votre contenu puisse s'afficher sous forme de résultat enrichi dans la recherche Google. Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations à votre contenu et ainsi offrir une meilleure expérience utilisateur.

Recipe

Balisez le contenu de votre recette avec les propriétés suivantes du type Recipe schema.org. La définition complète de l'élément Recipe est disponible sur schema.org/Recipe.

Propriétés obligatoires
image

URL ou ImageObject

Image du plat terminé.

name

Text

Nom du plat.

Propriétés recommandées
aggregateRating

AggregateRating

Annotation désignant la note moyenne attribuée à l'élément. Respectez les Consignes relatives aux extraits d'avis ainsi que la liste des propriétésAggregateRating obligatoires et recommandées.

Si les données structurées Recipe contiennent un seul avis, le nom de son auteur doit correspondre à une personne, ou à une organisation ou entreprise valide. Par exemple "50 % de remise sur les ingrédients" n'est pas un nom valide.

author

Person ou Organization

Nom de la personne ou de l'organisation qui a rédigé la recette.

cookTime

Duration

Temps de cuisson du plat, au format ISO 8601. Vous pouvez utiliser "min" et "max" comme éléments enfants pour spécifier une plage de temps.

Utilisez toujours cette propriété conjointement avec prepTime.

datePublished

Date

Date à laquelle la recette a été publiée, au format ISO 8601.

description

Text

Brève description du plat.

keywords

Text

Autres termes liés à la recette tels que la saison ("été"), l'occasion spéciale ("Halloween") ou d'autres descripteurs ("rapide", "facile", "authentique").

Consignes supplémentaires

  • Séparez plusieurs entrées d'une liste de mots clés par des virgules.
  • N'utilisez pas de balise correspondant à recipeCategory ou recipeCuisine.

    Approche déconseillée

    
    "keywords": "dessert, American"
    

    Approche conseillée

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

Energy

Nombre de calories de chaque portion pour cette recette. Si nutrition.calories est spécifié, recipeYield doit être défini avec le nombre de portions.

prepTime

Duration

Temps de préparation des ingrédients et espace de travail pour la préparation du plat, au format ISO 8601. Vous pouvez utiliser "min" et "max" comme éléments enfants pour spécifier une plage de temps.

Utilisez toujours cette propriété conjointement avec cookTime.

recipeCategory

Text

Type de repas ou de plat dont la recette fait l'objet. Exemple : "dîner", "plat principal" ou "dessert, collation".

recipeCuisine

Text

Région associée à la recette. Exemple : "France", "Méditerranée" ou 'États-Unis".

recipeIngredient

Text

Un des ingrédients utilisés dans la recette.

Exemple :


"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"
]

Consignes supplémentaires :

  • Incluez uniquement le texte de l'ingrédient nécessaire à la préparation de la recette.
  • N'incluez pas d'informations inutiles, telles que la définition de l'ingrédient.
recipeInstructions

HowToStep, HowToSection ou Text

Étapes de préparation du plat.

Plusieurs options permettent de définir la valeur de recipeInstructions. Pour des raisons de clarté, nous recommandons l'utilisation de HowToStep. HowToSection peut également être utilisé pour regrouper des propriétés HowToStep lorsque la recette comporte plusieurs sections.

  • HowToStep : spécifiez les étapes de cette recette avec 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 (uniquement si une recette se fait en plusieurs parties) : permet de regrouper les étapes en plusieurs sections. Pour consulter un exemple, voir HowToSection.
  • Propriété de texte unique ou répétée : bloc de texte comprenant une ou plusieurs étapes. Google traite toutes les étapes dans une seule section. Les propriétés de champs répétées sont concaténées dans un seul bloc de texte. Google tente ensuite de scinder automatiquement le bloc de texte en étapes individuelles. Google tente de rechercher et de supprimer les noms de section, les numéros d'étape, les mots clés et tout élément susceptible d'apparaître de manière incorrecte dans le texte des étapes de la recette. Pour de meilleurs résultats, nous vous recommandons de spécifier les étapes avec 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."
    ]
    

Consignes supplémentaires

  • N'incluez pas de métadonnées qui ne sont pas pertinentes. En particulier, utilisez la propriété author pour spécifier l'auteur, recipeCuisine pour la cuisine, recipeCategory pour la catégorie et keywords pour les autres mots clés.
  • N'incluez que le texte décrivant comment préparer le plat, pas de texte tel que "Instructions", "Regarder la vidéo", "Étape 1". Indiquez ces expressions en dehors des données structurées.

    Approche déconseillée

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

    Approche conseillée

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

Text ou Integer

Quantité produite par la recette. Indiquez le nombre de portions que cette recette permet de préparer. Si vous souhaitez utiliser une autre unité (par exemple, le nombre d'éléments), vous pouvez inclure des champs supplémentaires. Cela est obligatoire si vous spécifiez des informations nutritionnelles par portion (par exemple, nutrition.calories).

Exemple


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

Duration

Temps total de préparation du plat, au format ISO 8601. Vous pouvez utiliser "min" et "max" comme éléments enfants pour spécifier une plage de temps.

Utilisez totalTime ou une combinaison de cookTime et prepTime.

video VideoObject

Vidéo illustrant les étapes de préparation du plat. Respectez la liste des propriétés vidéo obligatoires et recommandées.

  • 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 : vidéo comportant des extraits correspondant à des segments de la vidéo. D'autres sections de la recette (telles que les étapes) peuvent faire référence à ces extraits, qui sont définis dans 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 pointant vers le fichier multimédia vidéo réel, dans l'un des formats d'encodage compatibles. Ne créez pas de lien vers la page contenant la vidéo. Il doit s'agir de l'URL du fichier vidéo lui-même.


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

Assurez-vous de suivre nos bonnes pratiques en matière de vidéo.

video.hasPart

Clip

Clip vidéo faisant partie de l'intégralité de la vidéo.

video.hasPart.endOffset

Number

Heure de fin de l'extrait, exprimée en nombre de secondes à partir du début de la vidéo.

video.hasPart.name

Text

Nom de l'extrait vidéo. Par exemple, "Disposer la pâte à tarte" pourrait être le nom de l'extrait qui montre comment disposer la pâte dans le moule à tarte.

video.hasPart.startOffset

Number

Heure de début de l'extrait, exprimée en nombre de secondes à partir du début de la vidéo.

video.hasPart.url

URL

Lien vers le début de l'extrait vidéo. Le début de l'extrait doit correspondre à la valeur définie dans video.hasPart.startOffset. Exemple :


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

HowToSection

Utilisez HowToSection pour regrouper une séquence d'étapes (ou de sous-sections) qui font partie des instructions d'une recette. Spécifiez HowToSection directement dans la définition de la propriété recipeInstructions ou comme itemListElement d'une autre propriété HowToSection.

Le type HowToSection définit une section d'une recette unique et contient une ou plusieurs étapes. N'utilisez pas HowToSection pour définir différentes recettes pour un même plat. HowToSection est destiné à une seule et même recette. Si vous souhaitez répertorier plusieurs recettes pour un même plat, utilisez plusieurs objets Recipe. Par exemple, pour spécifier plusieurs façons de préparer une tarte aux pommes, répertoriez-les comme plusieurs objets Recipe, et non comme des objets HowToSection.

La définition complète de la propriété HowToSection est disponible sur schema.org/HowToSection.

Propriétés obligatoires
itemListElement HowToStep

Liste des étapes détaillées de la section et/ou des sous-sections. Par exemple, une recette de pizza peut comporter un ensemble d'étapes pour la préparation de la pâte, un autre pour la préparation de la garniture, puis un autre pour expliquer comment cuire la pâte et la garniture ensemble. Si une recette comporte plusieurs sections, mais qu'elles ne sont pas définies par HowToSections, l'Assistant Google peut présenter à tort le nom d'une section comme s'il s'agissait d'une étape supplémentaire (par exemple, il peut annoncer l'étape "Préparation de la pâte" suivie de l'étape "Mélanger la farine et la levure").

Exemple :


{
  "@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

Nom de la section.

HowToStep

Utilisez HowToStep pour regrouper une ou plusieurs phrases expliquant comment réaliser une partie de la recette. Spécifiez la propriété text avec les phrases ou, alternativement, définissez itemListElement avec un élément HowToDirection ou HowToTip pour chaque phrase.

Vous pouvez baliser les étapes de la recette avec les propriétés suivantes de type HowToStep. Spécifiez un élément HowToStep directement dans la définition de la propriété recipeInstructions ou comme élément itemListElement d'une propriété HowToSection.

La définition complète de la propriété HowToStep est disponible sur schema.org/HowToStep.

Propriétés obligatoires
itemListElement HowToDirection ou HowToTip

Liste d'étapes secondaires détaillées comprenant des instructions ou des conseils.

Propriété facultative si l'élément text est utilisé.

text Text

Instructions écrites complètes de cette étape.

Propriété facultative si l'élément itemListElement est utilisé. Consignes supplémentaires :

  • N'incluez que le texte décrivant comment préparer la recette, pas le texte tel que "Instructions", "Regarder la vidéo", "Étape 1". Spécifiez ces expressions en dehors de la propriété balisée.

    Approche déconseillée

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

    Approche conseillée

    
    {
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }
    
Propriétés recommandées
image ImageObject ou URL

Image représentant l'étape. Consignes supplémentaires relatives aux images :

  • Les URL des images doivent être explorables et indexables.
  • Les images doivent représenter le contenu balisé.
  • Les images doivent être au format .jpg, .png ou .gif.
name Text

Mot ou courte expression résumant l'étape (par exemple, "Disposer la pâte à tarte"). N'utilisez pas de texte non descriptif (par exemple, "Étape 1 : [texte]") ni d'autre forme de numérotation d'étape (par exemple, "1. [texte]").

url URL

URL qui renvoie directement à l'étape (le cas échéant). Il peut, par exemple, s'agir du fragment d'un lien d'ancrage.

video VideoObject ou Clip

Vidéo représentant cette étape ou clip de la vidéo.

Pour VideoObject, suivez la liste des propriétés de vidéo ou d'extrait vidéo obligatoires et recommandées.

HowToDirection et HowToTip

Utilisez HowToDirection et HowToTip pour décrire des instructions ou des conseils. Leurs propriétés obligatoires et facultatives sont identiques.

Les définitions complètes des éléments HowToDirection et HowToTip sont disponibles sur schema.org/HowToDirection et schema.org/HowToTip.

Propriétés obligatoires
text Text

Texte de l'instruction ou du conseil.

ItemList

Outre les propriétés de recette, ajoutez les propriétés suivantes pour les listes spécifiques à l'hôte. Bien que ItemList ne soit pas obligatoire, vous devez ajouter les propriétés suivantes si vous souhaitez que votre recette puisse s'afficher dans un carrousel hôte. Pour plus d'informations sur le carrousel hôte, consultez la section Carrousel.

La définition complète de l'élément ItemList est disponible sur schema.org/ItemList.

Propriétés obligatoires
itemListElement

ListItem

Annotation désignant une page relative à un seul élément.

ListItem.position

Integer

Position ordinale de la page relative à un élément dans la liste. Exemple :


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

URL

URL canonique de la page relative à un élément. Chaque élément doit avoir une URL unique.