Datos estructurados de evento (Event)

La experiencia de búsqueda de eventos de Google permite que los usuarios encuentren fácilmente eventos para asistir en los resultados de la Búsqueda de Google y otros productos de Google, como Google Maps. Esta función presenta varios beneficios:

  • Resultados más interactivos: Tus eventos pueden mostrarse en la experiencia del evento de Google con tu logotipo, descripción del evento y mucho más.
  • Mayores probabilidades de descubrimiento y conversión: Los usuarios tienen una nueva forma de interactuar con la publicación de tu evento y hacer clic en tu sitio. Conoce la historia de Eventbrite, que logró un aumento del 100% en el crecimiento interanual típico del tráfico proveniente de la Búsqueda de Google.
Ejemplo de eventos en los resultados de la búsqueda

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

Mejoras en eventos

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 Event, es posible que tus eventos en línea 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

Si quieres que tus eventos sean aptos para aparecer en Google, debes usar uno de estos tres métodos:

  • Si utilizas un sitio web de terceros para publicar eventos (por ejemplo, sitios web de venta de boletos o redes sociales), verifica si el publicador del evento ya participa en la experiencia de búsqueda de eventos de Google. Si el publicador del evento está integrado con Google, continúa publicando tus eventos en el sitio web correspondiente. Puedes dejar de leer aquí.
  • Si usas un CMS (por ejemplo, WordPress) y no tienes acceso a tu HTML, pregúntale al CMS si hay algún complemento que pueda agregar datos estructurados a tu sitio. Como alternativa, puedes usar el Marcador de datos para brindarle información sobre tus eventos a Google sin editar el código HTML del sitio.
  • Si sabes cómo editar tu HTML, usa datos estructurados para integrarlo directamente con Google. Deberás editar el código HTML de las páginas de eventos.

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 su funcionamiento.

A continuación, presentamos una descripción general para aprender a compilar, probar y actualizar datos estructurados.

  1. Asegúrate de que Googlebot pueda rastrear tus páginas de eventos (es decir, que no estén protegidas por un archivo robots.txt ni una etiqueta robots meta).
  2. Verifica que tu servidor pueda administrar una mayor frecuencia de rastreo.
  3. Asegúrate de seguir nuestros lineamientos.
  4. Si tienes varias copias de la misma publicación de un evento en tu sitio alojadas en URLs diferentes, usa URLs canónicas en cada una.
  5. Agrega datos estructurados a las páginas de tus eventos. Actualmente, la experiencia de búsqueda de eventos de Google solo admite páginas para eventos únicos. Te recomendamos que agregues lenguaje de marcado a las páginas de publicación de eventos, en lugar de páginas con listas de cronogramas o varios eventos.
  6. Prueba los datos estructurados y obtén una vista previa de ellos.
  7. Verifica el estado de indexación de tus URLs y solicita su rastreo con la Herramienta de inspección de URL de Search Console. Para confirmar si los rastreadores pueden acceder a los datos estructurados de tu página, usa la función de prueba en tiempo real.
  8. Mantén informado a Google sobre nuevas páginas de eventos y cambios que hagas en las existentes.

Ejemplos

Evento estándar

Aquí tienes un ejemplo de un Event estándar en JSON-LD. Un evento estándar es aquel que tiene lugar solo en una ubicación física y cumple con su programación. También puedes usar la sintaxis de microdatos o de RDFa.

<html>
  <head>
    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
      "eventStatus": "https://schema.org/EventScheduled",
      "location": {
        "@type": "Place",
        "name": "Snickerpark Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "100 West Snickerpark Dr",
          "addressLocality": "Snickertown",
          "postalCode": "19019",
          "addressRegion": "PA",
          "addressCountry": "US"
        }
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "validFrom": "2024-05-21T12:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Evento en línea

Aquí tienes un ejemplo de un evento en línea.

<html>
  <head>
    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventStatus": "https://schema.org/EventScheduled",
      "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
      "location": {
        "@type": "VirtualLocation",
        "url": "https://operaonline.stream5.com/"
        },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "validFrom": "2024-05-21T12:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Evento combinado en línea y presencial

