Données structurées d'établissement local (LocalBusiness)

Lorsque les internautes recherchent des établissements dans la recherche Google ou sur Maps, une fiche info Google contenant des informations sur une entreprise correspondant à la requête peut s'afficher. Lorsqu'ils recherchent un type d'établissement spécifique ("meilleurs restaurants à New York", par exemple), ils peuvent par ailleurs voir un carrousel correspondant à leur recherche. Les données structurées d'établissement local vous permettent d'indiquer à Google les horaires d'ouverture, les différents services, les avis (si votre site contient des avis sur d'autres établissements), etc. Pour aider les internautes à effectuer une réservation ou à passer une commande directement dans les résultats de recherche, vous pouvez activer les réservations, les paiements et d'autres actions via l'API Maps Booking.

Comment ajouter des données structurées

Ces données structurées représentent un format normalisé permettant de fournir des informations sur une page et de classer son contenu. En savoir plus sur le fonctionnement des données structurées

Voici, dans les grandes lignes, comment créer, tester et publier des données structurées.

  1. Ajoutez les propriétés obligatoires. En fonction du format que vous utilisez, découvrez où insérer des données structurées sur la page.
  2. Suivez les consignes.
  3. Validez votre code à l'aide de l'outil de test des résultats enrichis et corrigez les erreurs critiques, le cas échéant. Envisagez également de résoudre les problèmes non critiques que l'outil a pu signaler, car cela peut contribuer à améliorer la qualité de vos données structurées. Toutefois, ce n'est pas nécessaire pour pouvoir bénéficier des résultats enrichis.
  4. Déployez quelques pages où figurent vos données structurées et utilisez l'outil d'inspection d'URL pour découvrir comment Google voit la page. Assurez-vous que Google peut accéder à votre page et qu'elle n'est pas bloquée par un fichier robots.txt, la balise noindex ni par des identifiants de connexion. Si tout semble être en ordre, vous pouvez demander à Google d'explorer de nouveau vos URL.
  5. Pour informer Google des modifications futures de vos pages, nous vous recommandons de nous envoyer un sitemap. Vous pouvez automatiser cette opération à l'aide de l'API Sitemap de la Search Console.

Exemples

Fiche d'établissement local simple

Voici un exemple de fiche d'établissement local au format JSON-LD.

Fiche d'établissement local dans la recherche Google


<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": "https://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": "https://www.example.com/menu"
    }
    </script>
  </head>
  <body>
  </body>
</html>

