Datos estructurados de vídeo (VideoObject, Clip y BroadcastEvent)

La Búsqueda de Google es la puerta de entrada para que los usuarios descubran y vean tus vídeos. Aunque Google intenta interpretar automáticamente los detalles de tu vídeo, puedes marcarlo con VideoObject para proporcionarle explícitamente determinados datos, como la descripción, la URL de la miniatura, la fecha de subida y la duración. Los vídeos pueden aparecer en los resultados de búsqueda de Google, en los resultados de búsqueda de vídeos, en Google Imágenes y en Google Discover.

Una captura de pantalla que muestra contenido de vídeo en los resultados de búsqueda de Google, la pestaña de vídeos y Discover

En función de cómo marques tu contenido, es posible que tus vídeos también puedan optar a las siguientes mejoras de vídeo:

Mejoras de vídeo

Insignia EN DIRECTO: añade una insignia EN DIRECTO a tu vídeo marcándolo con BroadcastEvent. La insignia EN DIRECTO se puede aplicar a cualquier vídeo público de cualquier duración que se emita en directo. A continuación mostramos algunos ejemplos:

  • Eventos deportivos
  • Programas de entrega de premios
  • Vídeos de influencers
  • Emisiones en directo de videojuegos

Sigue las directrices de la insignia EN DIRECTO y asegúrate de que Google rastree tu página en el momento oportuno mediante la API Indexing.

Vídeo con una insignia EN DIRECTO en los resultados de búsqueda

Actividades en casa: ayuda a los usuarios a encontrar qué hacer en casa. Cuando alguien busca algo que hacer en casa, se muestran vídeos y eventos online en resultados enriquecidos inmersivos. Si añades datos estructurados de Video a tus vídeos, es posible que ya puedan aparecer en este tipo de resultados sin que tengas que hacer nada más.

Puedes consultar más información sobre la disponibilidad de esta función, así como directrices y ejemplos, en la página Actividades en casa.

Actividades en casa en los resultados de búsqueda

Momentos clave

La función de momentos clave es una forma de que los usuarios se desplacen por los segmentos de un vídeo como si fueran capítulos de un libro. De este modo, los usuarios pueden interactuar más con tu contenido. La Búsqueda de Google trata de detectar automáticamente los diferentes segmentos de tu vídeo y mostrar a los usuarios los momentos clave sin que tengas que hacer nada. Si lo prefieres, puedes indicar manualmente a Google cuáles son los momentos importantes de tu vídeo. Daremos prioridad a los momentos clave que indiques, ya sea mediante datos estructurados o mediante la descripción de YouTube.

  • Si el vídeo está alojado en tu página web, tienes dos formas de habilitar la función de momentos clave:
    • Datos estructurados de Clip: indica de forma precisa cuándo deben empezar y terminar los segmentos, y proporciona la etiqueta que se mostrará en cada uno de ellos. Esta opción está disponible en todos los idiomas en los que se puede usar la Búsqueda de Google.
    • Datos estructurados de SeekToAction: indica a Google en qué parte de la estructura de tus URLs suelen estar las marcas de tiempo para que pueda detectar automáticamente los momentos clave y mostrar a los usuarios enlaces a ellos. Esta opción está disponible en alemán, chino, coreano, español, francés, inglés, italiano, japonés, neerlandés, portugués, ruso y turco. Nuestro objetivo es que esté disponible en más idiomas más adelante. Incluso en los idiomas admitidos, no todos los vídeos tendrán momentos clave identificados, pero también esperamos mejorarlo con el tiempo.
  • Si tu vídeo está alojado en YouTube, puedes especificar las marcas de tiempo y las etiquetas exactas en la descripción del vídeo de la plataforma. Consulta las prácticas recomendadas para poner marcas de tiempo en descripciones de YouTube. Esta opción está disponible en todos los idiomas en los que se puede usar la Búsqueda de Google.

    Si quieres habilitar los capítulos de vídeo en YouTube, sigue estas directrices adicionales.

Para inhabilitar por completo la función de momentos clave, impidiendo incluso que Google muestre automáticamente momentos clave de tu vídeo, usa la etiqueta meta nosnippet.

Vídeo con momentos clave en los resultados de búsqueda
Carrusel de host de vídeo (acceso limitado): permite que los usuarios exploren las páginas de tu galería de vídeos añadiendo datos estructurados de ItemList. >Por ahora, esta función solo se ofrece a un pequeño grupo de proveedores. La Búsqueda de Google puede mostrar automáticamente un carrusel de host relacionado con tu sitio aunque no hayas añadido datos estructurados de ItemList.

Vídeo formativo: ayuda a alumnos y profesores a encontrar tus vídeos educativos añadiendo datos estructurados de vídeo formativo. Puedes consultar más información sobre la disponibilidad de esta función, así como directrices y ejemplos, en la documentación sobre vídeos formativos.