Aquí tienes un ejemplo de un evento que se desarrolla parte en línea y parte en una ubicación física.

<html>
  <head>
    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
      "eventStatus": "https://schema.org/EventScheduled",
      "location": [{
        "@type": "VirtualLocation",
        "url": "https://operaonline.stream5.com/"
      },
      {
        "@type": "Place",
        "name": "Snickerpark Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "100 West Snickerpark Dr",
          "addressLocality": "Snickertown",
          "postalCode": "19019",
          "addressRegion": "PA",
          "addressCountry": "US"
        }
      }],
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "validFrom": "2024-05-21T12:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Evento con estado actualizado

Existen varias formas de definir el estado de un evento. Aquí tienes algunos ejemplos comunes de eventos con estado actualizado. Para obtener más información, consulta la propiedad eventStatus.

Cancelado

Aquí tienes un ejemplo de un evento cancelado.


<html>
  <head>
    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventStatus": "https://schema.org/EventCancelled",
      "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
      "location": {
        "@type": "Place",
        "name": "Snickerpark Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "100 West Snickerpark Dr",
          "addressLocality": "Snickertown",
          "postalCode": "19019",
          "addressRegion": "PA",
          "addressCountry": "US"
        }
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "validFrom": "2024-05-21T12:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Reprogramado

Aquí tienes un ejemplo de un evento reprogramado.


<html>
  <head>
    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventStatus": "https://schema.org/EventRescheduled",
      "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
      "previousStartDate": "2025-03-21T19:00-05:00",
      "location": {
        "@type": "Place",
        "name": "Snickerpark Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "100 West Snickerpark Dr",
          "addressLocality": "Snickertown",
          "postalCode": "19019",
          "addressRegion": "PA",
          "addressCountry": "US"
        }
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "validFrom": "2024-05-21T12:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Convertido a modalidad en línea y reprogramado

Aquí tienes un ejemplo de un evento que se reprogramó y se convirtió a la modalidad en línea.


