Attività locale

Quando gli utenti cercano attività commerciali su Ricerca Google o Maps, i risultati di ricerca potrebbero mostrare una scheda Knowledge Graph ben visibile con i dettagli relativi a un'attività che soddisfa la query. Quando gli utenti ricercano un tipo di attività, ad esempio un ristorante, possono visualizzare un carosello di schede ospitate dai fornitori di schede di ristoranti.

Esempi

Puoi provare i seguenti esempi usando lo Strumento di test per i dati strutturati.

Scheda di attività locale

Ecco un esempio di ricerche per categoria, ad esempio "ristoranti spagnoli" o ricerche di entità come "Cascal" (una steak house).

Azione possibile in un determinato luogo

Ecco un esempio di query basata sul luogo, ad esempio "barbieri nelle vicinanze" o "parrucchieri entro 15 miglia".

Orario di apertura

I seguenti esempi mostrano come eseguire il markup per i diversi tipi di orari di apertura.

Orari standard

Se si escludono le proprietà validFrom e validThrough, gli orari sono validi tutto l'anno.Questo esempio definisce un'attività aperta dalle 9:00 alle 21:00 nei giorni feriali e dalle 10:00 alle 23:00 durante il fine settimana.

"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"
  }
]
Orari notturni

Per gli orari dopo la mezzanotte, definisci l'orario di apertura e di chiusura utilizzando una singola proprietà OpeningHoursSpecification. Questo esempio definisce gli orari dalle 18:00 di sabato fino alle 3:00 di domenica.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
Orari per tutto il giorno

Per mostrare che un'attività è aperta 24 ore al giorno, imposta la proprietà open su "00:00" e la proprietà closes su "23:59".Per mostrare che un'attività è chiusa tutto il giorno, imposta entrambe le proprietà opens e closes su "00:00". Questo esempio mostra un'attività aperta sabato per tutto il giorno e chiusa domenica per tutto il giorno.

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

Utilizza le proprietà validFrom e validThrough per definire gli orari stagionali. Questo esempio mostra un'attività chiusa per le festività invernali.

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

Più reparti

Nel caso di un'attività con più reparti, ciascuno con le sue proprietà distinte, come gli orari di apertura o i numeri di telefono, puoi eseguire il markup della proprietà department con un elemento per ogni sotto-reparto. Definisci le proprietà che differiscono dall'attività principale singolarmente in ciascun elemento del rispettivo reparto.

Segui queste linee guida per i nomi dei reparti nel tuo markup:

  • Includi il nome del negozio con il nome del reparto nel seguente formato: {store name} {department name}.

    Ad esempio, gMart e gMart Pharmacy.

  • Usa un nome di reparto da solo quando il brand è esplicito. Ad esempio: Best Buy e Geek Squad.

Elenchi di ristoranti

Quando un utente cerca cena migliore a New York o fornisce query simili alla ricerca di elenchi, i contenuti del ristorante sottoposto a markup possono apparire come un carosello specifico per l'host nei risultati di ricerca. Per attivare gli elenchi specifici degli host per i ristoranti, crea le pagine degli elenchi di ristoranti in HTML AMP con il markup ItemList e sottoponi le singole pagine del ristorante al markup. Per i dettagli relativi all'implementazione, consulta la documentazione relativa ai caroselli.

Scenari relativi a ordini e prenotazioni

Il markup dell'attività può specificare più tipi di azione e qualificare le azioni con altri parametri. A seconda dell'offerta, puoi eseguire il markup dei tuoi contenuti con più di un'unica combinazione di azioni e parametri di qualificazione.

Scenari
OrderAction
Parametri supportati
  • potentialAction.@type
  • potentialAction.target.inLanguage
  • potentialAction.target.actionPlatform
ReserveAction
Parametri supportati
  • potentialAction.@type
  • potentialAction.target.inLanguage
  • potentialAction.target.actionPlatform
  • potentialAction.result.provider

I seguenti esempi mostrano il markup per un singolo target di azione per diverse attività.

Ordinare cibo
{
  "@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
      }
    }
  }
}
Prenotare una lezione
{
  "@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"
    }
  }
}
Prenotare un tavolo
{
  "@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"
    }
  }
}

