Datos estructurados de video (VideoObject, Clip, BroadcastEvent)

La Búsqueda de Google es un canal de entrada para que los usuarios descubran y miren videos. Sin embargo, aunque Google intenta entender automáticamente los detalles de un video, puedes agregar lenguaje de marcado con VideoObject en tu video para brindar información explícita, como la descripción, la URL de la miniatura, la fecha de carga y la duración. Los videos pueden aparecer en los resultados de la Búsqueda de Google, los resultados de la búsqueda de videos, Google Imágenes y Google Descubre.

Captura de pantalla que muestra el contenido de video en los resultados de la Búsqueda de Google, la pestaña de video y Descubre

Según el lenguaje de marcado que uses en tu contenido, los videos también podrían obtener las siguientes mejoras:

Mejoras de video

Insignia de transmisión EN VIVO: Agrega lenguaje de marcado de BroadcastEvent en tu video para obtener una insignia de transmisión EN VIVO. Esta insignia puede aplicarse a todos los videos públicos de cualquier duración que se transmitan en vivo. Estos son algunos ejemplos:

  • Eventos deportivos
  • Ceremonias de premios
  • Videos de influencers
  • Transmisión en vivo de videojuegos

Asegúrate de seguir los Lineamientos para las insignias de transmisión EN VIVO y usar la API de Indexing para garantizar que Google rastree tus páginas en el momento indicado.

Video con una insignia de transmisión EN VIVO en los resultados de la búsqueda

Actividades para hacer en casa: Ayuda a las personas a encontrar actividades para hacer en casa. Cuando se buscan actividades para hacer en casa, los videos y los eventos en línea aparecen en un resultado enriquecido envolvente. Si agregas datos estructurados de Video, es posible que tus videos ya sean aptos para este resultado enriquecido, sin que debas realizar pasos adicionales.

Para obtener más información sobre la disponibilidad, los lineamientos y ejemplos de la función, consulta Actividades para hacer en casa.

Actividades para hacer en casa en los resultados de la búsqueda

Momentos clave

Con la función de momentos clave, los usuarios pueden navegar por segmentos de video como si fueran capítulos de un libro, lo que ayuda a que interactúen más con tu contenido. La Búsqueda de Google intenta detectar automáticamente los segmentos en tu video y mostrar a los usuarios los momentos clave, sin ningún esfuerzo de tu parte. Como alternativa, puedes indicarle a Google de forma manual los puntos importantes de tu video. Priorizaremos los momentos clave que hayas definido, ya sea mediante datos estructurados o la descripción de YouTube.

  • Si tu video se aloja en tu página web, tienes dos maneras de habilitar los momentos clave:
    • Datos estructurados de Clip: Especifica el punto exacto de inicio y de fin en cada segmento, además de indicar la etiqueta que debe mostrarse para cada uno de ellos. Se encuentra disponible en todos los idiomas en los que se admite la Búsqueda de Google.
    • Datos estructurados de SeekToAction: Indícale a Google dónde suelen ir las marcas de tiempo de la estructura de tu URL, de modo que Google pueda identificar automáticamente los momentos clave y vincular a los usuarios con esos puntos dentro del video Actualmente, se encuentra disponible para los siguientes idiomas: alemán, chino, coreano, español, francés, holandés, inglés, italiano, japonés, turco y ruso. Nuestro objetivo es extenderlo a más idiomas con el tiempo. Incluso en los idiomas admitidos, no todos los videos tendrán momentos clave identificados, pero también esperamos mejorar con el tiempo.
  • Si tu video se aloja en YouTube, puedes especificar las marcas de tiempo y etiquetas exactas en la descripción. Consulta las prácticas recomendadas para incluir marcas de tiempo en las descripciones de YouTube. Se encuentra disponible en todos los idiomas en los que se admite la Búsqueda de Google.

    Si deseas habilitar los capítulos de videos en YouTube, sigue estos lineamientos adicionales.

Si quieres inhabilitar por completo la función de momentos clave (incluida la opción para que Google muestre momentos clave de tu video automáticamente), usa la etiqueta nosnippet meta.