<html>
  <head>
    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
      "eventStatus": [
        "https://schema.org/EventRescheduled",
        "https://schema.org/EventMovedOnline"
        ],
      "previousStartDate": "2025-03-21T19:00-05:00",
      "location": {
        "@type": "VirtualLocation",
        "url": "https://operaonline.stream5.com/"
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "validFrom": "2024-05-21T12:00-05:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Disponibilidad de idiomas y regiones

Nos complace anunciar que habilitaremos la experiencia de búsqueda de eventos de Google en más regiones de todo el mundo. Por el momento, está disponible en los siguientes idiomas y regiones:

Región Idiomas disponibles
Australia Inglés
Brasil Portugués
Canadá Inglés
Alemania Alemán
India Inglés
Latinoamérica Español
España Español
Reino Unido Inglés
Estados Unidos Inglés

Lineamientos

Para aparecer en la experiencia de búsqueda de eventos de Google, debes cumplir con los siguientes lineamientos:

Lineamientos técnicos

  • La página resultante debe contener elementos de datos estructurados de los tipos de eventos especificados en schema.org.
  • Cada evento DEBE tener una URL única (una página secundaria) y lenguaje de marcado en ella.
  • Actualmente, la experiencia de búsqueda de eventos de Google solo admite páginas de eventos únicos. Te recomendamos que te enfoques en agregar lenguaje de marcado a las páginas de publicación de eventos, en lugar de páginas que enumeran cronogramas o varios eventos.

Lineamientos de contenido

  • Cada evento debe describir de manera precisa su nombre, la fecha de inicio y la ubicación.
  • No marques como eventos elementos que no lo sean:
    • No promociones como eventos productos o servicios que no lo sean, por ejemplo, "Paquete turístico: San Diego/Los Ángeles, 7 noches".
    • No agregues descuentos a corto plazo ni oportunidades de compra, como "Concierto: compra tus entradas ahora" o "Concierto: 50% de descuento hasta el sábado".
    • No marques el horario de atención como evento. Por ejemplo: "Parque de diversiones abierto de 8 a.m. a 5 p.m.".
    • No marques cupones como eventos. Por ejemplo: "5% de descuento en tu primer pedido".
  • Agrega el lenguaje de marcado correcto en los eventos de varios días:
    • Si la información del evento o del boleto es sobre un evento que se lleva a cabo durante varios días, especifica las fechas de inicio y de finalización.
    • Si hay varios espectáculos distintos en el transcurso de esos días y cada uno requiere un boleto individual, agrega un elemento Event específico para cada espectáculo.

Lineamientos de fecha y hora

Cuando implementes las propiedades startDate, endDate y previousStartDate, sigue estos lineamientos de fecha y hora.

Cómo especificar zonas horarias

Indica el desplazamiento en UTC o GMT para especificar la zona horaria. Si el evento comienza a las 7 p.m. el 5 de septiembre en Nueva York, el valor de startDate sería GMT/UTC-5 durante el horario estándar y GMT/UTC-4 durante el horario de verano. Durante el horario estándar, el valor de startDate sería "2019-09-05T19:00:00-05:00" o "2019-09-05T19:00:00-04:00", respectivamente. Si no se proporciona una zona horaria, Google usa la de la ubicación del evento, como se especifica en location. Para los eventos en línea, se requiere la zona horaria, ya que no hay información de ubicación que Google pueda usar para saber cuándo comienza el evento.

Prácticas recomendadas

  • El evento se lleva a cabo en un intervalo de fechas: Si el evento se lleva a cabo durante varios días, indica la fecha de inicio y la de finalización. No indiques la hora si no la sabes.

    Se recomienda

    "startDate": "2019-07-01T10:00:00-05:00",
    "endDate": "2019-07-26T17:00:00-05:00"

    Se recomienda

    "startDate": "2019-07-01",
    "endDate": "2019-07-26"

    No se recomienda

    "startDate": "2019-07-01T00:00:00+00:00",
    "endDate": "2019-07-26T23:59:59+00:00"
  • El evento comienza a una hora específica: Si el evento comienza, por ejemplo, a las 5 p.m. (horario local), usa 2019-07-20T17:00:00. Incluye el desplazamiento de UTC correcto (por ejemplo, usa 2019-07-20T17:00:00-07:00 si el evento es en California).
  • El evento dura un día: Si el evento se realiza durante todo el día, no especifiques una hora detallada en la fecha de inicio. Por ejemplo, puedes usar 2019-08-15 como startDate y endDate para un evento de un día.
  • No se sabe la hora de inicio del evento: Si no conoces la hora de inicio, no especifiques una hora detallada. Por ejemplo, puedes usar 2019-08-15 como startDate y endDate.

    Se recomienda: "startDate": "2025-07-21"

    No se recomienda: "startDate": "2019-08-15T00:00:00+00:00"

    No se recomienda: "startDate": "2019-07-20T00:00:00"

Ejemplos de cómo interpreta las fechas Google

Estos son algunos ejemplos de cómo Google interpreta la fecha y hora de inicio:

Interpretaciones de la fecha y hora de inicio
2019-08-15T00:00:00+00:00 Google interpreta que startTime es 2019-08-14T17:00:00-07:00 (si location está configurado en California) o 2019-08-15T09:00:00 (si location está configurado en Corea).
2019-08-15T23:59:59+00:00 Eso no significa que termina el 2019-08-15, a menos que el evento se lleve a cabo en la zona horaria de GMT. Google interpreta que startTime es 2019-08-15T16:59:59-07:00 (si location está configurado en California) o 2019-08-16T08:59:59 (si location está configurado en Corea).
2019-07-10 Se hace referencia a la fecha independientemente de la zona horaria. Cuando se usa en startDate, significa que el evento comienza en location desde algún momento de ese día. Cuando se usa en endDate, significa que el evento termina en la location en algún momento de ese día.
2019-07-20T00:00:00 Esta indicación significa la medianoche del 2019-07-20 para la zona horaria donde se lleva a cabo el evento. También es probable que sea incorrecta, a menos que el evento se haya iniciado a la medianoche.

Definiciones de tipos de datos estructurados

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

Debes incluir las propiedades obligatorias a fin de que tu contenido sea apto para mostrarse en los resultados enriquecidos de la búsqueda. 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
location

Place o VirtualLocation

Corresponde a la ubicación del evento. Los requisitos son diferentes según si el evento es en línea o en una ubicación física:

  • En ubicación física: Si el evento se realizará de manera presencial, define @type como Place. Agrega las propiedades location.address y location.name.
  • Evento en línea: Si el evento se desarrollará en línea, define @type como VirtualLocation. Agrega la propiedad location.url.
  • Combinación de modalidades en línea y en ubicación física: Si un evento tiene componentes de ubicación física y en línea, incluye ambas propiedades de ubicación anidadas en un array anidado. Por ejemplo:
    "location": [{
      "@type": "VirtualLocation",
      "url": "https://operaonline.stream5.com/"
    },
    {
      "@type": "Place",
      "name": "Snickerpark Stadium",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "100 West Snickerpark Dr",
        "addressLocality": "Snickertown",
        "postalCode": "19019",
        "addressRegion": "PA",
        "addressCountry": "US"
      }
    }]