Vídeo formativo en los resultados de búsqueda

Cómo añadir datos estructurados

Los datos estructurados son un formato estandarizado con el que se puede proporcionar información sobre una página y clasificar su contenido. Consulta cómo funcionan los datos estructurados si aún no te has familiarizado con ellos.

A continuación se explica a grandes rasgos cómo crear, probar y publicar datos estructurados. Si necesitas una guía detallada para añadir datos estructurados a una página web, consulta el codelab de datos estructurados.

  1. Añade las propiedades obligatorias. Consulta más información sobre dónde insertar datos estructurados en una página en función del formato que estés utilizando.
  2. Sigue las directrices.
  3. Valida tu código con la prueba de resultados enriquecidos y corrige los errores críticos. Te recomendamos que también corrijas los problemas no críticos que puedan marcarse en la herramienta, ya que pueden ayudar a mejorar la calidad de los datos estructurados (sin embargo, esto no es necesario para que se muestren los resultados enriquecidos).
  4. Crea varias páginas que incluyan tus datos estructurados y comprueba cómo las ve Google con la herramienta de inspección de URLs. Asegúrate de que Google pueda acceder a tu página y de que no esté bloqueada por un archivo robots.txt, por la etiqueta noindex ni por requisitos de inicio de sesión. Si la página se ve bien, puedes solicitar que Google vuelva a rastrear tus URLs.
  5. Para que Google siempre tenga la versión actualizada de tus páginas, te recomendamos que envíes un sitemap. Puedes automatizar este envío con la API Sitemap de Search Console.

Ejemplos

Resultado enriquecido de vídeo estándar

Ejemplo de resultados de búsqueda de vídeo estándar

A continuación, se muestra un ejemplo de un único VideoObject.

JSON-LD

<html>
  <head>
    <title>Introducing the self-driving bicycle in the Netherlands</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "VideoObject",
      "name": "Introducing the self-driving bicycle in the Netherlands",
      "description": "This spring, Google is introducing the self-driving bicycle in Amsterdam, the world's premier cycling city. The Dutch cycle more than any other nation in the world, almost 900 kilometres per year per person, amounting to over 15 billion kilometres annually. The self-driving bicycle enables safe navigation through the city for Amsterdam residents, and furthers Google's ambition to improve urban mobility with technology. Google Netherlands takes enormous pride in the fact that a Dutch team worked on this innovation that will have great impact in their home country.",
      "thumbnailUrl": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "uploadDate": "2016-03-31T08:00:00+08:00",
      "duration": "PT1M54S",
      "contentUrl": "https://www.example.com/video/123/file.mp4",
      "embedUrl": "https://www.example.com/embed/123",
      "interactionStatistic": {
        "@type": "InteractionCounter",
        "interactionType": { "@type": "WatchAction" },
        "userInteractionCount": 5647018
      },
      "regionsAllowed": "US,NL"
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdatos

<html itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
<head>
  <title itemprop="name">Introducing the self-driving bicycle in the Netherlands</title>
</head>
<body>
  <meta itemprop="uploadDate" content="2016-03-31T08:00:00+08:00" />
  <meta itemprop="duration" content="PT1M54S" />
  <p itemprop="description">This spring, Google is introducing the self-driving bicycle in Amsterdam, the world's premier cycling city. The Dutch cycle more than any other nation in the world, almost 900 kilometres per year per person, amounting to over 15 billion kilometres annually. The self-driving bicycle enables safe navigation through the city for Amsterdam residents, and furthers Google's ambition to improve urban mobility with technology. Google Netherlands takes enormous pride in the fact that a Dutch team worked on this innovation that will have great impact in their home country.</p>
  <div itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope>
    <meta itemprop="userInteractionCount" content="5647018" />
    <meta itemprop="interactionType" itemtype="https://schema.org/WatchAction" />
  </div>
  <link itemprop="embedUrl" href="https://www.example.com/embed/123" />
  <meta itemprop="contentUrl" content="https://www.example.com/video/123/file.mp4" />
  <meta itemprop="regionsAllowed" content="US,NL" />
  <meta itemprop="thumbnailUrl" content="https://example.com/photos/1x1/photo.jpg" />
</body>
</html>

Insignia EN DIRECTO

Ejemplo de un vídeo en los resultados de búsqueda con la insignia EN DIRECTO

Este sería un ejemplo de VideoObject y BroadcastEvent.

JSON-LD

