Établissement local

Lorsque les internautes recherchent des établissements dans la recherche Google ou dans Google Maps, une carte Knowledge Graph contenant des détails sur l'entreprise correspondant à la requête peut apparaître. Lorsqu'ils soumettent une requête pour un type d'établissement spécifique, tel qu'un restaurant, ils peuvent par ailleurs voir un carrousel de fiches de restaurants hébergées par leurs fournisseurs.

Exemples

Vous pouvez tester les exemples suivants à l'aide de l'outil de test de données structurées.

Fiche d'établissement local

Voici un exemple de recherche par catégorie ("restaurants espagnols") ou de recherche par entité, comme "Cascal" (restaurant spécialisé dans les grillades).

Requêtes liées à la position géographique

Voici un exemple de requêtes géolocalisées, telles que "barbier à proximité" ou "salon de coiffure dans un rayon de 15 km".

Horaires d'ouverture

Les exemples suivants présentent comment baliser différents types d'horaires d'ouverture.

Horaires standards

L'exclusion des propriétés validFrom et validThrough signifie que les heures sont valables toute l'année.Cet exemple spécifie un établissement ouvert de 9h à 21h du lundi au vendredi et de 10h à 23h le week-end.

"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"
  }
]
Horaires nocturnes

En cas d'horaires dépassant minuit, définissez les heures d'ouverture et de fermeture à l'aide d'une seule propriété OpeningHoursSpecification. Cet exemple définit des horaires d'ouverture allant de 18h le samedi à 3h le dimanche.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
Horaire 24h/24

Pour indiquer qu'un établissement est ouvert 24h/24, spécifiez "00:00" pour la propriété open et "23:59" pour la propriété closes.Pour indiquer qu'il est fermé toute la journée, définissez "00:00" à la fois pour les propriétés opens et closes. Cet exemple illustre une entreprise ouverte toute la journée le samedi et fermée toute la journée le dimanche.

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

Utilisez les propriétés validFrom et validThrough pour définir des horaires saisonniers. Cet exemple présente une entreprise fermée pendant les vacances d'hiver.

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

Établissements comprenant plusieurs services

Pour un établissement comprenant plusieurs services ne partageant pas les mêmes caractéristiques, telles que les horaires d'ouverture ou le numéros de téléphone, vous pouvez baliser chaque service avec la propriété department. Définissez les caractéristiques qui diffèrent de l'établissement principal individuellement au sein de chaque élément représentant la propriété "department".

Pour procéder au balisage du nom de chaque service, suivez ces consignes :

  • Incluez le nom du magasin avec le nom du service sous la forme suivante : {store name} {department name}.

    Exemple : gMart et gMart Pharmacy

  • Utilisez le nom du service lui-même lorsqu'il est explicitement associé à une marque. Exemple : Best Buy et Geek Squad.

Listes de restaurants

Lorsqu'un utilisateur recherche le meilleur endroit où dîner à New York ou effectue des requêtes similaires en vue d'obtenir différentes suggestions, votre contenu peut apparaître dans un carrousel spécifique à l'hôte dans les résultats de recherche, dans la mesure vous avez balisé correctement les restaurants proposés par votre site. Pour activer des listes spécifiques à l'hôte pour les restaurants, les pages correspondantes de votre site doivent être au format AMP HTML et utiliser le balisage ItemList pour chaque page associée à un restaurant individuel. Pour plus d'informations sur la mise en œuvre de cette fonctionnalité, consultez la documentation sur les carrousels.

Scénarios de commande et de réservation

Le balisage d'un établissement peut spécifier plusieurs types d'action et qualifier chaque action avec d'autres paramètres. En fonction de votre offre, vous pouvez baliser le contenu avec plusieurs combinaisons d'actions et de paramètres de qualification.

Scénarios
OrderAction
Paramètres possibles
  • potentialAction.@type
  • potentialAction.target.inLanguage
  • potentialAction.target.actionPlatform
ReserveAction
Paramètres possibles
  • potentialAction.@type
  • potentialAction.target.inLanguage
  • potentialAction.target.actionPlatform
  • potentialAction.result.provider

Les exemples suivants illustrent le balisage d'une cible d'action unique pour différents établissements.