location.address

PostalAddress

Corresponde a la dirección detallada del lugar. Esta propiedad es obligatoria solo para los eventos que se llevan a cabo en una ubicación física.

No se recomienda: Sídney

Se recomienda: Bennelong Point, Sídney NSW 2000, Australia

Ejemplo de Estados Unidos

"location": {
  "@type": "Place",
  "name": "Snickerpark Stadium",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 West Snickerpark Dr",
    "addressLocality": "Snickertown",
    "postalCode": "19019",
    "addressRegion": "PA",
    "addressCountry": "US"
  }
}

Ejemplos de Japón

Para Japón, puedes escribir las direcciones de diferentes maneras, ya que Google las entenderá todas. Aquí tienes un ejemplo con la dirección, la localidad y el país en diferentes campos.

"location": {
  "@type": "Place",
  "name": "ダイバーシティ東京",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "江東区青海1-10",
    "addressLocality": "東京",
    "addressCountry": "日本"
  }
}

A continuación se muestra un ejemplo de la dirección y el país correspondiente en diferentes campos.

"location": {
  "@type": "Place",
  "name": "ダイバーシティ東京",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "東京都江東区青海1-10",
    "addressCountry": "日本"
  }
}

Aquí tienes un ejemplo de la dirección completa en una línea.

"location": {
  "@type": "Place",
  "name": "ダイバーシティ東京",
  "address": {
    "@type": "PostalAddress",
    "name": "東京都江東区青海 1-1-10 ダイバーシティ東京プラザ"
   }
}

Prácticas recomendadas para las direcciones:

  • Si el evento se lleva a cabo en varias calles, define la ubicación de partida y proporciona información detallada en la descripción.
  • Si el evento no tiene una ubicación bien definida, usa el nombre de la ciudad o la ubicación más representativa.
  • Si el evento se lleva a cabo en varias ubicaciones al mismo tiempo, crea diferentes eventos para cada una de ellas.
location.url

URL

URL del evento en línea, mediante la cual los usuarios pueden unirse. Esta propiedad es obligatoria si el evento se realiza en línea. Si la URL para unirse al evento no está disponible hasta después de registrarse en el evento, proporciona la URL de registro en la que los usuarios puedan realizar los pasos siguientes para unirse a tu evento.

"location": {
  "@type": "VirtualLocation",
  "url": "https://operaonline.stream5.com/"
}
name

Text

Título completo del evento.

No se recomienda: Auditorio Cívico Bill Graham

No se recomienda: **OFERTA DE TIEMPO LIMITADO - Concierto de Kesha y Macklemore - USD 25**

Se recomienda: Las aventuras de Kesha y Macklemore

Se recomienda: Encuentro con tus ídolos: Kesha y Macklemore

Prácticas recomendadas:

  • No uses el tipo de evento como nombre del evento. Por ejemplo, "Concierto" no es un nombre descriptivo para un evento.
  • No incluyas información irrelevante, como URLs, precios ni intérpretes. Usa las propiedades correspondientes para esos valores.
  • Destaca un aspecto único de este en el título. De esta manera, los usuarios podrán tomar decisiones de manera más rápida (por ejemplo, "con sesión de preguntas con el artista").
  • No agregues promociones de corto plazo (por ejemplo, "compra boletos ahora").
startDate

DateTime

