Cómo publicar tus recetas en Google

Ayuda a los usuarios a encontrar el contenido de tu receta; para ello, bríndale información a Google mediante datos estructurados. Cuando proporcionas datos, como calificaciones de usuarios, tiempos de preparación o cocción, o información nutricional, Google puede comprender mejor tu receta y presentarla a los usuarios de formas interesantes. Las recetas pueden aparecer en los resultados de la Búsqueda de Google y Google Imágenes.

Recetas en la Búsqueda de Google y Google Imágenes

Según el lenguaje de marcado que uses en tu contenido, podrás obtener las siguientes mejoras en tus recetas:

Mejoras en la receta
Recetas guiadas: Permite que Asistente de Google ayude a los usuarios con tus recetas en Google Home y pantallas inteligentes. Para ello, agrega datos estructurados de Recipe. Hay algunas propiedades adicionales que se necesitan para las recetas guiadas, pero que solo se recomiendan para la Búsqueda de Google. Asegúrate de agregar recipeIngredient y recipeInstructions. Si agregas la propiedad video, también debes agregar la propiedad contentUrl.

Para obtener más información sobre las recetas en Asistente de Google, compila Acciones a partir del contenido web.

Receta en Asistente
Carrusel de host de recetas: Agrega datos estructurados de ItemList para permitir que los usuarios exploren las páginas de tu galería de recetas. Carrusel de recetas en la Búsqueda de Google

Cómo agregar datos estructurados

Los datos estructurados son un formato estandarizado para proporcionar información sobre una página y clasificar su contenido. Si aún no estás familiarizado con los datos estructurados, obtén más información sobre cómo funcionan.

A continuación, presentamos una descripción general de cómo compilar, probar y actualizar datos estructurados. Si quieres obtener una guía paso a paso para agregar datos estructurados a una página web, consulta el codelab de datos estructurados.

  1. Agrega las propiedades obligatorias. Según el formato que uses, obtén información sobre dónde insertar datos estructurados en la página.
  2. Sigue los lineamientos.
  3. Valida tu código con la Prueba de resultados enriquecidos.
  4. Implementa algunas páginas que incluyan tus datos estructurados y utiliza la Herramienta de inspección de URL para probar el modo en el que Google ve la página. Asegúrate de que Google pueda acceder a la página y que no esté bloqueada por un archivo robots.txt, una etiqueta noindex ni requisitos de acceso. Si la página se ve bien, puedes pedirle a Google que vuelva a rastrear tus URL.
  5. Para mantener informado a Google sobre los cambios futuros, te recomendamos que envíes un mapa del sitio. Puedes automatizar este proceso con la API del mapa del sitio de Search Console.

Ejemplos

Aquí tienes algunos ejemplos de recetas que usan código JSON-LD.

Recetas guiadas

Aquí tienes un ejemplo de una página que puede aparecer en la Búsqueda de Google y como receta guiada en el Asistente.

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

Receta en la Búsqueda

Aquí tienes un ejemplo de una página que puede aparecer en la Búsqueda.

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

Aquí tienes un ejemplo de una página de resumen de recetas (incluye una lista de recetas) con datos estructurados de itemList. Es posible que este contenido pueda mostrarse en una cuadrícula en los resultados de la Búsqueda.

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

Lineamientos

Debes seguir los lineamientos generales de datos estructurados para que tu receta pueda aparecer en los resultados de la Búsqueda. Si quieres que se muestre como receta guiada en Asistente, asegúrate de que el contenido cumpla con la Política de Restricciones de Contenido de Asistente.

Los siguientes lineamientos se aplican a los datos estructurados de Recipe.

  • Usa datos estructurados de Recipe para el contenido relacionado con la preparación de un plato en particular. Por ejemplo, "exfoliación facial" o "ideas para fiestas" no son nombres válidos para un plato.
  • Para que tus recetas aparezcan en un carrusel o una cuadrícula, debes seguir estos lineamientos:
    • Proporciona datos estructurados del tipo ItemList para resumir las recetas de tu lista. Puedes proporcionar los datos de ItemList por separado o junto con datos estructurados de receta.
    • Tu sitio debe tener una página de resumen en la que se indiquen todas las recetas de la colección. Por ejemplo, cuando un usuario haga clic en el vínculo del resumen que aparezca en los resultados de la Búsqueda, se lo deberá redireccionar a una página de tu sitio en la que se muestren todas las recetas relacionadas con su búsqueda.

Definiciones de tipos de datos estructurados

Debes incluir las propiedades obligatorias si quieres que tu contenido pueda mostrarse como resultado enriquecido en la Búsqueda de Google. También puedes incluir las propiedades recomendadas para agregar más información al respecto y así brindar una mejor experiencia al usuario.