Voici un exemple de restaurant qui répond aux exigences d'une page d'informations (en supposant qu'il existe également une page récapitulative avec un balisage de carrousel). Ce type de carrousel est actuellement limité à un petit groupe de prestataires. Si vous souhaitez participer, remplissez ce formulaire afin de témoigner de votre intérêt.

<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",
       "telephone": "+12125557234",
       "address": {
         "@type": "PostalAddress",
         "streetAddress": "148 W 51st St",
         "addressLocality": "New York",
         "addressRegion": "NY",
         "postalCode": "10019",
         "addressCountry": "US"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

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 horaires sont valides toute l'année. Cet exemple concerne 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 avec plusieurs services ne partageant pas les mêmes caractéristiques, telles que les horaires d'ouverture ou le numéro 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".

<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": "https://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",
          "address": {
            "@type": "PostalAddress",
            "streetAddress": "1600 Saratoga Ave",
            "addressLocality": "San Jose",
            "addressRegion": "CA",
            "postalCode": "95129",
            "addressCountry": "US"
          },
          "priceRange": "$",
          "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>

Consignes

Pour que votre site puisse apparaître dans les résultats enrichis liés aux établissements locaux, vous devez respecter les consignes suivantes.

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

Les tableaux suivants répertorient les propriétés et leur utilisation pour les établissements 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.

Vous pouvez ajouter des données structurées LocalBusiness à n'importe quelle page de votre site. Toutefois, il peut être plus judicieux de les intégrer sur une page contenant des informations sur votre entreprise.

LocalBusiness

La définition complète de 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).

Si vous possédez plusieurs types, spécifiez-les dans un tableau (additionalType n'est pas accepté). Par exemple, si votre établissement propose plusieurs services :

{
  "@context": "https://schema.org",
  "@type": ["Electrician", "Plumber", "Locksmith"],
  ....
}

Les propriétés prises en charge par Google sont les suivantes :

Propriétés obligatoires
address

PostalAddress

Adresse physique de l'établissement. Incluez autant de propriétés que possible. Plus vous fournissez de propriétés, plus le résultat proposé aux utilisateurs sera de bonne qualité. Exemple :

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

Text

Nom de l'établissement.

Propriétés recommandées
aggregateRating

AggregateRating

Cette propriété n'est recommandée que pour les sites qui recueillent des avis sur d'autres établissements locaux : note moyenne de l'établissement local basée sur plusieurs notes 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é correspondant à un service individuel. Vous pouvez spécifier n'importe quelle propriété de ce tableau pour définir un service.

Consignes supplémentaires :

  • Incluez le nom du magasin avec le nom du service sous la forme suivante : {store name} {department name}. Par exemple, gMart et gMart Pharmacy.
  • Si le nom du service est explicitement associé à une marque, indiquez un nom de service indépendant. Par exemple, Best Buy et Geek Squad.
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 établissements 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

DayOfWeek

Une ou plusieurs des valeurs suivantes :

  • https://schema.org/Monday : jour appelé lundi.
  • https://schema.org/Tuesday : jour appelé mardi.
  • https://schema.org/Wednesday : jour appelé mercredi.
  • https://schema.org/Thursday: jour appelé jeudi.
  • https://schema.org/Friday : jour appelé vendredi.
  • https://schema.org/Saturday : jour appelé samedi.
  • https://schema.org/Sunday : jour appelé dimanche.
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.

priceRange

Text

Gamme de prix relative d'un établissement, généralement spécifiée par une plage de valeurs numériques (par exemple, "10-15 €") ou un nombre normalisé de symboles de devise (par exemple, "€€€").

Ce champ doit comporter moins de 100 caractères. Sinon Google n'affichera pas de gamme de prix pour l'établissement.

review

Avis

Cette propriété n'est recommandée que pour les sites qui recueillent des avis sur d'autres établissements locaux : avis sur les établissements locaux. Respectez les consignes relatives aux extraits d'avis ainsi que la liste des propriétés d'avis obligatoires et recommandées.

servesCuisine

servesCuisine

Type de cuisine servie au restaurant.

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

URL complète de l'établissement. L'URL doit être un lien fonctionnel.

Si vous répertoriez plusieurs restaurants sur votre site et que vous souhaitez qu'ils soient éligibles à un carrousel hôte, ajoutez l'objet Carousel. Outre les propriétés standards de carrousel, définissez les propriétés suivantes dans cet objet. Bien que les propriétés de carrousel ne soient pas obligatoires, vous devez ajouter les propriétés suivantes si vous souhaitez que votre liste de restaurants puisse s'afficher dans un carrousel hôte.

Les propriétés prises en charge par Google sont les suivantes :

Propriétés obligatoires
image

URL ou ImageObject répété

Une ou plusieurs images du restaurant.

Consignes supplémentaires relatives aux images :

  • Les URL des images doivent être explorables et indexables. Pour vérifier si Google peut accéder à vos URL, utilisez l'outil d'inspection d'URL.
  • Les images doivent représenter le contenu balisé.
  • Le format des fichiers images doit être compatible avec Google Images.
  • Pour de meilleurs résultats, nous vous recommandons de fournir plusieurs images haute résolution (minimum 50 000 pixels lorsque vous multipliez la largeur et la hauteur) dans l'un des formats suivants : 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

Nom du restaurant.

Propriétés recommandées
address

PostalAddress

Adresse physique de l'établissement. Incluez autant de propriétés que possible. Plus vous fournissez de propriétés, plus le résultat proposé aux utilisateurs sera de bonne qualité. Exemple :

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

servesCuisine

Type de cuisine servie au restaurant.

问题排查

如果您在实施或调试结构化数据时遇到问题,请查看下面列出的一些实用资源。

  • 如果您使用了内容管理系统 (CMS) 或其他人负责管理您的网站,请向其寻求帮助。请务必向其转发列明问题细节的任何 Search Console 消息。
  • Google 不能保证使用结构化数据的功能一定会显示在搜索结果中。如需查看导致 Google 无法将您的内容显示为富媒体搜索结果的各种常见原因,请参阅结构化数据常规指南
  • 您的结构化数据可能存在错误。请参阅结构化数据错误列表
  • 如果您的网页受到结构化数据手动操作的影响,其中的结构化数据将会被忽略(但该网页仍可能会出现在 Google 搜索结果中)。如需修正结构化数据问题,请使用“人工处置措施”报告
  • 再次查看相关指南,确认您的内容是否未遵循指南。问题可能是因为出现垃圾内容或使用垃圾标记导致的。不过,问题可能不是语法问题,因此富媒体搜索结果测试无法识别这些问题。
  • 针对富媒体搜索结果缺失/富媒体搜索结果总数下降进行问题排查
  • 请等待一段时间,以便 Google 重新抓取您的网页并重新将其编入索引。请注意,网页发布后,Google 可能需要几天时间才会找到和抓取该网页。有关抓取和索引编制的常见问题,请参阅 Google 搜索抓取和索引编制常见问题解答
  • Google 搜索中心论坛中发帖提问。