Empresa local

Cuando los usuarios buscan empresas en la Búsqueda de Google o Maps, es posible que los resultados muestren una tarjeta de gráfico de conocimiento importante con detalles sobre una empresa que coincida con la consulta. Cuando buscan un tipo de empresa, como un restaurante, es posible que vean un carrusel de fichas creado por los proveedores de fichas de restaurantes.

Ejemplos

Puedes probar los ejemplos que se muestran a continuación con la Herramienta de prueba de datos estructurados.

Ficha de empresas locales

Búsquedas por categoría, como "restaurantes de cocina española" o búsquedas por entidad, como "Cascal" (un restaurante especializado en filetes)

Acción de lugar

Búsquedas basadas en la ubicación, como "barberías cercanas" o "peluquerías en un radio de 24 kilómetros"

Horario de atención

En los siguientes ejemplos, se muestra cómo marcar diferentes tipos de horarios de atención.

Horario estándar
El horario estándar, sin incluir las propiedades validFrom y validThrough, implica que el horario es válido para todo el año.En este ejemplo, se define una empresa que abre los días de semana de 9 a.m. a 9 p.m., y los fines de semana de 10 a.m. a 11 p.m.
"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "21:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Saturday",
      "Sunday"
    ],
    "opens": "10:00",
    "closes": "23:00"
  }
]
Horario de trasnoche
Para el horario de pasada la medianoche, define la hora de apertura y de cierre con una sola propiedad OpeningHoursSpecification. En este ejemplo, se define el horario de los sábados desde las 6 p.m. hasta los domingos a las 3 a.m.
"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
Abierto todo el día
Para mostrar que una empresa está abierta las 24 horas, establece la propiedad open en "00:00" y closes en "23:59".Para mostrar que la empresa está cerrada todo el día, establece las propiedades opens y closes en "00:00". En este ejemplo, se muestra una empresa que está abierta todo el día durante los sábados y cierra todo el día durante los domingos.
"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]
Horario de temporada
Usa las propiedades validFrom y validThrough para definir el horario de temporada. En este ejemplo, se muestran empresas cerradas durante las vacaciones de invierno.
"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "opens": "00:00",
  "closes": "00:00",
  "validFrom": "2015-12-23",
  "validThrough": "2016-01-05"
}

Varios departamentos

En el caso de una empresa que tiene subdepartamentos, cada uno con sus propiedades (como horarios de apertura o números de teléfono), puedes marcar la propiedad department con un elemento para cada subdepartamento. Define las propiedades que son diferentes a las de la tienda principal de manera individual en cada elemento del departamento correspondiente.

Sigue los lineamientos que aparecen a continuación para los nombres de los departamentos en el lenguaje de marcado:

  • Incluye el nombre de la tienda y el del departamento en el siguiente formato: {store name} {department name}.

    Por ejemplo, gMart y gMart Pharmacy.

  • Usa solo el nombre del departamento cuando tenga una marca explícita. Por ejemplo: Best Buy y Geek Squad.

Listas de restaurantes

Cuando un usuario busca "mejor lugar para cenar en NY" o proporciona una búsqueda de listas similar, el contenido de tu restaurante con lenguaje de marcado puede aparecer como un carrusel específico del host en los resultados de la búsqueda. A fin de habilitar las listas específicas del host para restaurantes, crea tu página de listas de restaurantes en HTML de AMP con lenguaje de marcado de ItemList y páginas de restaurantes individuales con lenguaje de marcado. Para obtener información detallada sobre la implementación, consulta la documentación sobre carruseles.

Situaciones de pedidos y reservas

El lenguaje de marcado para empresas puede especificar varios tipos de acciones y calificarlas con otros parámetros. En función del servicio que ofrezcas, puedes marcar el contenido con más de una combinación de acciones y parámetros.

Situaciones
OrderAction
Parámetros admitidos
  • potentialAction.@type
  • potentialAction.target.inLanguage
  • potentialAction.target.actionPlatform
