Empresa local

Cuando los usuarios buscan empresas en la Búsqueda de Google o en Maps, los resultados de la búsqueda pueden mostrar una tarjeta de gráfico de conocimiento prominente con detalles sobre una empresa que coincide con la consulta. Cuando los usuarios realizan una consulta sobre un tipo de empresa (por ejemplo, "los mejores restaurantes de Nueva York"), pueden ver un carrusel de empresas relacionadas con la consulta. Con los datos estructurados de la empresa local, puedes indicarle a Google los horarios de apertura, los distintos departamentos de la empresa, las reseñas de la empresa, entre otros. Si quieres ayudar a los usuarios a hacer una reserva o un pedido directamente en los resultados de búsqueda, puedes usar la API de reservas de Maps para permitir realizar reservas, pagos y otras operaciones.

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.
  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 el envío con la API Sitemap de Search Console.

Ejemplos

Fichas sencillas de empresa local

A continuación se muestra un ejemplo de una ficha sencilla de una empresa local con JSON-LD.


<html>
  <head>
    <title>Dave's Steak House</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "name": "Dave's Steak House",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "148 W 51st St",
        "addressLocality": "New York",
        "addressRegion": "NY",
        "postalCode": "10019",
        "addressCountry": "US"
      },
      "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "4",
          "bestRating": "5"
        },
        "author": {
          "@type": "Person",
          "name": "Lillian Ruiz"
        }
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 40.761293,
        "longitude": -73.982294
      },
      "url": "http://www.example.com/restaurant-locations/manhattan",
      "telephone": "+12122459600",
      "servesCuisine": "American",
      "priceRange": "$$$",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday"
          ],
          "opens": "11:30",
          "closes": "22:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "11:30",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "16:00",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "16:00",
          "closes": "22:00"
        }
      ],
      "menu": "http://www.example.com/menu",
      "acceptsReservations": "True"
    }
    </script>
  </head>
  <body>
  </body>
</html>

A continuación, se muestra un ejemplo de un carrusel de restaurantes. En estos momentos, el carrusel de restaurantes está limitado a un pequeño conjunto de proveedores de restaurantes. Si quieres participar, manifiesta tu interés en nuestro formulario.

<html>
  <head>
    <title>Trattoria Luigi</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Restaurant",
      "name": "Trattoria Luigi",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
       "priceRange": "$$$",
       "servesCuisine": "Italian",
       "address": {
         "@type": "PostalAddress",
         "streetAddress": "148 W 51st St",
         "addressLocality": "New York",
         "addressRegion": "NY",
         "postalCode": "10019",
         "addressCountry": "US"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Horario de apertura

En los siguientes ejemplos se muestra cómo indicar diferentes tipos de horarios de apertura.

Horario estándar

La exclusión de las propiedades validFrom y validThrough significa que las horas son válidas durante todo el año. En este ejemplo se define una empresa que está abierta de lunes a viernes desde las 9:00 h hasta las 21:00 h, y durante el fin de semana desde las 10:00 h hasta las 23:00 h.

"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"
  }
]
Horarios nocturnos

Para indicar horas posteriores a la medianoche, define las horas de apertura y cierre mediante una sola propiedad OpeningHoursSpecification. En este ejemplo se definen los horarios desde el sábado a las 18:00 h hasta el domingo a las 15:00 h.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
Horarios de todo el día

Para mostrar una empresa abierta las 24 horas del día, pon "00:00" en la propiedad open y "23:59" en la propiedad closes. Si quieres indicar que una empresa está cerrada todo el día, pon "00:00" en las propiedades opens y closes. En este ejemplo se muestra una empresa abierta todo el día los sábados y cerrada todo el día los domingos.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]
Horario estacional

Con las propiedades validFrom y validThrough, puedes definir horarios estacionales. En este ejemplo se muestra una empresa cerrada durante las vacaciones de invierno.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "opens": "00:00",
  "closes": "00:00",
  "validFrom": "2015-12-23",
  "validThrough": "2016-01-05"
}

Múltiples departamentos

En una empresa con departamentos, cada uno con sus distintas propiedades, como los horarios de apertura o los números de teléfono, puedes marcar la propiedad department con un elemento para cada departamento. Define las propiedades que difieran de la tienda principal en los elementos respectivos de cada departamento.

<html>
  <head>
    <title>Dave's Department Store</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Store",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "name": "Dave's Department Store",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "1600 Saratoga Ave",
        "addressLocality": "San Jose",
        "addressRegion": "CA",
        "postalCode": "95129",
        "addressCountry": "US"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 37.293058,
        "longitude": -121.988331
      },
      "url": "http://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427",
      "priceRange": "$$$",
      "telephone": "+14088717984",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "opens": "08:00",
          "closes": "23:59"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "08:00",
          "closes": "23:00"
        }
      ],
      "department": [
        {
          "@type": "Pharmacy",
          "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
          "name": "Dave's Pharmacy",
          "telephone": "+14088719385",
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday"
              ],
              "opens": "09:00",
              "closes": "19:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Saturday",
              "opens": "09:00",
              "closes": "17:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Sunday",
              "opens": "11:00",
              "closes": "17:00"
            }
          ]
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Directrices