Recipe

Marca el contenido de las recetas con las siguientes propiedades del tipo Recipe de schema.org. La definición completa de Recipe está disponible en schema.org/Recipe.

Propiedades obligatorias
image

URL o ImageObject

Corresponde a la imagen del plato terminado.

Directrices de imágenes adicionales:

  • Cada página debe contener al menos una imagen (con o sin etiquetas). Google elegirá la mejor imagen para mostrarla en los resultados de búsqueda teniendo en cuenta su relación de aspecto y su resolución.
  • Las URLs de imagen deben poder rastrearse e indexarse. Comprueba que Google pueda acceder a tus URLs mediante la herramienta de inspección de URLs.
  • Las imágenes deben ser representativas del contenido etiquetado.
  • Las imágenes deben estar en un formato de archivo compatible con Google Imágenes.
  • Para lograr los mejores resultados, incluye varias imágenes de alta resolución (mínimo de 50.000 píxeles al multiplicar la anchura por la altura) cuya relación de aspecto sea 16x9, 4x3 o 1x1.

Por ejemplo:

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

Text

Corresponde al nombre del plato.

Propiedades recomendadas
aggregateRating

AggregateRating

Corresponde a la anotación del promedio de calificaciones asignadas al elemento. Sigue los lineamientos para los fragmentos de opiniones, así como la lista de propiedades de AggregateRating obligatorias y recomendadas.

Si los datos estructurados de Recipe contienen una sola opinión, el nombre del usuario que deja esa opinión debe ser de una organización o persona válida. Por ejemplo, "50% de descuento en ingredientes" no es un nombre válido para un usuario que deja una opinión.

author

Person o Organization

Es el nombre de la persona o la organización que escribió la receta.

cookTime

Duration

Corresponde al tiempo de cocción del plato, en formato de la norma ISO 8601. Puedes usar una duración máxima y mínima como elementos secundarios para especificar un rango de tiempo.

Se debe usar siempre junto con prepTime.

datePublished

Date

Corresponde a la fecha en la que se publicó la receta, en formato ISO 8601.

description

Text

Corresponde a una breve descripción del plato.

keywords

Text

Corresponde a otros términos de la receta, como la estación ("verano"), el día festivo ("Halloween") y otras palabras que la describen ("rápida", "fácil", "original").

Lineamientos adicionales

  • Separa con comas varias entradas en una lista de palabras clave.
  • No uses una etiqueta que sea en realidad recipeCategory o recipeCuisine.

    No recomendado

    
    "keywords": "dessert, American"
    

    Recomendado

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

Energy

Corresponde a la cantidad de calorías de cada porción que rinde la receta. Si se define nutrition.calories, recipeYield se debe definir con la cantidad de porciones.

prepTime

Duration

Corresponde al tiempo de preparación de los ingredientes y el lugar de trabajo para el plato, en formato ISO 8601. Puedes usar una duración máxima y mínima como elementos secundarios para especificar un rango de tiempo.

Se debe usar siempre junto con cookTime.

recipeCategory

Text

Corresponde al tipo de comida o plato de la receta. Por ejemplo: "cena", "plato principal" o "postre, bocadillo".

recipeCuisine

Text

Corresponde a la región asociada con la receta. Por ejemplo, "francesa" "mediterránea" o "americana".

recipeIngredient

Text

Corresponde a un ingrediente que se usa en la receta.

Por ejemplo:


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

Lineamientos adicionales:

  • Incluye solo el texto de los ingredientes que sean necesarios para preparar la receta.
  • No incluyas información innecesaria, como la definición de un ingrediente.
recipeInstructions

HowToStep, HowToSection o Text

Corresponde a los pasos para preparar el plato.

Existen varias opciones para configurar el valor de recipeInstructions. Se recomienda usar HowToStep. También se puede usar HowToSection para agrupar pasos HowToSteps cuando la receta tiene secciones.

  • HowToStep: Especifica los pasos de la receta con 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 (solo si una receta tiene varias secciones): Úsala para agrupar los pasos en varias secciones. Consulta HowToSection para ver un ejemplo.
  • Propiedad de texto única o repetida: Es un bloque de texto que incluye un paso o varios. Google considera que todos los pasos son parte de una misma sección. Los valores de propiedades repetidas se concatenan en un solo bloque de texto. Google intenta dividir automáticamente el bloque de texto único en pasos individuales. Luego, trata de buscar y quitar nombres de secciones, números de pasos, palabras clave y cualquier otro elemento que pueda aparecer de manera incorrecta en el texto de los pasos de la receta. Para obtener mejores resultados, se recomienda que especifiques los pasos de manera inequívoca con 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."
    ]
    