Sono possibili molte altre combinazioni di azioni e parametri. Quando si sviluppano azioni dell'attività più complesse, assicurati di utilizzare solo un singolo valore in potentialAction.target.url OPPURE in potentialAction.target.urlTemplate.

Ecco alcuni scenari per l'utilizzo dei tipi OrderAction e ReserveAction:

  • Un OrderAction e un ReserveAction: un ristorante che accetta ordini di consegna e prenotazioni di tavoli.
  • Un OrderAction per ciascun fornitore: un ristorante che accetta ordini di consegna da due diversi fornitori.
  • Un ReserveAction per quanto segue:
    • Una scuola di yoga che offre diverse lezioni tramite un singolo fornitore che include tutti i corsi.
    • Un parrucchiere che ha più stylist, ognuno con un unico menu di servizi che li include tutti.

Linee guida

Segui queste linee guida per il markup di Action per le attività:

  • Fornisci solo un singolo valore in potentialAction.target.url O potentialAction.target.urlTemplate.
  • La pagina web o l'app scelte come target devono consentire all'utente di completare l'azione online. Ad esempio, una pagina web in cui viene visualizzato il menu di un ristorante non è una pagina di azione valida se l'utente deve effettuare una chiamata per ordinare o prenotare un tavolo.

Definizioni dei tipi di dati strutturati

Le seguenti tabelle elencano le proprietà e l'utilizzo per i tipi di azioni commerciali e attività locali, in base alle definizioni complete su schema.org/LocalBusiness.

Affinché i tuoi contenuti siano idonei per essere visualizzati come risultato multimediale, devi includere le proprietà obbligatorie. Puoi anche includere le proprietà consigliate per aggiungere ulteriori informazioni sui tuoi contenuti, fornendo così un'esperienza utente migliore.

LocalBusiness

La definizione completa di LocalBusiness è disponibile su schema.org/LocalBusiness. Definisci ogni sede dell'attività locale come tipo LocalBusiness. Utilizza il sottotipo LocalBusiness più specifico possibile; ad esempio, Restaurant, DaySpa, HealthClub e così via.

Proprietà obbligatorie
@id

URL

ID univoco globale della tua attività sotto forma di URL. L'ID deve essere stabile e non cambiare nel corso del tempo. Ricerca Google considera l'URL come una stringa opaca e non deve necessariamente essere un link funzionante. Se l'attività ha più sedi, assicurati che la proprietà @id sia univoca per ogni sede.

address

PostalAddress

Indirizzo della sede dell'attività commerciale specifica.

address.addressCountry

Text

Il codice paese ISO 3166-1 alpha-2 a 2 lettere.

address.addressLocality

Text

Città

address.addressRegion

Text

Stato o provincia, se applicabile.

address.postalCode

Text

Codice postale o CAP.

address.streetAddress

Text

Numero civico, nome della via e numero di unità (se applicabile).

name

Text

Nome dell'attività commerciale.

Proprietà consigliate
acceptsReservations

Boolean

Per le attività alimentari, True o False. Se True, la best practice prevede di definire potentialAction.

aggregateRating

AggregateRating

La valutazione media dell'attività locale in base a più valutazioni o recensioni. Segui le linee guida sugli snippet recensione e l'elenco di proprietà della recensione complessive obbligatorie e consigliate.

department

LocalBusiness

Un elemento nidificato per un singolo sotto-reparto che puoi definire usando una delle proprietà in questa tabella.

geo

GeoCoordinates

Le coordinate geografiche dell'attività.

geo.latitude

Number

La latitudine della sede dell'attività commerciale. La precisione dovrebbe essere di almeno 5 posizioni decimali.

geo.longitude

Number

La longitudine della sede dell'attività commerciale. La precisione dovrebbe essere di almeno 5 posizioni decimali.

menu

URL

Per le attività alimentari, l'URL completo del menu.

openingHoursSpecification

Matrice o singolo oggetto (entrambi supportati) di OpeningHoursSpecification

Orari durante i quali la sede dell'attività è aperta.

openingHoursSpecification.closes

Time

L'orario in cui la sede dell'attività chiude, in formato hh:mm:ss.

openingHoursSpecification.dayOfWeek

Text

Uno o più dei seguenti elementi:

  • Lunedì
  • Martedì
  • Mercoledì
  • Giovedì
  • Venerdì
  • Sabato
  • Domenica
openingHoursSpecification.opens

Time