Debes seguir estas directrices para que puedas aparecer en los resultados enriquecidos de empresa local.

Definiciones de tipos de datos estructurados

En las siguientes tablas se enumeran las propiedades y el uso de las empresas locales y los tipos de acciones comerciales, según las definiciones completas en schema.org/LocalBusiness.

Debes incluir las propiedades obligatorias para que tu contenido pueda mostrarse como un resultado enriquecido. También puedes incluir las propiedades recomendadas para añadir más información sobre tu contenido, lo que puede ayudar a mejorar la experiencia de usuario.

LocalBusiness

Puedes consultar la definición completa de LocalBusiness en schema.org/LocalBusiness. Define cada ubicación de la empresa local como un tipo LocalBusiness. Utiliza el subtipo LocalBusiness más específico posible; por ejemplo, Restaurant, DaySpa, HealthClub, etc.

Propiedades obligatorias
@id

URL

Indica el ID único de la ubicación concreta de la empresa en forma de URL. Debe ser fijo y no cambiar con el tiempo. La Búsqueda de Google trata la URL como una cadena opaca y no tiene que ser un enlace que funcione. Si la empresa tiene varias ubicaciones, asegúrate de que @id sea único para cada ubicación.

address

PostalAddress

Indica la ubicación física de la empresa. Incluye tantas propiedades como sea posible, cuantas más propiedades proporciones, mayor será la calidad del resultado que obtendrán los usuarios. Por ejemplo:


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St Suit 42 Unit 7",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
name

Text

Es el nombre de la empresa.

Propiedades recomendadas
aggregateRating

AggregateRating

Indica la valoración media de la empresa local basada en varias valoraciones o reseñas. Sigue las directrices de fragmentos de reseñas y la lista de propiedades de reseñas agregadas obligatorias y recomendadas.

department

LocalBusiness

Indica un elemento anidado para un solo departamento. Puedes definir cualquiera de las propiedades en esta tabla para un departamento.

Directrices adicionales:

  • Incluye el nombre de la tienda con el nombre del departamento con el formato siguiente: {store name} {department name}. Por ejemplo, gMart y gMart Pharmacy.
  • Si el nombre del departamento tiene una marca explícita, especifica un nombre de departamento por sí mismo. Por ejemplo: Best Buy y Geek Squad.
geo

GeoCoordinates

Indica las coordenadas geográficas de la empresa.

geo.latitude

Number

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

geo.longitude

Number

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

menu

URL

Para establecimientos de comida, la URL completa del menú.

openingHoursSpecification

Matriz u objeto único (se admiten ambos) de OpeningHoursSpecification

Horario durante el cual la ubicación de la empresa está abierta.

openingHoursSpecification.closes

Time

Hora a la que se cierra la ubicación de la empresa, en formato hh:mm:ss.

openingHoursSpecification.dayOfWeek

Text

Una o varias de estas opciones:

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

Time

Hora a la que se abre la ubicación de la empresa, en formato hh:mm:ss.

openingHoursSpecification.validFrom

Date

Indica la fecha de inicio del cierre comercial estacional, en formato AAAA-MM-DD.

openingHoursSpecification.validThrough

Date

Indica la fecha de finalización del cierre comercial estacional, en formato AAAA-MM-DD.

priceRange

Text

El intervalo de precios relativo de una empresa, normalmente especificado por un intervalo numérico (por ejemplo, "10-15 $") o un número normalizado de signos de moneda (por ejemplo, "$$$")

review

Revisión

Reseña de la empresa local. Sigue las directrices de fragmentos de reseñas y la lista de propiedades de reseñas obligatorias y recomendadas.

servesCuisine

servesCuisine

Indica el tipo de cocina que se sirve en el restaurante.

telephone

Text

Indica un número de teléfono comercial destinado a ser la forma de contacto principal de los clientes. No olvides incluir el código de país y el código de área en el número de teléfono.

url

URL

Indica la URL completa de la ubicación de la empresa específica. A diferencia de la propiedad @id, esta propiedad de URL debe ser un enlace que funcione.

Si tienes varios restaurantes en la ficha de tu sitio web y quieres que puedan aparecer en un carrusel anfitrión, añade el objeto Carrusel. Además de las propiedades Carrusel estándar, define las siguientes propiedades de tu objeto Carrusel. Si bien no son obligatorias, debes añadir las siguientes propiedades si quieres que tu lista de restaurantes pueda aparecer en un carrusel anfitrión.

Propiedades obligatorias
image

Valores URL o ImageObject repetidos

Muestra una o más imágenes del restaurante.

Directrices de imágenes adicionales:

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

Por ejemplo:

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

Text

Es el nombre del restaurante.

Propiedades recomendadas
address

PostalAddress

Indica la ubicación física de la empresa. Incluye tantas propiedades como sea posible, cuantas más propiedades proporciones, mayor será la calidad del resultado que obtendrán los usuarios. Por ejemplo:


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
servesCuisine

servesCuisine

Indica el tipo de cocina que se sirve en el restaurante.

Solucionar problemas

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