Fecha de inicio y hora de inicio del evento en formato ISO-8601. Agrega la fecha y la hora para que los usuarios puedan encontrar fácilmente los eventos que se ajusten a su calendario. Para los eventos en línea, debes especificar la zona horaria indicando la compensación de tiempo de UTC o GMT.

"startDate": "2025-07-21T19:00"
Propiedades recomendadas
description

Text

Descripción del evento. Describe toda la información sobre los eventos para que los usuarios puedan comprender el evento y asistir.

Prácticas recomendadas:

  • Agrega una descripción clara y concisa del evento específico.
  • Concéntrate en los detalles del evento y no en las funciones de tu sitio.
  • No repitas otros datos, como la fecha y la ubicación. En su lugar, agrega esa información a las respectivas propiedades.
"description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance."
endDate

DateTime

Fecha y hora de finalización del evento en formato ISO-8601. Usa el mismo formato que startDate. Agrega la fecha y la hora para que los usuarios puedan encontrar fácilmente los eventos que se ajusten a su calendario. Para los eventos en línea, debes especificar la zona horaria indicando la compensación de tiempo de UTC o GMT.

"endDate": "2025-07-21T23:00"
eventAttendanceMode

EventAttendanceModeEnumeration

Indica si el evento se lleva a cabo en línea, en una ubicación física o en una combinación de ambos. Si no incluyes esta propiedad, Google interpreta que la modalidad del evento es OfflineEventAttendanceMode, es decir, que se realizará en una ubicación física. Usa uno de los siguientes valores:

Aquí tienes un ejemplo de un evento que solo se llevará a cabo en línea:

{
"@context": "https://schema.org",
"@type": "Event",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
  "@type":"VirtualLocation",
  "url": "https://operaonline.stream5.com/"
  }
}

Aquí tienes un ejemplo de un evento combinado en línea y en ubicación física:

{
"@context": "https://schema.org",
"@type": "Event",
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"location": {
  "@type": "VirtualLocation",
  "url": "https://operaonline.stream5.com/"
},
{
  "@type": "Place",
  "name": "Snickerpark Stadium",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 West Snickerpark Dr",
    "addressLocality": "Snickertown",
    "postalCode": "19019",
    "addressRegion": "PA",
    "addressCountry": "US"
    }
  }
}
eventStatus EventStatusType

Estado del evento. Si no usas este campo, Google interpreta que eventStatus es EventScheduled. Estos son los valores admitidos. Si corresponde, puedes usar varios estados (por ejemplo, si un evento fue reprogramado y convertido a la modalidad en línea).

EventCancelled

Se canceló el evento.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventStatus": "https://schema.org/EventCancelled",
  "startDate": "2020-07-21T19:00"
}
EventMovedOnline

Se convirtió la modalidad del evento de presencial a en línea.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventStatus": "https://schema.org/EventMovedOnline",
  "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
  "location": {
    "@type":"VirtualLocation",
    "url": "https://operaonline.stream5.com/"
  },
  "startDate": "2020-07-21T19:00"
}
EventPostponed

El evento se pospuso, pero la fecha todavía no está definida. Mantén la fecha original en el startDate del evento hasta que sepas cuándo se llevará a cabo. Una vez que tengas la información de la nueva fecha, cambia el eventStatus a EventRescheduled y actualiza startDate y endDate con la nueva fecha.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventStatus": "https://schema.org/EventPostponed",
  "startDate": "2020-07-21T19:00"
}
EventRescheduled

El evento se reprogramó para una fecha posterior. Actualiza startDate y endDate con las nuevas fechas. También puedes marcar el campo eventStatus como reprogramado y agregar la previousStartDate.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventStatus": "https://schema.org/EventRescheduled",
  "startDate": "2020-07-21T19:00",
  "endDate": "2025-07-21T23:00",
  "previousStartDate": "2025-03-21T19:00"
}
EventScheduled

El evento está programado. Este valor es el estado predeterminado de los eventos. Si no configuras eventStatus, Google entiende que el evento se llevará a cabo en la fecha prevista.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventStatus": "https://schema.org/EventScheduled",
  "startDate": "2020-07-21T19:00"
}
image