Video con momentos clave en los resultados de la búsqueda
Carrusel de host de video (acceso limitado): Agrega datos estructurados de ItemList para que los usuarios exploren las páginas de tu galería de videos . Actualmente, esta función está limitada a un pequeño conjunto de proveedores. La Búsqueda de Google puede mostrar automáticamente un carrusel de host para tu sitio sin que tengas que agregar datos estructurados de ItemList.

Video de aprendizaje: Agrega datos estructurados de video de aprendizaje para ayudar a profesores y estudiantes a encontrar tus videos educativos. Para obtener más información sobre la disponibilidad, los lineamientos y ejemplos de la función, consulta la documentación acerca de los videos de aprendizaje.

Video de aprendizaje en los resultados de la 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 video estándar

Ejemplo de resultados de la búsqueda de videos estándar

Este es un ejemplo de un 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 de transmisión EN VIVO

Ejemplo de un video en los resultados de la búsqueda con una insignia de transmisión EN VIVO

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

Este es un ejemplo de datos estructurados de VideoObject y ItemList. Actualmente, esta función está limitada a un pequeño conjunto 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 video en los resultados de la búsqueda con momentos clave

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

Aquí se muestra un ejemplo de un VideoObject único que incluye las propiedades adicionales necesarias para el lenguaje de 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>

Lineamientos

Para que tu página sea apta para los resultados enriquecidos de video, debes seguir los Conceptos básicos sobre la Búsqueda, los Lineamientos generales de datos estructurados y las prácticas recomendadas para los videos.

Además, te recomendamos revisar estos lineamientos si se aplican al contenido de tus videos:

Lineamientos para las insignias de transmisión EN VIVO

Si quieres agregar BroadcastEvent a videos de transmisión en vivo, debes seguir estos lineamientos:

  • No uses lenguaje vulgar o potencialmente ofensivo en los datos estructurados.
  • Para asegurarte de que Google rastree tu video de transmisión en vivo en el momento oportuno, usa la API de Indexing. Llama a la API para los siguientes eventos:
    • Cuando el video se transmita en vivo
    • Cuando se detenga la transmisión del video y el lenguaje de marcado de la página se actualice para indicar la endDate
    • Cada vez que se produzca un cambio en el lenguaje de marcado y sea necesario notificar a Google

Prácticas recomendadas para incluir marcas de tiempo en YouTube

Si tu video está alojado en YouTube, la Búsqueda de Google puede habilitar momentos clave automáticamente según la descripción del video en ese servicio, y es posible que no tengas que incluir marcas de tiempo específicas en tu descripción de YouTube. Sin embargo, puedes indicarnos de manera más explícita los puntos importantes de tu video y le daremos prioridad a esa información. El siguiente diagrama muestra las diferentes maneras en las que pueden aparecer en los resultados de la búsqueda las marcas de tiempo y las etiquetas de la descripción de un video de YouTube:

Video en los resultados de la búsqueda con marcas de tiempo y etiquetas
1. Etiqueta: Es el nombre del clip.
2. Marca de tiempo: Indica cuándo comienza un clip.

Ten en cuenta los siguientes lineamientos cuando les des formato a las marcas de tiempo y etiquetas de las descripciones de YouTube:

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

Si deseas habilitar los capítulos de videos en YouTube, sigue estos lineamientos adicionales.

Lineamientos de Clip y SeekToAction

Si quieres agregar datos estructurados de Clip o SeekToAction para marcar segmentos de video, sigue estos lineamientos:

  • El video debe tener la capacidad de establecer un vínculo directo a un punto que no sea el de inicio en la URL del video. Por ejemplo, https://www.example.com/example?t=30 comienza a los 30 segundos de un video.
  • Los datos estructurados de VideoObject se deben agregar a una página en la que los usuarios puedan ver el video. Dirigir a los usuarios a una página en la que no pueden ver el video atenta contra la buena experiencia del usuario.
  • La duración total del video debe ser de al menos 30 segundos.
  • El video debe incluir las propiedades obligatorias que se enumeran en la documentación de datos estructurados de VideoObject.
  • Solo para datos estructurados de Clip: Asegúrate de que no haya dos clips en el mismo video definidos en la misma página que compartan la misma hora de inicio.
  • Solo para datos estructurados de SeekToAction: Google debe poder recuperar los archivos de contenido de video.