ReserveAction
Parámetros admitidos
  • potentialAction.@type
  • potentialAction.target.inLanguage
  • potentialAction.target.actionPlatform
  • potentialAction.result.provider

En los siguientes ejemplos, se muestra el lenguaje de marcado de un único objetivo de acción para diferentes empresas.

Pedir comida
{
  "@context": "http://schema.org",
  "@type": "Restaurant",
  "@id": "http://davescafe.example.com/",
  "name": "Dave's Cafe",
  "image": [
    "https://example.com/photos/1x1/photo.jpg",
    "https://example.com/photos/4x3/photo.jpg",
    "https://example.com/photos/16x9/photo.jpg"
   ],
  "address" :{
    "@type": "PostalAddress",
    "streetAddress": "123 William St",
    "addressLocality": "New York",
    "addressRegion": "NY",
    "postalCode": "10038",
    "addressCountry": "US"
  },
  "geo":{
    "@type": "GeoCoordinates",
    "latitude": 40.709312,
    "longitude": -74.007136
  },
  "telephone": "+19172423826",
  "potentialAction": {
    "@type": "OrderAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://www.example.com/daves-cafe-new-york",
      "inLanguage": "en-US",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.org/AndroidPlatform"
      ]
    },
    "deliveryMethod": [
      "http://purl.org/goodrelations/v1#DeliveryModePickUp",
      "http://purl.org/goodrelations/v1#DeliveryModeOwnFleet"
    ],
    "priceSpecification": {
      "@type": "DeliveryChargeSpecification",
      "appliesToDeliveryMethod": "http://purl.org/goodrelations/v1#DeliveryModeOwnFleet",
      "priceCurrency": "USD",
      "price": 0.0,
      "eligibleTransactionVolume": {
        "@type": "PriceSpecification",
        "priceCurrency": "USD",
        "price": 12.00
      }
    }
  }
}
Reservar una clase
{
  "@context": "http://schema.org",
  "@type": "HealthClub",
  "@id": "http://daveshouseofyoga.example.com/",
  "name": "Dave's House of Yoga",
  "image": [
    "https://example.com/photos/1x1/photo.jpg",
    "https://example.com/photos/4x3/photo.jpg",
    "https://example.com/photos/16x9/photo.jpg"
   ],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "3986 Rivermark Pkwy",
    "addressLocality": "Santa Clara",
    "addressRegion": "CA",
    "postalCode": "95054",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 37.3952149,
    "longitude": -121.9474023
  },
  "telephone": "+14085551135",
  "potentialAction": {
    "@type": "ReserveAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://www.example.com/reserve?merchantId=20373",
      "inLanguage": "en-US",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.org/AndroidPlatform"
      ]
    },
    "result": {
      "@type": "Reservation",
      "name": "Book a class"
    }
  }
}
Reservar una mesa
{
  "@context": "http://schema.org",
  "@type": "Restaurant",
  "@id": "http://davescafe.example.com/",
  "name": "Dave's Cafe",
  "image": [
    "https://example.com/photos/1x1/photo.jpg",
    "https://example.com/photos/4x3/photo.jpg",
    "https://example.com/photos/16x9/photo.jpg"
   ],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 William St",
    "addressLocality": "New York",
    "addressRegion": "NY",
    "postalCode": "10038",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.709312,
    "longitude": -74.007136
  },
  "telephone": "+19172423826",
  "potentialAction": {
    "@type": "ReserveAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://www.example.com/reserve?merchantId=20373",
      "inLanguage": "en-US",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.org/AndroidPlatform"
      ]
    },
    "result": {
      "@type": "FoodEstablishmentReservation",
      "name": "Reserve table"
    }
  }
}

Hay muchas otras combinaciones de acciones y parámetros posibles. Cuando desarrolles más acciones de empresas complejas, asegúrate de usar un único valor en potentialAction.target.url o potentialAction.target.urlTemplate.