Lineamientos adicionales

  • No incluyas metadatos que correspondan a otro elemento. En particular, usa la propiedad author para especificar el autor, recipeCuisine para el tipo de cocina, recipeCategory para la categoría y keywords para otras palabras clave.
  • Incluye solo el texto para preparar el plato y no de otra índole, como "Instrucciones", "Mira el video" o "Paso 1". Esas frases se deben especificar fuera de los datos estructurados.

    No recomendado

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

    Recomendado

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

Text o Integer

Corresponde a las cantidades que rinde la receta. Especifica la cantidad de porciones que rinde la receta con un valor numérico. Si deseas usar una unidad diferente (por ejemplo, la cantidad de ingredientes), puedes incluir rendimientos adicionales. Este es un requisito si especificas información nutricional por porción (por ejemplo, nutrition.calories).

Ejemplo


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

Duration

Corresponde al tiempo que lleva preparar y cocinar el plato, en formato ISO 8601. Puedes usar una duración máxima y mínima como elementos secundarios para especificar un rango de tiempo.

Usa totalTime o una combinación de cookTime y prepTime.

video VideoObject

El video muestra los pasos para preparar el plato. Sigue la lista de propiedades de video obligatorias y recomendadas.

  • 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: Es un video con clips que corresponden a segmentos de ese video. Otras partes de la receta (como los pasos) pueden hacer referencia a estos clips, que se definen en 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

Una URL que dirige al archivo multimedia de video real, en uno de los formatos de codificación admitidos. No vincules a la página donde se encuentra el video. Esta debe ser la URL del archivo multimedia del video.


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

Asegúrate de seguir nuestras Recomendaciones de video.

video.hasPart

Clip

Corresponde a un clip que forma parte de todo el video.

video.hasPart.endOffset

Number

Indica la hora de finalización del clip expresada como la cantidad de segundos desde el principio del video.

video.hasPart.name

Text

Corresponde al nombre del clip. Por ejemplo, "Montar base del pastel" podría ser el nombre del clip que muestra cómo montar y presionar la base del pastel en la bandeja de cocción.

video.hasPart.startOffset

Number

Indica la hora de inicio del clip expresada como la cantidad de segundos desde el principio del video.

video.hasPart.url

URL

Es el vínculo que lleva al inicio del clip. El inicio del clip debe coincidir con el valor establecido en video.hasPart.startOffset. Por ejemplo:


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

HowToSection

Usa HowToSection para agrupar una secuencia de pasos (o subsecciones) que forman parte de las instrucciones de una receta. Especifica HowToSection directamente dentro de la definición de la propiedad recipeInstructions, o bien como un itemListElement de otra HowToSection.

El tipo HowToSection define una sección de una sola receta y contiene un solo paso o varios. No uses HowToSection para definir diferentes recetas del mismo plato; en su lugar, usa HowToSection como parte de una sola receta. Para enumerar varias recetas de un mismo plato, usa varios objetos Recipe. Por ejemplo, para hacer una tarta de manzana de diferentes maneras, enuméralas como varios objetos Recipe, no como objetos HowToSection.

La definición completa de HowToSection está disponible en schema.org/HowToSection.

Propiedades obligatorias
itemListElement HowToStep

Corresponde a una lista de los pasos detallados para la sección o subsecciones. Por ejemplo, es posible que una receta de pizza tenga una sección de pasos para preparar la masa, una para los ingredientes y otra para la combinación y la cocción. Si una receta tiene secciones, pero no están definidas con HowToSections, Asistente puede confundir el nombre de la sección y presentarlo como otro paso (por ejemplo, un paso "Hacer la masa" seguido de un paso "Combinar harina y levadura").

Ejemplo:


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

Corresponde al nombre de la sección.

HowToStep

Usa HowToStep para agrupar una o más oraciones que expliquen cómo hacer una parte de la receta. Define la propiedad text con las oraciones, o bien define itemListElement con un objeto HowToDirection o HowToTip para cada oración.

Usa lenguaje de marcado en los pasos de la receta con las siguientes propiedades del tipo HowToStep. Especifica un HowToStep directamente dentro de la definición de la propiedad recipeInstructions o como un itemListElement de una HowToSection.

La definición completa de HowToStep está disponible en schema.org/HowToStep.

Propiedades obligatorias
itemListElement HowToDirection o HowToTip

Corresponde a una lista de pasos secundarios detallados, que incluye instrucciones o sugerencias.

Es opcional si se usa text.

text Text

Corresponde al texto con todas las instrucciones de este paso.