<html>
  <head>
    <title>Bald Eagle at the Park - Livestream</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "VideoObject",
      "contentURL": "https://example.com/bald-eagle-at-the-park.mp4",
      "description": "Bald eagle at the park livestream.",
      "duration": "PT37M14S",
      "embedUrl": "https://example.com/bald-eagle-at-the-park",
      "expires": "2018-10-30T14:37:14+00:00",
      "regionsAllowed": "US",
      "interactionStatistic": {
        "@type": "InteractionCounter",
        "interactionType": { "@type": "WatchAction" },
        "userInteractionCount": 4756
      },
      "name": "Bald eagle nest livestream!",
      "thumbnailUrl": "https://example.com/bald-eagle-at-the-park",
      "uploadDate": "2018-10-27T14:00:00+00:00",
      "publication": [
        {
          "@type": "BroadcastEvent",
          "isLiveBroadcast": true,
          "startDate": "2018-10-27T14:00:00+00:00",
          "endDate": "2018-10-27T14:37:14+00:00"
        },
        {
          "@type": "BroadcastEvent",
          "isLiveBroadcast": true,
          "startDate": "2018-10-27T18:00:00+00:00",
          "endDate": "2018-10-27T18:37:14+00:00"
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdatos

<html itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
<head>
  <title itemprop="name">Bald Eagle at the Park - Livestream</title>
</head>
<body>
  <meta itemprop="uploadDate" content="2018-10-27T14:00:00+00:00" />
  <meta itemprop="duration" content="PT37M14S" />
  <p itemprop="description">Bald eagle at the park livestream.</p>
  <div itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope>
    <meta itemprop="userInteractionCount" content="4756" />
    <meta itemprop="interactionType" itemtype="https://schema.org/WatchAction" />
  </div>
  <link itemprop="embedUrl" href="https://example.com/bald-eagle-at-the-park" />
  <meta itemprop="expires" content="2018-10-30T14:37:14+00:00" />
  <meta itemprop="contentUrl" content="https://example.com/bald-eagle-at-the-park.mp4" />
  <meta itemprop="regionsAllowed" content="US" />
  <meta itemprop="thumbnailUrl" content="https://example.com/bald-eagle-at-the-park" />
  <div itemprop="publication" itemtype="https://schema.org/BroadcastEvent" itemscope>
    <meta itemprop="isLiveBroadcast" content="true" />
    <meta itemprop="startDate" content="2018-10-27T14:00:00+00:00" />
    <meta itemprop="endDate" content="2018-10-27T14:37:14+00:00" />
  </div>
  <div itemprop="publication" itemtype="https://schema.org/BroadcastEvent" itemscope>
    <meta itemprop="isLiveBroadcast" content="true" />
    <meta itemprop="startDate" content="2018-10-27T18:00:00+00:00" />
    <meta itemprop="endDate" content="2018-10-27T18:37:14+00:00" />
  </div>
</body>
</html>

A continuación, se muestra un ejemplo de datos estructurados de VideoObject y ItemList. En estos momentos, esta función solo se ofrece a un pequeño grupo de proveedores.

JSON-LD

<html>
  <head>
    <title>Introducing the self-driving bicycle in the Netherlands</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "VideoObject",
          "position": 1,
          "name": "Introducing the self-driving bicycle in the Netherlands",
          "url": "https://www.example.com/video/self-driving-bicycle",
          "description": "This spring, Google is introducing the self-driving bicycle in Amsterdam, the world's premier cycling city. The Dutch cycle more than any other nation in the world, almost 900 kilometres per year per person, amounting to over 15 billion kilometres annually. The self-driving bicycle enables safe navigation through the city for Amsterdam residents, and furthers Google's ambition to improve urban mobility with technology. Google Netherlands takes enormous pride in the fact that a Dutch team worked on this innovation that will have great impact in their home country.",
          "thumbnailUrl": [
            "https://www.example.com/video/self-driving-bicycle/1x1/photo.jpg",
            "https://www.example.com/video/self-driving-bicycle/4x3/photo.jpg",
            "https://www.example.com/video/self-driving-bicycle/16x9/photo.jpg"
          ],
          "uploadDate": "2016-03-31T08:00:00+08:00",
          "duration": "PT1M54S",
          "contentUrl": "https://www.example.com/video/self-driving-bicycle/file.mp4",
          "embedUrl": "https://www.example.com/embed/self-driving-bicycle",
          "interactionStatistic": {
            "@type": "InteractionCounter",
            "interactionType": { "@type": "WatchAction" },
            "userInteractionCount": 5647018
          }
        },
        {
          "@type": "VideoObject",
          "position": 2,
          "name": "How to tie a tie",
          "url": "https://www.example.com/video/how-to-tie-a-tie",
          "description": "How to tie a four-in-hand knot.",
          "thumbnailUrl": [
            "https://www.example.com/video/how-to-tie-a-tie/1x1/photo.jpg",
            "https://www.example.com/video/how-to-tie-a-tie/4x3/photo.jpg",
            "https://www.example.com/video/how-to-tie-a-tie/16x9/photo.jpg"
          ],
          "uploadDate": "2019-02-28T08:00:00+08:00",
          "duration": "PT5M01S",
          "contentUrl": "https://www.example.com/video/how-to-tie-a-tie/file.mp4",
          "embedUrl": "https://www.example.com/embed/how-to-tie-a-tie",
          "interactionStatistic": {
            "@type": "InteractionCounter",
            "interactionType": { "@type": "WatchAction" },
            "userInteractionCount": 102111
          }
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdatos

<div>
      <div itemprop="video" itemscope itemtype="https://schema.org/VideoObject">
        <!-- Thumbnail -->
        <a href="https://example.com/videos/self-driving-bicycle"
           title="Introducing the self-driving bicycle in the Netherlands">
          <img src="https://example.com/videos/self-driving-bicycle/thumbnail.jpg"
               alt="Introducing the self-driving bicycle in the Netherlands"
               title="Introducing the self-driving bicycle in the Netherlands"
               itemprop="thumbnailUrl">
        </a>
        <!-- URL, name, and description -->
        <h1>
          <a itemprop="contentUrl" href="https://example.com/videos/self-driving-bicycle"
             title="Introducing the self-driving bicycle in the Netherlands">
            <span itemprop="name">Introducing the self-driving bicycle in the Netherlands</span>
          </a>
        </h1>
        <a href="https://example.com/videos/self-driving-bicycle"
             title="Introducing the self-driving bicycle in the Netherlands">
          <div itemprop="description">"This spring, Google is introducing the self-driving bicycle
            in Amsterdam, the world's premier cycling city. The Dutch cycle more than any other
            nation in the world, almost 900 kilometres per year per person, amounting to over 15
            billion kilometres annually. The self-driving bicycle enables safe navigation through
            the city for Amsterdam residents, and furthers Google's ambition to improve urban
            mobility with technology. Google Netherlands takes enormous pride in the fact that a
            Dutch team worked on this innovation that will have great impact in their home country.
          "</div>
        </a>
        <!-- Other metadata -->
        <meta itemprop="duration" content="PT1M54S" />
        <meta itemprop="uploadDate" content="2016-03-31T08:00:00+08:00" />
        <span itemprop="interactionStatistic" itemscope itemtype="https://schema.org/InteractionCounter">
        	<span itemprop="interactionType" itemscope itemtype="https://schema.org/WatchAction"></span>
        	<meta itemprop="userInteractionCount" content="5647018" />
        </span>
      </div>

      <div itemprop="video" itemscope itemtype="https://schema.org/VideoObject">
        <!-- Thumbnail -->
        <a href="https://example.com/videos/how-to-tie-a-tie"
           title="How to tie a tie">
          <img src="https://example.com/videos/how-to-tie-a-tie/thumbnail.jpg"
               alt="How to tie a tie"
               title="How to tie a tie"
               itemprop="thumbnailUrl">
        </a>
        <!-- URL, name, and description -->
        <h1>
          <a itemprop="contentUrl" href="https://example.com/videos/how-to-tie-a-tie"
             title="Tie a Tie">
            <span itemprop="name">Tie a Tie</span>
          </a>
        </h1>
        <a href="https://example.com/videos/how-to-tie-a-tie"
             title="Tie a Tie">
          <div itemprop="description">How to tie a four-in-hand knot.</div>
        </a>
        <!-- Other metadata -->
        <meta itemprop="duration" content="PT5M01S" />
        <meta itemprop="uploadDate" content="2019-01-05T08:00:00+08:00" />
        <span itemprop="interactionStatistic" itemscope itemtype="https://schema.org/InteractionCounter">
        	<span itemprop="interactionType" itemscope itemtype="https://schema.org/WatchAction"></span>
        	<meta itemprop="userInteractionCount" content="102111" />
        </span>
      </div>
    </div>
  

Clip

Ejemplo de un vídeo que incluye momentos clave en los resultados de búsqueda

Este sería un ejemplo de VideoObject y Clip.

JSON-LD

<html>
  <head>
    <title>Cat jumps over the fence</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "VideoObject",
      "name": "Cat video",
      "duration": "PT10M",
      "uploadDate": "2019-07-19T08:00:00+08:00",
      "thumbnailUrl": "https://www.example.com/cat.jpg",
      "description": "Watch this cat jump over a fence!",
      "contentUrl": "https://www.example.com/cat_video_full.mp4",
      "regionsAllowed": "US",
      "hasPart": [{
        "@type": "Clip",
        "name": "Cat jumps",
        "startOffset": 30,
        "endOffset": 45,
        "url": "https://www.example.com/example?t=30"
      },
      {
        "@type": "Clip",
        "name": "Cat misses the fence",
        "startOffset": 111,
        "endOffset": 150,
        "url": "https://www.example.com/example?t=111"
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdatos

<html itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
<head>
  <title itemprop="name">Cat jumps over the fence</title>
</head>
<body>
  <meta itemprop="uploadDate" content="2019-07-19" />
  <meta itemprop="duration" content="P10M" />
  <p itemprop="description">Watch this cat jump over a fence!</p>
  <div itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope>
    <meta itemprop="userInteractionCount" content="5647018" />
    <meta itemprop="interactionType" itemtype="https://schema.org/WatchAction" />
  </div>
  <div itemprop="hasPart" itemtype="https://schema.org/Clip" itemscope>
    <meta itemprop="name" content="Cat jumps" />
    <meta itemprop="startOffset" content="30" />
    <meta itemprop="endOffset" content="45" />
    <meta itemprop="url" content="https://www.example.com/example?t=30" />
  </div>
  <div itemprop="hasPart" itemtype="https://schema.org/Clip" itemscope>
    <meta itemprop="name" content="Cat misses the fence" />
    <meta itemprop="startOffset" content="111" />
    <meta itemprop="endOffset" content="150" />
    <meta itemprop="url" content="https://www.example.com/example?t=111" />
  </div>
  <link itemprop="embedUrl" href="https://www.example.com/embed/123" />
  <meta itemprop="contentUrl" content="https://www.example.com/cat_video_full.mp4" />
  <meta itemprop="regionsAllowed" content="US" />
  <meta itemprop="thumbnailUrl" content="https://www.example.com/cat.jpg" />
</body>
</html>

SeekToAction

A continuación, se muestra un ejemplo de un solo objeto VideoObject que incluye las propiedades adicionales necesarias del marcado SeekToAction.

JSON-LD

<html>
  <head>
    <title>John Smith (@johnsmith123) on VideoApp: My daily workout! #stayingfit</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "VideoObject",
      "potentialAction" : {
        "@type": "SeekToAction",
        "target": "https://video.example.com/watch/videoID?t={seek_to_second_number}",
        "startOffset-input": "required name=seek_to_second_number"
      },
      "name": "My daily workout!",
      "uploadDate": "2020-07-19T08:00:00+08:00",
      "thumbnailUrl": "https://www.example.com/daily-workout.jpg",
      "description": "My daily workout!",
      "embedUrl": "https://example.com/daily-workout"
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdatos

<html itemscope itemprop="VideoObject" itemtype="https://schema.org/VideoObject">
<head>
  <title itemprop="name">John Smith (@johnsmith123) on VideoApp: My daily workout! #stayingfit</title>
</head>
<body>
  <meta itemprop="uploadDate" content="2020-07-19" />
  <p itemprop="description">My daily workout!</p>
  <div itemprop="potentialAction" itemtype="https://schema.org/SeekToAction" itemscope>
    <meta itemprop="target" content="https://video.example.com/watch/videoID?t={seek_to_second_number}" />
    <meta itemprop="startOffset-input" content="required name=seek_to_second_number" />
  </div>
  <link itemprop="embedUrl" href="https://example.com/daily-workout" />
  <meta itemprop="thumbnailUrl" content="https://www.example.com/daily-workout.jpg" />
</body>
</html>

Directrices

Para ayudar a Google a comprender mejor tu vídeo, sigue estas directrices:

Directrices de la insignia EN DIRECTO

Si añades BroadcastEvent a emisiones en directo, sigue estas directrices:

  • No incluyas lenguaje vulgar o potencialmente ofensivo en tus datos estructurados.
  • Asegúrate de que Google rastree los vídeos que emites en directo en el momento oportuno con la API Indexing. Llama a la API cuando se produzcan estos eventos:
    • Cuando el vídeo comience a emitirse en directo.
    • Cuando el vídeo haya dejado de emitirse y las etiquetas de la página se hayan actualizado para indicar el valor de endDate.
    • Cada vez que se produzca un cambio en las etiquetas y Google deba recibir una notificación.

Prácticas recomendadas para indicar las marcas de tiempo en YouTube

Si tu vídeo está alojado en YouTube, la Búsqueda de Google puede habilitar automáticamente momentos clave en él a partir de la descripción del vídeo en YouTube, y a veces puede hacerlo sin que haya marcas de tiempo específicas en la descripción de YouTube. No obstante, si nos indicas de forma más explícita cuáles son los puntos importantes de tu vídeo, daremos prioridad a esa información. En el siguiente diagrama se muestra cómo pueden aparecer las marcas de tiempo y las etiquetas de una descripción de vídeo de YouTube en los resultados de búsqueda:

Un vídeo en los resultados de búsqueda con marcas de tiempo y etiquetas
1. Etiqueta: el nombre del clip.
2. Marca de tiempo: cuando se inicia un clip.

Ten en cuenta las siguientes directrices al aplicar formato a las marcas de tiempo y a las etiquetas de las descripciones de YouTube:

  • Utiliza el siguiente formato para las marcas de tiempo: [hour]:[minute]:[second]. Si no hay ninguna hora, no es necesario que la incluyas.
  • Especifica la etiqueta de la marca de tiempo en la misma línea que esta.
  • Coloca cada marca de tiempo en una nueva línea en la descripción del vídeo.
  • Vincula la marca de tiempo con el punto especificado del vídeo.
  • Asegúrate de que la etiqueta contenga al menos una palabra.
  • Enumera las marcas de tiempo en orden cronológico.

Si quieres habilitar los capítulos de vídeo en YouTube, sigue estas directrices adicionales.

Directrices sobre Clip y SeekToAction

Si añades datos estructurados de Clip o de SeekToAction para marcar segmentos de vídeo, sigue estas directrices:

  • Debe poderse añadir un enlace profundo a un punto distinto del punto de inicio de la URL del vídeo. Por ejemplo, https://www.example.com/example?t=30 empieza a los 30 segundos de un vídeo.
  • Se deben añadir datos estructurados de VideoObject a una página donde los usuarios puedan ver el vídeo. Dirigir a los usuarios a una página en la que no pueden ver el vídeo ofrece una mala experiencia de usuario.
  • El vídeo debe durar al menos 30 segundos.
  • El vídeo debe incluir las propiedades obligatorias que se indican en la documentación de datos estructurados de VideoObject.
  • Solo en los datos estructurados de Clip: asegúrate de que no haya dos clips del mismo vídeo que estén definidos en una misma página y que empiecen en el mismo momento.
  • Solo en los datos estructurados de SeekToAction: Google debe poder obtener los archivos de contenido de los vídeos.

Definiciones de tipos de datos estructurados

En esta sección se describen los tipos de datos estructurados relacionados con las funciones de vídeo de la Búsqueda de Google. Debes incluir las propiedades de VideoObject obligatorias para que tu contenido pueda mostrarse como un resultado enriquecido de vídeo. Si quieres, puedes especificar también las propiedades recomendadas para proporcionar más información sobre tu contenido y, así, ofrecer una mejor experiencia a los usuarios. Además de VideoObject, puedes añadir los siguientes tipos de datos para habilitar las mejoras de vídeo en la Búsqueda de Google:

  • BroadcastEvent: marca los vídeos que se emiten en directo para habilitar una insignia EN DIRECTO en tu vídeo.
  • ItemList: marca páginas que contengan una lista de vídeos para que se muestren en un carrusel de host de vídeo.
  • Clip: marca segmentos importantes de tu vídeo de forma manual para ayudar a los usuarios a ir rápidamente a esos momentos.
  • SeekToAction: habilita la función Momentos clave indicando cómo funciona la estructura de tus URLs. De este modo, Google podrá identificar automáticamente los momentos clave y llevar a los usuarios a esos puntos del vídeo.
  • Vídeo formativo: ayuda a alumnos y profesores a encontrar tus vídeos educativos añadiendo datos estructurados de vídeo formativo.

VideoObject

Puedes consultar la definición completa de VideoObject en schema.org/VideoObject. Si no incluyes las propiedades obligatorias, es posible que Google no pueda extraer ninguna información sobre el vídeo. También puedes incluir las propiedades recomendadas para añadir más información sobre tu contenido, lo cual puede ayudar a mejorar la experiencia de usuario.

Propiedades obligatorias
name

Text

El título de un vídeo

thumbnailUrl

URL repetida

Indica una URL que dirige al archivo de la imagen en miniatura del vídeo. Sigue las directrices sobre imágenes en miniatura.

uploadDate

Date

Indica la fecha en que se publicó el vídeo por primera vez, en formato ISO 8601.

Propiedades recomendadas
contentUrl

URL

Una URL que lleva al archivo multimedia de vídeo, que debe estar en uno de los formatos de codificación admitidos. No debe ser el enlace a la página en la que se encuentra el vídeo, sino la URL del propio archivo multimedia de vídeo.


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

Sigue nuestras prácticas recomendadas sobre los vídeos.

description

Text

La descripción del vídeo. Las etiquetas HTML se ignoran.

duration

Duration

La duración de un vídeo en formato ISO 8601. Por ejemplo, PT00H30M5S representa una duración de "treinta minutos y cinco segundos".

embedUrl

URL

Una URL que dirige a un reproductor en el que se puede ver el vídeo. No debe ser el enlace a la página en la que se encuentra el vídeo, sino la URL del reproductor de vídeo. Suele ser la información incluida en el atributo src de las etiquetas <embed>.


"embedUrl": "https://www.example.com/embed/123"

Sigue nuestras prácticas recomendadas sobre los vídeos.

expires

Date

Si procede, indica en formato ISO 8601 la fecha después de la cual un vídeo dejará de estar disponible. Si tu vídeo no caduca, no proporciones esta información.

hasPart

Si tu vídeo tiene segmentos importantes, anida las propiedades de Clip obligatorias en tu VideoObject. Por ejemplo:


<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "VideoObject",
  "name": "Cat video",
  "hasPart": {
    "@type": "Clip",
    "name": "Cat jumps",
    "startOffset": 30,
    "url": "https://www.example.com/example?t=30"
  }
}
</script>
interactionStatistic

InteractionCounter

El número de veces que se ha reproducido el vídeo. Por ejemplo:


"interactionStatistic":
  {
    "@type": "InteractionCounter",
    "interactionType": { "@type": "WatchAction" },
    "userInteractionCount": 12345
  }
publication

Si tu vídeo se está emitiendo en directo y quieres obtener la insignia EN DIRECTO, anida las propiedades de BroadcastEvent en tu VideoObject. Por ejemplo:


<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "VideoObject",
  "name": "Cat video",
  "publication": {
    "@type": "BroadcastEvent",
    "name": "First scheduled broadcast",
    "isLiveBroadcast": true,
    "startDate": "2018-10-27T14:00:00+00:00",
    "endDate": "2018-10-27T14:37:14+00:00"
  }
}
</script>
regionsAllowed

Place

Indica las regiones en las que se permite ver el vídeo. Si no se indica ninguna, Google da por hecho que el vídeo está permitido en todas partes. Debes indicar los países en formato ISO 3166. Si vas a incluir varios, sepáralos con espacios o comas.

BroadcastEvent

Para poder obtener una insignia EN DIRECTO, anida las siguientes propiedades en VideoObject. Aunque las propiedades BroadcastEvent no son obligatorias, debes añadirlas si quieres que tu vídeo se muestre con una insignia EN DIRECTO.

Puedes consultar la definición completa de BroadcastEvent en schema.org/BroadcastEvent.

Propiedades obligatorias
publication

BroadcastEvent

Describe cuándo se emitirá el vídeo en directo. Puede ser una lista o una sola instancia.

publication.endDate

DateTime

La hora y la fecha en las que finaliza o se espera que finalice la emisión en directo, en formato ISO 8601.

Es necesario proporcionar el valor de endDate cuando el vídeo haya finalizado y ya no se esté emitiendo en directo. Si no hay ninguna estimación del valor de endDate antes del inicio de la emisión en directo, te recomendamos que proporciones un valor de endDate aproximado.

Si endDate es la fecha actual o una fecha del pasado, indica que la emisión en realidad ya finalizó y no se está emitiendo en directo. Si endDate es una fecha futura, indica que está programado que la emisión finalice en ese momento.

publication.isLiveBroadcast

Booleano

Dale el valor true si el vídeo se ha emitido, se está emitiendo o se va a emitir en directo.

publication.startDate

DateTime

La hora y la fecha en las que se inicia o se espera que se inicie la emisión en directo, en formato ISO 8601. Si startDate es la fecha actual o una fecha del pasado, indica que la emisión ha empezado ya. Si startDate es una fecha futura, indica que la emisión está programada para comenzar a esa hora.

ItemList (acceso limitado)

Para ayudar a Google a comprender mejor las páginas de tu galería de vídeos, añade las siguientes propiedades ItemList, además de las propiedades de VideoObject. Para obtener más información sobre los carruseles, consulta la página Carrusel.

Puedes consultar la definición completa de ItemList en schema.org/ItemList.

Propiedades obligatorias
itemListElement

ListItem

Es la anotación de la página de un solo elemento. Cada elemento ListItem debe incluir propiedades de VideoObject y propiedades ListItem.

ListItem.position

Integer

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


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

URL

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

Clip

Para indicar manualmente a Google qué marcas de tiempo y etiquetas usar en la función Momentos clave, anida en VideoObject las propiedades que se indican a continuación. Aunque las propiedades de Clip no son obligatorias, debes añadirlas si quieres que Google muestre las marcas de tiempo y las etiquetas que especifiques en tus vídeos. Si no lo haces, Google podrá mostrar automáticamente los segmentos de vídeo que considere oportunos.

Puedes consultar la definición completa de Clip en schema.org/Clip.

Propiedades obligatorias
name

Text

Es un título descriptivo del contenido del clip.

startOffset

Number

La hora de inicio del clip, expresada como el número de segundos desde que comienza la obra.

url

URL

Es una URL que dirige a la hora de inicio del clip.

La URL del clip debe apuntar a la misma ruta de URL que el vídeo con parámetros de consulta adicionales que especifiquen la hora.

Por ejemplo, la siguiente URL significa que el vídeo empieza en la marca de tiempo 2:00:


"url": "https://www.example.com/example?t=120"
Propiedades recomendadas
endOffset

Number

La hora de finalización del clip, expresada como el número de segundos desde que comienza la obra.

SeekToAction

Si quieres indicar a Google cómo funciona la estructura de tus URLs para que pueda mostrar los momentos clave que detecte automáticamente en tus vídeos, anida en VideoObject las propiedades que se indican a continuación. Aunque las propiedades de SeekToAction no son obligatorias, debes añadirlas si quieres que Google sepa cómo funciona la estructura de tus URLs y pueda llevar a los usuarios a momentos concretos de tus vídeos.

Puedes consultar la definición completa de SeekToAction en schema.org/SeekToAction.

Propiedades obligatorias
potentialAction

SeekToAction

Indica una posible acción. Incluye las siguientes propiedades anidadas:

Por ejemplo:


{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "potentialAction" : {
    "@type": "SeekToAction",
    "target": "https://video.example.com/watch/videoID?t={seek_to_second_number}",
    "startOffset-input": "required name=seek_to_second_number"
  }
)
potentialAction.startOffset-input

Text

Es el marcador de posición que indica a Google dónde están las marcas de tiempo. Google lo sustituirá por el número de segundos que debe saltarse. Utiliza este valor:


"startOffset-input": "required name=seek_to_second_number"

startOffset-input es una propiedad con anotaciones. Puedes consultar más información en la página de Potential Actions.

potentialAction.target

EntryPoint

Es la URL de la página que contiene este elemento VideoObject. En la estructura de la URL debe incluirse un marcador de posición que muestre dónde puede insertar Google el número de segundos que deberían saltarse del vídeo. Así es cómo sabe Google la estructura de tus URLs y el formato que usas en las marcas de tiempo. Sustituye la parte de la marca de tiempo de tus URLs por el siguiente marcador de posición:


{seek_to_second_number}

Por ejemplo, sustituye la marca de tiempo de esta URL:


"target": "https://video.example.com/watch/videoID?t=30"
Para que quede así:

"target": "https://video.example.com/watch/videoID?t={seek_to_second_number}"

Monitorizar resultados enriquecidos con Search Console

Search Console es una herramienta que te ayuda a monitorizar el rendimiento de tus páginas en la Búsqueda de Google. No hace falta que te registres en Search Console para que tu sitio web aparezca en los resultados de la Búsqueda de Google, pero, si lo haces, sabrás cómo lo ve Google y qué puedes hacer para mejorarlo. Te recomendamos que consultes Search Console en los siguientes casos:

  1. Después de implementar datos estructurados por primera vez
  2. Después de publicar plantillas nuevas o modificar el código
  3. Al hacer el análisis periódico del tráfico

Después de implementar datos estructurados por primera vez

Una vez que Google haya indexado tus páginas, puedes comprobar si hay algún problema en el informe de estado de resultados enriquecidos correspondiente. Lo ideal es que haya un aumento en el número de elementos válidos y que no lo haya en el número de elementos no válidos. Si detectas problemas en tus datos estructurados, haz lo siguiente:

  1. Corrige los elementos no válidos.
  2. Inspecciona la URL en tiempo real para ver si el problema continúa.
  3. Solicita que se valide la corrección desde el informe de estado.

Después de publicar plantillas nuevas o modificar el código

Cuando hagas cambios significativos en tu sitio web, observa si se incrementa la cantidad de elementos no válidos de datos estructurados.
  • Si notas que hay más elementos no válidos, quizá sea porque has implementado una plantilla que no funciona, o puede que tu sitio esté interactuando con la plantilla que utilizas de un modo diferente que no es adecuado.
  • Si notas que hay menos elementos válidos, pero no hay un incremento de elementos no válidos, es posible que hayas dejado de insertar datos estructurados en tus páginas. Para saber cuál es la causa del problema, utiliza la herramienta de inspección de URLs.

Al hacer el análisis periódico del tráfico

Consulta el informe de rendimiento para analizar el tráfico de tus páginas en la Búsqueda de Google. En él, verás con qué frecuencia aparece tu página como resultado enriquecido en la Búsqueda, cada cuánto hacen clic en ella los usuarios y cuál es la posición media que ocupa tu sitio web en los resultados de búsqueda. También puedes obtener automáticamente estos resultados con la API de Search Console.

Solucionar problemas

Si tienes problemas para implementar o depurar datos estructurados, a continuación se incluyen algunos recursos que pueden serte útiles.