A continuación, se muestran algunas situaciones en las que se usan los tipos OrderAction y ReserveAction:

  • Una OrderAction y una ReserveAction: Un restaurante que acepta reservas y la entrega de pedidos.
  • Una OrderAction para cada proveedor: Un restaurante que acepta la entrega de pedidos de dos proveedores diferentes.
  • Una ReserveAction para lo siguiente:
    • Un estudio de yoga que ofrece diferentes clases por medio de un único proveedor que incluye todas las clases.
    • Una peluquería que tiene varios estilistas, cada uno con un menú de servicios único que los incluye a todos.

Lineamientos

Sigue los lineamientos que se muestran a continuación para el lenguaje de marcado de acciones para empresas:

  • Proporciona un solo valor en potentialAction.target.url o potentialAction.target.urlTemplate.
  • La app o la página web a la que se orienta debe permitirle al usuario completar la acción en línea. Por ejemplo, una página web que muestra el menú de un restaurante no es una página de acción válida si el usuario debe realizar una llamada telefónica para hacer un pedido o reservar una mesa.

Definiciones de tipos de datos estructurados

En las siguientes tablas, se enumeran las propiedades y cómo se usan para las empresas locales y los tipos de acciones para empresas, según las definiciones completas de schema.org/LocalBusiness.

Debes incluir las propiedades obligatorias a fin de que tu contenido sea apto para aparecer como resultado enriquecido. 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.

LocalBusiness

La definición completa de LocalBusiness está disponible en schema.org/LocalBusiness. Define la ubicación de cada empresa local como tipo de LocalBusiness. Usa el subtipo LocalBusiness más específico posible, como Restaurant, DaySpa, HealthClub, etc.

Propiedades obligatorias
@id

URL

Corresponde a un único ID único global de la ubicación específica de la empresa en la forma de una URL. Debe ser estable y mantener el mismo formato con el paso del tiempo. La Búsqueda de Google trata a la URL como una string opaca y no es necesario que sea un vínculo activo. Si la empresa tiene varias ubicaciones, asegúrate de que esta propiedad sea única para cada una de ellas.

address

PostalAddress

Corresponde a la ubicación específica de la empresa.

address.addressCountry

Text

Corresponde al código de país ISO 3166-1 alpha-2e de 2 letras.

address.addressLocality

Text

Corresponde a la ciudad.

address.addressRegion

Text

Corresponde al estado o a la provincia (si corresponde).

address.postalCode

Text

Corresponde al código postal.

address.streetAddress

Text

Corresponde al nombre y al número de la calle, y al número de unidad (si corresponde).

name

Text

Corresponde al nombre de la empresa.

Propiedades recomendadas
acceptsReservations

Boolean

Para los establecimientos de comida, corresponde a los valores "True" o "False". Si es "True", se recomienda definir también potentialAction.

department

LocalBusiness

Corresponde a un elemento anidado para un único subdepartamento que puedes definir mediante cualquiera de las propiedades de esta tabla.

geo

GeoCoordinates

Corresponde a las coordenadas geográficas de la empresa.

geo.latitude

Number

Corresponde a la latitud de la ubicación de la empresa. La precisión debe ser de al menos 5 cifras decimales.

geo.longitude

Number

Corresponde a la longitud de la ubicación de la empresa. La precisión debe ser de al menos 5 cifras decimales.

menu

URL

Corresponde a la URL completa del menú de los establecimientos de comida.

openingHoursSpecification

Corresponde a la matriz o a un único objeto (se admiten ambos) de OpeningHoursSpecification.

Corresponde al horario en el que se encuentra abierta la ubicación de la empresa.

openingHoursSpecification.closes

Time

Corresponde a la hora en que cierra la ubicación de la empresa, con formato hh:mm:ss.

openingHoursSpecification.dayOfWeek

Text

Corresponde a una o varias de estas opciones:

  • Lunes
  • Martes
  • Miércoles
  • Jueves
  • Viernes
  • Sábado
  • Domingo
openingHoursSpecification.opens

Time

Corresponde a la hora en que abre la ubicación de la empresa, con formato hh:mm:ss.

openingHoursSpecification.validFrom

Date

Corresponde a la fecha de inicio del cierre de temporada de la empresa, con formato AAAA-MM-DD.