Definiciones de tipos de datos estructurados

En esta sección se describen los tipos de datos estructurados relacionados con las funciones de video que ofrece la Búsqueda de Google. Debes incluir las propiedades obligatorias de VideoObject para que pueda mostrarse tu contenido como resultado enriquecido de video. También puedes incluir las propiedades recomendadas para agregar más información sobre VideoObject, lo que podría brindar una mejor experiencia del usuario. Además de VideoObject, puedes agregar los siguientes tipos de datos para habilitar videos mejorados en la Búsqueda de Google:

  • BroadcastEvent: Agrega lenguaje de marcado en los videos de transmisión en vivo para habilitar una insignia de transmisión EN VIVO en tu video.
  • ItemList: Agrega lenguaje de marcado en las páginas con listas de videos para habilitar un carrusel de host de video.
  • Clip: Marca segmentos importantes en tu video de forma manual para ayudar a los usuarios a navegar rápidamente a puntos específicos de él.
  • SeekToAction: Indica cómo funciona la estructura de la URL para habilitar momentos clave y que Google pueda identificarlos automáticamente y vincular a los usuarios con esos puntos dentro del video.
  • Video de aprendizaje: Agrega datos estructurados de video de aprendizaje para ayudar a profesores y estudiantes a encontrar tus videos educativos.

VideoObject

La definición completa de VideoObject está disponible en schema.org/VideoObject. Si no incluyes las propiedades obligatorias, es posible que Google no pueda extraer información sobre el video. También puedes incluir las propiedades recomendadas para agregar más información sobre tu contenido, lo que podría brindar una mejor experiencia del usuario.

Propiedades obligatorias
name

Text

Es el título del video.

thumbnailUrl

Valor repetido de URL

Es una URL que dirige al archivo de imagen de la miniatura de video. Sigue los lineamientos para imágenes en miniatura.

uploadDate

DateTime

Corresponde a la fecha y hora en que se publicó el artículo por primera vez, en formato ISO 8601. Te recomendamos que proporciones información sobre la zona horaria. De lo contrario, se establecerá la zona horaria que usa Googlebot de forma predeterminada.

Propiedades recomendadas
contentUrl

URL

Es 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 Prácticas recomendadas para videos.

description

Text

Es la descripción del video. Se ignoran las etiquetas HTML.

duration

Duration

Es la duración del video en formato ISO 8601. Por ejemplo, PT00H30M5S representa una duración de "treinta minutos y cinco segundos".

embedUrl

URL

Es una URL que dirige a un reproductor para el video específico. No vincules a la página donde se encuentra el video. Esta debe ser la URL del reproductor de video. Por lo general, esta es la información que contiene el atributo src de una etiqueta <embed>.

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

Asegúrate de seguir nuestras Prácticas recomendadas para videos.

expires DateTime

Si corresponde, indica la fecha y la hora en que dejará de estar disponible el video en formato ISO 8601. No incluyas esa información si el video no va a caducar. Te recomendamos que proporciones información sobre la zona horaria. De lo contrario, se establecerá la zona horaria que usa Googlebot de forma predeterminada.

hasPart

Si tu video tiene segmentos importantes, anida las propiedades 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

Es la cantidad de reproducciones del video. Por ejemplo:

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

Si tu video se transmite en vivo y quieres que sea apto para obtener la insignia correspondiente, 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

Hace referencia a las regiones en las que está permitido reproducir el video. Si no se especifican, Google asume que el video está permitido en todas partes. Especifica los países en formato ISO 3166. Si incluyes varios valores, usa un espacio o una coma como delimitador.

BroadcastEvent

Para que el video sea apto para mostrarse con una insignia de transmisión EN VIVO, anida las siguientes propiedades en tu VideoObject. Si bien las propiedades de BroadcastEvent no son obligatorias, debes agregar las siguientes propiedades si deseas que tu video se muestre con una insignia de transmisión EN VIVO.

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

Propiedades obligatorias
publication

BroadcastEvent

Indica cuándo se transmitirá en vivo el video. Puede ser una lista o una sola instancia.

publication.endDate

DateTime

Expresa la fecha y hora de finalización conocidas o previstas de la transmisión en vivo en formato ISO 8601.