Commander de la nourriture
{
  "@context": "https://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
      }
    }
  }
}
Réserver un cours
{
  "@context": "https://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"
    }
  }
}
Réserver une table
{
  "@context": "https://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"
    }
  }
}

De nombreuses autres combinaisons d'actions et de paramètres sont possibles. Lorsque vous développez des actions plus complexes pour un établissement, veillez à n'utiliser qu'une seule valeur dans potentialAction.target.url OU potentialAction.target.urlTemplate.

Voici quelques scénarios d'utilisation des types OrderAction et ReserveAction :

  • Une propriété OrderAction et une propriété ReserveAction : restaurant qui accepte les commandes et les réservations de table.
  • Une propriété OrderAction pour chaque fournisseur : restaurant qui accepte les commandes auprès de deux fournisseurs différents.
  • Une propriété ReserveAction pour ce qui suit :
    • Studio de yoga qui propose différents cours par l'intermédiaire d'un seul fournisseur incluant tous les cours
    • Salon de coiffure faisant appel à plusieurs stylistes, chacun avec un menu unique de services qui inclut tous les stylistes

Consignes

Pour utiliser le balisage Action pour un établissement, suivez ces consignes :

  • Indiquez une seule valeur dans potentialAction.target.url OU potentialAction.target.urlTemplate.
  • La page Web ou l'application cible doit permettre à l'utilisateur d'effectuer l'action en ligne. Par exemple, une page Web qui affiche le menu d'un restaurant n'est pas une page d'action valide si l'utilisateur doit effectuer un appel téléphonique pour passer une commande ou réserver une table.

Définitions des types de données structurées

Les tableaux suivants répertorient les propriétés et leur utilisation pour les établissement locaux et les types d'action correspondants, en fonction des définitions complètes disponibles sur schema.org/LocalBusiness.

Vous devez inclure les propriétés obligatoires pour que votre contenu puisse être affiché sous forme de résultat enrichi. Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations à votre contenu et ainsi offrir une meilleure expérience utilisateur.

LocalBusiness

La définition complète de la propriété LocalBusiness est disponible sur schema.org/LocalBusiness. Définissez chaque établissement local sous le type LocalBusiness. Utilisez le sous-type LocalBusiness le plus spécifique possible (par exemple, Restaurant, DaySpa, HealthClub, etc.).

Propriétés obligatoires
@id

URL

ID unique global de l'établissement sous la forme d'une URL. Cet identifiant doit être stable et immuable dans le temps. La recherche Google considère l'URL comme une chaîne opaque. Le lien ne doit donc pas nécessairement être fonctionnel. Si l'entreprise a plusieurs sites, assurez-vous que la valeur @id est unique pour chacun d'eux.

address

PostalAddress

Adresse de l'établissement spécifique.

address.addressCountry

Text

Code de pays à deux lettres ISO 3166-1 alpha-2.

address.addressLocality

Text

Ville

address.addressRegion

Text

Région ou département, le cas échéant.

address.postalCode

Text

Code postal.

address.streetAddress

Text

Numéro de la rue, nom de la rue et numéro d'unité (le cas échéant).

name

Text

Raison sociale.

Propriétés recommandées
acceptsReservations

Boolean

Pour les restaurants et établissement similaires, "True" ou "False". Lorsque la valeur est "True", il est conseillé de définir également potentialAction.

aggregateRating

AggregateRating

Note moyenne de l'établissement local basée sur plusieurs évaluations ou avis. Respectez les consignes relatives aux extraits d'avis ainsi que la liste des propriétés de note globale obligatoires et recommandées.

department

LocalBusiness

Élément imbriqué pour un seul service et que vous pouvez définir via l'une des propriétés indiquées dans ce tableau.

geo

GeoCoordinates

Coordonnées géographiques de l'établissement.

geo.latitude

Number

Latitude de l'établissement. La précision doit être d'au moins 5 décimales.

geo.longitude

Number

Longitude de l'établissement. La précision doit être d'au moins 5 décimales.

menu

URL

Pour les restaurants et établissement similaires, URL complète du menu.

openingHoursSpecification

Tableau ou objet unique (les deux sont acceptés) pour OpeningHoursSpecification

Heures d'ouverture de l'établissement.

openingHoursSpecification.closes

Time

Heure de fermeture de l'établissement, au format hh:mm:ss.

openingHoursSpecification.dayOfWeek

Text