Valor repetido de ImageObject o URL

URL de una imagen o logotipo del evento o del recorrido. Al incluir una imagen, ayudas a los usuarios a interesarse en el evento y comprenderlo. Se recomienda que las imágenes tengan 1920 píxeles de ancho (el ancho mínimo es de 720 píxeles).

Lineamientos de imagen adicionales:

  • Las URLs de las imágenes se deben poder indexar y rastrear. Para comprobar si Google puede acceder a tus URL, usa la Herramienta de inspección de URL.
  • Deben representar el contenido con lenguaje de marcado.
  • Las imágenes deben estar en un formato de archivo compatible con Google Imágenes.
  • Para obtener mejores resultados, recomendamos proporcionar varias imágenes de alta resolución (mínimo de 50,000 píxeles al multiplicar el ancho por la altura) con la siguiente relación de aspecto: 16x9, 4x3 y 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"
]
location.name

Text

Nombre detallado del lugar donde se llevará a cabo el evento. Esta propiedad se recomienda solo para eventos que se llevan a cabo en una ubicación física.

No se recomienda: San Francisco, CA

Se recomienda: Auditorio Cívico Bill Graham

Prácticas recomendadas:

  • No incluyas el nombre de una ciudad, a menos que sea un evento que ocurra en toda la ciudad.
  • La propiedad location.name debe ser el nombre del lugar, no una repetición del título del evento. Si no conoces el nombre de la ubicación, no uses esta propiedad.
offers

Offer

Corresponde a una Offer anidada, una para cada tipo de boleto.
"offers": {
  "@type": "Offer"
}
offers.availability

Text

Indica una de las siguientes opciones:

  • InStock: Las entradas del evento están en stock.
  • SoldOut: Las entradas del evento están agotadas.
  • PreOrder: Las entradas del eventos están disponibles para pedirlas por adelantado.
"offers": {
  "@type": "Offer",
  "availability": "https://schema.org/InStock"
}
offers.price

Number

Precio más bajo disponible para tus boletos, incluidos los cargos y las tarifas por el servicio. No olvides actualizarlo a medida que cambie el precio o se agoten los boletos.

Si el evento está disponible sin cargo, tarifas ni cargos de servicio, configura price como 0.

"offers": {
  "@type": "Offer",
  "price": "30"
}
offers.priceCurrency

Text

Corresponde al código de moneda ISO 4217 de 3 letras.

"offers": {
  "@type": "Offer",
  "priceCurrency": "USD"
}
offers.validFrom

DateTime

Fecha y hora en la que los boletos salen a la venta (solo se requiere para las ofertas con duración limitada) en el formato de la norma ISO 8601.

"offers": {
  "@type": "Offer",
  "validFrom": "2024-05-21T12:00"
}
offers.url

URL

URL de la página en la que se pueden comprar los boletos.

"offers": {
  "@type": "Offer",
  "url": "https://www.example.com/event_offer/12345_201803180430"
}

Esta URL debe cumplir con los siguientes requisitos:

  • Debe dirigir a una página de destino que brinde de forma clara y predominante la oportunidad de comprar un boleto que permita a un usuario del público general ingresar a un evento específico.
  • Debe ser un vínculo en el que un usuario pueda hacer clic en la página web del evento.
  • Googlebot debe poder rastrearla (no debe estar bloqueada por robots.txt).
organizer

Organization o Person

Organización o persona que organiza el evento. Esto es particularmente importante para los eventos en línea, que no tienen información sobre un lugar. Si incluyes organizer, te recomendamos que agregues las siguientes propiedades:

organizer.name

Text

Nombre de la organización o persona que organiza el evento.

organizer.url

URL

URL del dominio del organizador del evento.

performer

Person

Participantes del evento, como artistas o comediantes. Usa las propiedades anidadas PerformingGroup o Person para cada artista.

"performer": {
  "@type": "PerformingGroup"
}
performer.name

Texto

Es el nombre del participante que realiza el evento, como el nombre del artista o el comediante.

"performer": {
  "@type": "PerformingGroup",
  "name": "Kira and Morrison"
}
previousStartDate

DateTime