Es obligatorio indicar la endDate una vez que el video haya finalizado y ya no esté en vivo. Si no conoces la endDate prevista antes de que comience la transmisión en vivo, recomendamos indicar una endDate aproximada.

Si la endDate está en el pasado o en el presente, indica que finalizó la transmisión y ya no está en vivo. Si la endDate es en el futuro, indica que la transmisión está programada para finalizar en ese momento.

publication.isLiveBroadcast

Booleano

Configúrala en true si el video se transmitió en vivo, se está transmitiendo en vivo o se transmitirá en vivo.

publication.startDate

DateTime

Hace referencia a la fecha y hora conocidas o previstas de inicio de la transmisión en vivo en formato ISO 8601. Si startDate está en el pasado o en el presente, indica que la trasmisión ya comenzó. Si startDate es en el futuro, indica que la transmisión está programada para comenzar en ese momento.

ItemList (acceso limitado)

Para ayudar a Google a comprender mejor las páginas de tu galería de videos, agrega las siguientes propiedades de ItemList, además de las propiedades de VideoObject. Para obtener más información, 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. Cada elemento ListItem debe incluir propiedades VideoObject y ListItem.

ListItem.position

Integer

Corresponde a 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 indicarle a Google manualmente la marca de tiempo y la etiqueta que debe usar en la función de momentos clave, anida las siguientes propiedades en el objeto VideoObject. Si bien no son obligatorias las propiedades en el objeto Clip, debes agregar las siguientes propiedades si deseas que Google muestre las marcas de tiempo y las etiquetas que especificas para tu video, en lugar de los segmentos de video que Google podría mostrar automáticamente para tu video.

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

Propiedades obligatorias
name

Text

Es el título descriptivo para el contenido del clip.

startOffset

Number

Indica la hora de inicio del clip expresada como el número de segundos desde el principio del contenido.

url

URL

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

La URL del clip debe dirigir a la misma ruta de URL que el video con parámetros de búsqueda adicionales que especifiquen la hora.

Por ejemplo, la siguiente URL significa que el video comienza en el minuto 2:00:

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

Number

Es la hora de finalización del clip expresada como el número de segundos desde el principio del contenido.

SeekToAction

Para indicarle a Google cómo funciona la estructura de la URL (de modo que pueda mostrar los momentos clave que se identifican automáticamente en tu video), anida las siguientes propiedades en tu VideoObject. Si bien las propiedades SeekToAction no son obligatorias, debes agregar las siguientes si deseas que Google comprenda el modo en que funciona la estructura de la URL para que pueda vincular a los usuarios a un punto dentro del video.

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

Propiedades obligatorias
potentialAction

SeekToAction

Indica una acción potencial. 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 la cadena del marcador de posición que Google identificará como la estructura de marca de tiempo y, luego, reemplazará por el número de segundos al que se debe ir. Usa el siguiente valor:

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

startOffset-input es una propiedad con anotaciones. Consulta Potential Actions para obtener más información.

potentialAction.target

EntryPoint

La URL de la página que contiene este VideoObject, incluido un marcador de posición en la estructura de la URL que indica dónde puede insertar Google el número de segundos al que se debe ir en el video. De esta manera, Google interpreta la estructura de la URL y el formato de las marcas de tiempo. Reemplaza la parte de la marca de tiempo de la URL por la siguiente cadena de marcador de posición:

{seek_to_second_number}

Por ejemplo, reemplaza la parte de la marca de tiempo de la URL:

"target": "https://video.example.com/watch/videoID?t=30"
La marca de tiempo se verá así:
"target": "https://video.example.com/watch/videoID?t={seek_to_second_number}"

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, puede ayudarte 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 los elementos válidos y no de los elementos no válidos. Si encuentras problemas en los datos estructurados, haz lo siguiente:

  1. Corrige los elementos no válidos.
  2. Inspecciona una URL publicada para verificar si persiste el problema.
  3. Solicita una validación desde 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 los elementos no válidos de datos estructurados.
  • Si notas un aumento en la cantidad de elementos no válidos, 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 de los elementos válidos (que no coincide con un aumento en la cantidad de elementos no válidos), es posible que ya no estés incorporando datos estructurados en tus páginas. Usa la Herramienta de inspección de URLs 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.