Un ou plusieurs des éléments suivants :

  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday
openingHoursSpecification.opens

Time

Heure d'ouverture de l'établissement, au format hh:mm:ss.

openingHoursSpecification.validFrom

Date

Date de début d'une fermeture saisonnière de l'établissement, au format AAAA-MM-JJ.

openingHoursSpecification.validThrough

Date

Date de fin d'une fermeture saisonnière de l'établissement, au format AAAA-MM-JJ.

potentialAction

ReserveAction ou OrderAction

En savoir plus sur la spécification des actions liées à un établissement.

review

Avis

Avis sur l'établissement local. Respectez les consignes relatives aux extraits d'avis ainsi que la liste des propriétés d'avis obligatoires et recommandées.

telephone

Text

Numéro de téléphone professionnel censé être le mode de contact principal des clients. Assurez-vous d'inclure le code du pays et l'indicatif régional dans ce numéro de téléphone.

url

URL

L'URL complète de l'établissement. Contrairement à la propriété @id, l'URL doit ici être un lien fonctionnel.

Propriétés d'un restaurant

Pour inclure un restaurant dans une liste spécifique à un hôte, incluez les propriétés suivantes :

Propriétés obligatoires
image

Champ répété d'URL ou d'ImageObject

Image de l'établissement.

Consignes supplémentaires relatives aux images :

  • Chaque page doit contenir au moins une image (que vous incluiez ou non un balisage). Google choisit la meilleure image à afficher dans les résultats de recherche en fonction du format et de la résolution.
  • Les URL des images doivent être explorables et indexables.
  • Les images doivent représenter le contenu balisé.
  • Les images doivent être au format .jpg, .png ou .gif.
  • Pour de meilleurs résultats, fournissez plusieurs images de haute résolution (minimum 50 000 pixels lorsque vous multipliez la largeur et la hauteur) avec les proportions suivantes : 16x9, 4x3 et 1x1.

Exemple :

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

Text

Raison sociale.

servesCuisine

servesCuisine

Si vous balisez un restaurant, indiquez le type de cuisine qu'il sert.

Propriétés d'actions liées à un établissement

Les données structurées de la recherche Google acceptent deux types d’actions liées aux établissements :

  • OrderAction : représente une commande de produits ou de services à livrer.
  • ReserveAction : représente une réservation pour un objet physique tel qu'une table de restaurant, une automobile ou une chambre d'hôtel pour une date et une heure spécifiques.

Les deux tableaux suivants répertorient les propriétés de chaque type d'action.

Propriétés OrderAction

Propriétés recommandées
deliveryMethod

DeliveryMethod

Mode via lequel la commande est livrée à l'utilisateur. Utilisez l'une des valeurs suivantes :

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

DeliveryChargeSpecification

Coût du service de livraison, le cas échéant.

priceSpecification.appliesToDeliveryMethod

DeliveryMethod

Cette propriété s'applique uniquement au mode de livraison : http://purl.org/goodrelations/v1#DeliveryModeOwnFleet

priceSpecification.price

Number

Coût total de livraison sous forme de valeur numérique uniquement. Utilisez la propriété priceCurrency pour désigner le type de devise au lieu de symboles monétaires.

priceSpecification.priceCurrency

Text

Code de devise ISO 4217 à trois lettres.

priceSpecification.eligibleTransaction.price

Number

Montant minimal de la commande sous forme numérique uniquement. Utilisez la propriété eligibleTransaction.priceCurrency pour spécifier le type de devise au lieu d’inclure des symboles monétaires.

priceSpecification.eligibleTransaction.priceCurrency

Text

Code de devise ISO 4217 à trois lettres.

priceSpecification.eligibleTransactionVolume

PriceSpecification

Montant minimal de la commande pour pouvoir bénéficier du service de livraison.

Propriétés ReserveAction

Propriétés obligatoires
result

Reservation

Détails de la réservation. Utilisez le sous-type de propriété Reservation le plus granulaire possible, tel que FoodEstablishmentReservation pour réserver une table à un restaurant.

result.name

Text

Nom de l'objet faisant l'objet de la réservation ("Table à La Bohême", par exemple).

Propriétés recommandées
result.provider

Person

Détails de l'individu qui assiste le client.

result.provider.name

Text

Nom du fournisseur.

Envoyer des commentaires concernant…