L'orario in cui la sede dell'attività apre, in formato hh:mm:ss.

openingHoursSpecification.validFrom

Date

La data di inizio della chiusura di un'attività stagionale, in formato AAAA-MM-GG.

openingHoursSpecification.validThrough

Date

La data di fine della chiusura di un'attività stagionale, in formato AAAA-MM-GG.

potentialAction

ReserveAction o OrderAction

Ulteriori informazioni su come specificare le azioni dell'attività.

review

Review

Una recensione dell'attività locale. Segui le linee guida sugli snippet recensione e l'elenco di proprietà della recensione obbligatorie e consigliate.

telephone

Text

Un numero di telefono aziendale destinato a essere il metodo di contatto principale per i clienti. Assicurati di includere il codice paese e il prefisso del numero di telefono.

url

URL

L'URL completo della tua attività. A differenza della proprietà @id, questo URL deve essere un link funzionante.

Proprietà del ristorante

Per far sì che un ristorante compaia in un elenco specifico dell'host, includi le seguenti proprietà:

Proprietà obbligatorie
image

Campo ripetuto di URL o ImageObject

Un'immagine dell'attività.

Ulteriori linee guida per le immagini:

  • Ogni pagina deve contenere almeno un'immagine (indipendentemente dal fatto che includa markup o meno). Google sceglierà l'immagine migliore da visualizzare nei risultati di ricerca in base alle proporzioni e alla risoluzione.
  • Gli URL immagine devono poter essere sottoposti a scansione e indicizzati.
  • Le immagini devono rappresentare i contenuti sottoposti a markup.
  • Le immagini devono essere in formato .JPG, .PNG o .GIF.
  • Per ottenere i migliori risultati, fornisci più immagini ad alta risoluzione (minimo 50 K pixel moltiplicando larghezza e altezza) con le seguenti proporzioni: 4x3, 16x9 e 1x1.

Ad esempio:

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

Text

Nome dell'attività commerciale.

servesCuisine

servesCuisine

Se esegui il markup di un ristorante, fornisci il tipo di cucina che prepara.

Proprietà delle azioni di un'attività

I dati strutturati in Ricerca Google supportano due tipi di azioni di un'attività:

  • OrderAction: rappresenta un ordine per prodotti o servizi da consegnare.
  • ReserveAction: rappresenta una prenotazione per un oggetto fisico come un tavolo al ristorante, un'automobile o una camera d'albergo per una data e un orario specifici.

Le due tabelle seguenti elencano le proprietà per ogni tipo di azione.

Proprietà OrderAction

Proprietà consigliate
deliveryMethod

DeliveryMethod

Metodo con cui l'ordine viene recapitato all'utente. Utilizza uno dei seguenti valori:

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

DeliveryChargeSpecification

Costo del servizio di consegna, se applicabile.

priceSpecification.appliesToDeliveryMethod

DeliveryMethod

Questa proprietà si applica solo al metodo di consegna: http://purl.org/goodrelations/v1#DeliveryModeOwnFleet

priceSpecification.price

Number

Costo totale di consegna come valore numerico. Utilizza la proprietà priceCurrency per indicare il tipo di valuta anziché i simboli di valuta.

priceSpecification.priceCurrency

Text

Il codice di valuta ISO 4217 di 3 lettere.

priceSpecification.eligibleTransaction.price

Number

Importo dell'ordine minimo come valore numerico. Utilizza la proprietà eligibleTransaction.priceCurrency per specificare il tipo di valuta anziché includere i simboli di valuta.

priceSpecification.eligibleTransaction.priceCurrency

Text

Il codice di valuta ISO 4217 di 3 lettere.

priceSpecification.eligibleTransactionVolume

PriceSpecification

Importo minimo dell'ordine per essere idoneo al servizio di consegna.

Proprietà ReserveAction

Proprietà obbligatorie
result

Reservation

I dettagli della prenotazione. Utilizza il sottotipo più dettagliato possibile di Reservation; ad esempio, FoodEstablishmentReservation per prenotare un tavolo in un ristorante.

result.name

Text

Il nome dell'oggetto che si sta prenotando; ad esempio, "Tavolo a La Boheme".

Proprietà consigliate
result.provider

Person

Dettagli della persona che assiste il cliente.

result.provider.name

Text

Nome del fornitore.

Invia feedback per...