openingHoursSpecification.validThrough

Date

Corresponde a la fecha de finalización del cierre de temporada de la empresa, con formato AAAA-MM-DD.

potentialAction

OrderAction o ReserveAction

Obtén más información sobre cómo especificar las acciones de empresas.

telephone

Text

Corresponde al número de teléfono de la empresa destinado a ser el método de contacto principal para clientes. Asegúrate de incluir el código de país y de área.

url

URL

Corresponde a la URL completa de la ubicación específica de la empresa. A diferencia de la propiedad @id, esta debe ser un vínculo activo.

Propiedades para restaurantes

Para incluir un restaurante en una lista específica del host, debes incluir las siguientes propiedades:

Propiedades obligatorias
image

Campo repetido de URL o ImageObject

Corresponde a una imagen de la empresa.

Lineamientos de imagen adicionales:

  • Cada página debe contener al menos una imagen (independientemente de si incluyen lenguaje de marcado o no). Google elegirá la mejor para mostrar en los resultados de la búsqueda según la relación de aspecto y resolución.
  • Las URL de las imágenes se deben poder rastrear e indexar.
  • Deben representar el contenido con lenguaje de marcado.
  • Deben estar en formato .jpg, .png o .gif.
  • Para obtener mejores resultados, proporciona varias imágenes en alta resolución (mínimo de 50,000 píxeles al multiplicar el ancho por el alto) con la siguiente relación de aspecto: 16 × 9, 4 × 3 y 1 × 1.

Por ejemplo:

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

Text

Corresponde al nombre de la empresa.

servesCuisine

servesCuisine

Si se usa lenguaje de marcado para un restaurante, proporciona el tipo de cocina que sirve.

Propiedades para acciones de empresas

Los datos estructurados en la Búsqueda de Google admiten dos tipos de acciones de empresas:

  • OrderAction: Representa un pedido para la entrega de productos o servicios.
  • ReserveAction: Representa la reserva de un objeto físico, como una mesa en un restaurante, un automóvil o una habitación de hotel para una fecha y hora específicas.

En las siguientes dos tablas, se enumeran las propiedades para cada tipo de acción.

Propiedades OrderAction

Propiedades recomendadas
deliveryMethod

DeliveryMethod

Corresponde al método mediante el cual se entrega el pedido al usuario. Usa uno de los siguientes valores:

  • http://purl.org/goodrelations/v1#DeliveryModePickUp
  • http://purl.org/goodrelations/v1#DeliveryModeOwnFleet
priceSpecification

DeliveryChargeSpecification

Corresponde al costo de entrega (si corresponde).

priceSpecification.appliesToDeliveryMethod

DeliveryMethod

Esta propiedad se aplica solo al método de entrega http://purl.org/goodrelations/v1#DeliveryModeOwnFleet.

priceSpecification.price

Number

Corresponde al costo de entrega como valor numérico únicamente. Usa la propiedad priceCurrency para indicar el tipo de moneda en lugar de los símbolos de moneda.

priceSpecification.priceCurrency

Text

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

priceSpecification.eligibleTransaction.price

Number

Corresponde al importe mínimo del pedido en valor numérico únicamente. Usa la propiedad eligibleTransaction.priceCurrency para indicar el tipo de moneda en lugar de los símbolos de moneda.

priceSpecification.eligibleTransaction.priceCurrency

Text

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

priceSpecification.eligibleTransactionVolume

PriceSpecification

Corresponde al importe mínimo del pedido para que sea apto para el servicio de entrega.

Propiedades ReserveAction

Propiedades obligatorias
result

Reservation

Corresponde a los detalles de la reserva. Usa el subtipo de Reservation más detallado posible, como FoodEstablishmentReservation, para reservar una mesa en un restaurante.

result.name

Text

Corresponde al objeto que se está reservando, como "Mesa en La Boheme".

Propiedades
result.provider

Person

Corresponde a los detalles del individuo que asiste al cliente.

result.provider.name

Text

Corresponde al nombre del proveedor.

Enviar comentarios sobre...