Es opcional si se usa itemListElement. Lineamientos adicionales:

  • Incluye solo texto instructivo y no de otra índole, como "Instrucciones", "Mira el video" o "Paso 1". Esas frases se deben especificar afuera de la propiedad de lenguaje de marcado.

    No recomendado

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

    Recomendado

    
    {
      "@type": "HowToStep",
      "text": "Heat oven to 425°F."
    }
    
Propiedades recomendadas
image ImageObject o URL

Corresponde a una imagen del paso. Lineamientos de imagen adicionales:

  • Las URL de las imágenes se deben poder rastrear e indexar.
  • Las imágenes deben representar el contenido que incluya lenguaje de marcado.
  • Deben estar en formato .jpg, .png o .gif.
name Text

Es la palabra o frase corta que resume un paso (por ejemplo, "Montar base del pastel"). No uses texto que no sea descriptivo (por ejemplo "Paso 1: [texto]") ni números de pasos con otro formato (por ejemplo, "1. [texto]").

url URL

Corresponde a una URL que vincula directamente a un paso (si hay uno disponible). Por ejemplo, un fragmento de vínculo de anclaje.

video VideoObject o Clip

Corresponde a un video para este paso o un clip del video.

Para VideoObject, sigue la lista de propiedades obligatorias y recomendadas de Video o Clip.

HowToDirection y HowToTip

Usa HowToDirection y HowToTip para describir instrucciones o sugerencias. Ambos elementos tienen las mismas propiedades obligatorias y recomendadas.

Las definiciones completas de HowToDirection y HowToTip están disponibles en schema.org/HowToDirection y schema.org/HowToTip.

Propiedades obligatorias
text Text

Corresponde al texto del paso o la sugerencia.

ItemList

Además de las propiedades de recetas, agrega los siguientes elementos a las listas específicas de hosts. Si bien no es obligatorio incluir ItemList, debes agregar las siguientes propiedades si quieres que la receta aparezca en el carrusel de un host. Para obtener más información sobre el carrusel de host, consulta Carrusel.

La definición completa de ItemList está disponible en schema.org/ItemList.

Propiedades obligatorias
itemListElement

ListItem

Corresponde a la anotación para una página de un solo elemento.

ListItem.position

Integer

Corresponde a la posición ordinal de la página del elemento en la lista. Por ejemplo:


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

URL

Es la URL canónica de la página del elemento. Cada elemento debe tener una URL única.

Cómo supervisar resultados enriquecidos con Search Console

Search Console es una herramienta que te ayuda a supervisar el rendimiento de tus páginas en la Búsqueda de Google. Si bien no es necesario que te registres en Search Console para que se incluya tu contenido en los resultados de la Búsqueda de Google, te puede ayudar a comprender y mejorar la forma en que Google ve tu sitio. Te recomendamos que revises Search Console en los siguientes casos:

  1. Después de implementar datos estructurados por primera vez
  2. Después de lanzar plantillas nuevas o actualizar código
  3. Para analizar tráfico periódicamente

Después de implementar datos estructurados por primera vez

Después de que Google haya indexado tus páginas, busca problemas con el informe de estado de resultados enriquecidos relevante. Lo ideal es que haya un aumento de las páginas válidas, y no de los errores ni las advertencias. Si encuentras problemas en los datos estructurados, haz lo siguiente:

  1. Corrige los errores.
  2. Inspecciona una URL publicada para verificar si el problema persiste.
  3. Solicitar una validación mediante el informe de estado.

Después de lanzar plantillas nuevas o actualizar código

Cuando realices cambios significativos en tu sitio web, supervisa los aumentos en las advertencias y los errores de los datos estructurados.
  • Si notas un aumento en la cantidad de errores, tal vez se deba a que implementaste una plantilla que no funciona o a que tu sitio interactúa con la plantilla actual de una forma diferente e incorrecta.
  • Si notas una disminución total de los datos estructurados (que no coincide con un aumento en la cantidad de errores), es posible que ya no estés incorporando datos estructurados en tus páginas. Usa la Herramienta de inspección de URL para saber cuál es la causa del problema.

Cómo analizar el tráfico periódicamente

Analiza el tráfico de la Búsqueda de Google con el Informe de rendimiento. Los datos te mostrarán con qué frecuencia tu página aparece como resultado enriquecido en la Búsqueda, con qué frecuencia los usuarios hacen clic en ella y cuál es la posición promedio en la que apareces en los resultados de la búsqueda. También puedes extraer esos resultados automáticamente con la API de Search Console.

Solución de problemas

Si tienes problemas para implementar o depurar datos estructurados, te brindamos algunos recursos que podrían resultarte útiles.