Fecha de inicio del evento prevista antes su reprogramación. Si agregas previousStartDate, también debes agregar la propiedad eventStatus y establecer eventStatus en EventRescheduled. No utilices otros estados de eventos.

Para los eventos en línea, debes especificar la zona horaria indicando el desplazamiento de UTC o GMT.

En el caso de eventos reprogramados, la propiedad startDate solo debe usarse para la nueva fecha de inicio. Para los casos (poco comunes) en los que el evento se pospuso y se reprogramó varias veces, este campo puede repetirse.

{
"@context": "https://schema.org",
"@type": "Event",
"previousStartDate": ["2020-03-21T19:00-05:00", "2020-03-20T19:00-05:00", "2020-03-21T19:00-05:00"],
"eventStatus": "https://schema.org/EventRescheduled",
"startDate": "2020-07-21T19:00-05:00"
}

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.

Si tu evento no aparece en la experiencia en Google o si recibiste una acción manual por lenguaje de marcado estructurado generador de spam en Search Console, resuelve los problemas más comunes y revisa nuestros lineamientos. Si el problema persiste, consulta las Preguntas frecuentes sobre eventos o publícalo en el Foro de la Central de la Búsqueda de Google.

Falta la ubicación del evento o es incorrecta

Qué provocó el problema: Google no comprende los valores asignados a las propiedades eventLocation, addressLocality o addressRegion. Google busca una ubicación física que coincida con la información de ubicación, pero estos datos faltan o son incorrectos.

Cómo solucionarlo

  1. Asegúrate de que los datos estructurados incluyan valores para eventLocation, addressLocality o addressRegion (según la ubicación, ya que no todas las propiedades de ubicación son válidas).
  2. Comprueba que el campo location.name use el nombre de la ubicación o déjalo en blanco si no tiene nombre. Un error común consiste en colocar accidentalmente el nombre del evento en el campo location.name.
  3. Valida la corrección:
    1. Abre la Prueba de resultados enriquecidos.
    2. Ingresa la URL de la publicación del evento en el cuadro Recuperar URL.
    3. Haz clic en Validar.
    4. Haz clic en Vista previa.

      Éxito: La prueba de resultados enriquecidos muestra el eventLocation correcto en la herramienta de vista previa de la Búsqueda de Google.

      Vuelve a intentarlo: La Prueba de resultados enriquecidos muestra el mensaje "falso" para la ubicación del evento en la Herramienta de vista previa de la Búsqueda de Google. Asegúrate de que la ubicación sea real.

Mi sitio no aparece como una opción para comprar boletos

Qué provocó el problema: falta la propiedad offers.url o no cumple con los requisitos de URL.

Cómo solucionarlo

  1. Asegúrate de que los datos estructurados incluyan la propiedad offers.url.
  2. Verifica que la URL cumpla con los requisitos de URL para offers.url.
  3. Pídele a Google que vuelva a rastrear tu sitio.
  4. Envía una solicitud de reevaluación.

La hora o la fecha son incorrectas

Qué provocó el problema: La hora o la fecha son incorrectas. Entre los errores comunes, se incluyen omitir el desplazamiento de la zona horaria o especificar una hora de inicio incorrecta (por ejemplo, la medianoche).

Cómo solucionarlo

  1. Especifica el desplazamiento de hora local correcto. Por ejemplo, si el evento comienza a las 7 p.m. en Nueva York (UTC -5) y finaliza a las 9 p.m., el valor de startDate será 2019-08-15T19:00:00-05:00, y el de endDate será 2019-08-15T21:00:00-05:00. Si no puedes completar el desplazamiento de zona horaria de tus eventos, no desplaces la hora (por ejemplo, puedes usar 2019-08-15T19:00:00).
  2. Asegúrate de que la hora de inicio o finalización sea la correcta. Un error común es configurar un evento como si comenzara a la medianoche, cuando en realidad no es así. Si el evento es de un día o no se anunció la hora de inicio, solo debes especificar la fecha. Por ejemplo:

    Se recomienda: 2019-07-20

    No se recomienda: 2019-07-20T00:00:00

    No se recomienda: 2019-08-15T00:00:01+00:00

    No se recomienda2019-08-15T00:00:00+00:00