LocalBusiness: i dati della Sua attività in JSON-LD
Modulo 5: Dati strutturati · Tempo di lettura: 13 minuti
Obiettivo della lezione: Dopo questa lezione saprà scrivere e valutare un blocco LocalBusiness in JSON-LD, con le proprietà obbligatorie e consigliate secondo Google e il sottotipo giusto di schema.org.
Concetti chiave: LocalBusiness, sottotipo (Florist, Bakery, Dentist, ...), obbligatorie: name e address, PostalAddress (streetAddress, postalCode, addressLocality, addressCountry), consigliate: telephone, url, openingHoursSpecification, geo, image, priceRange, sameAs, openingHours come testo, un'unica fonte di verità
Perché questo blocco è importante
Nella lezione 5.1 ha visto che Google usa i dati strutturati per capire la Sua pagina. Per un'attività con un negozio, uno studio o un laboratorio il blocco più importante è LocalBusiness: chi è, dove si trova, come La si chiama, quando è aperto. Tra gli usi possibili Google indica il pannello informativo nella Ricerca e in Maps quando qualcuno cerca la Sua attività.
Il blocco non sostituisce il Suo Profilo dell'attività su Google (modulo 6). È una delle fonti da cui i motori di ricerca ricavano i Suoi dati. Per questo deve dire esattamente le stesse cose del Suo profilo, della Sua pagina dei contatti e delle Sue schede negli elenchi online. La lezione 6.4 torna su questo punto.
Scegliere il tipo giusto
Parta dalla domanda: che tipo di attività sono? In schema.org LocalBusiness ha trenta sottotipi diretti, e sotto di essi molti altri ancora. Alcuni esempi:
| Attività | Tipo | Percorso in schema.org |
|---|---|---|
| Fiorista | Florist | LocalBusiness > Store > Florist |
| Panificio | Bakery | LocalBusiness > FoodEstablishment > Bakery |
| Dentista | Dentist | LocalBusiness > Dentist |
| Parrucchiere | HairSalon | LocalBusiness > HealthAndBeautyBusiness > HairSalon |
| Idraulico | Plumber | LocalBusiness > HomeAndConstructionBusiness > Plumber |
| Commercialista | AccountingService | LocalBusiness > FinancialService > AccountingService |
Google chiede il tipo più specifico adatto. Se non ne trova nessuno, usi LocalBusiness stesso. Se la Sua attività fa due cose (un panificio con un bar), @type può essere un elenco: ["Bakery", "CafeOrCoffeeShop"]. Faccia attenzione alla grafia: i tipi iniziano con la lettera maiuscola e sono scritti esattamente come in schema.org. Bloemist, florist o Flower shop non esistono; in quel caso un lettore non riconosce il tipo.
Cerchi un tipo tramite https://schema.org/<Type> oppure nell'elenco completo. Se la pagina esiste, il tipo esiste.
Obbligatorie e consigliate secondo Google
Per un'attività locale Google indica solo due proprietà obbligatorie:
name: il nome dell'attività, così come compare anche sull'insegna e nel Suo profilo;address: la sede fisica, comePostalAddress. Google chiede di compilare quante più parti possibile.
E una serie di proprietà consigliate. Le più importanti per una piccola attività:
| Proprietà | Che cosa contiene | Attenzione |
|---|---|---|
telephone | Il numero principale | Con prefisso internazionale e prefisso locale, ad esempio +31 33 000 0000 |
url | L'indirizzo della pagina di questa sede | Indirizzo completo con https://, e deve funzionare |
openingHoursSpecification | Orari di apertura per giorno | Vedere sotto |
geo | GeoCoordinates con latitude e longitude | Numeri, almeno 5 decimali |
image | Foto dell'attività | Indirizzi che Google può scaricare e indicizzare |
priceRange | Fascia di prezzo, ad esempio €€ o €10-25 | Meno di 100 caratteri |
menu, servesCuisine | Solo per la ristorazione |
Poiché LocalBusiness è anche una Organization, Google consiglia di seguire anche i campi di Organization, come logo e sameAs (gli indirizzi dei Suoi profili su altri siti, ad esempio Instagram o Facebook).
Ciò che Google non vuole in questo blocco: review e aggregateRating sulla Sua stessa attività. Sono pensati solo per i siti che raccolgono recensioni su altre attività. La lezione 5.3 spiega il perché.
L'indirizzo come PostalAddress
L'indirizzo è un oggetto con un proprio tipo. Non una sola riga di testo, ma campi separati:
"address": {
"@type": "PostalAddress",
"streetAddress": "Voorbeeldstraat 12",
"postalCode": "3811 AA",
"addressLocality": "Amersfoort",
"addressCountry": "NL"
}streetAddress: via e numero civico, con eventuale aggiunta (interno, lettera).postalCode: il codice postale.addressLocality: la località.addressCountry: il paese, preferibilmente come codice di due lettere (NL,BE,DE).addressRegion(provincia o stato) è ammesso, ma nei Paesi Bassi non serve.
Un errore frequente è "address": "Voorbeeldstraat 12, 3811 AA Amersfoort". Questo è testo; un lettore deve indovinare da solo quale sia il codice postale. Usi i campi separati.
Orari di apertura
Google indica openingHoursSpecification: un elenco di blocchi con giorni, orario di apertura e orario di chiusura.
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "17:00"
}
]Le regole:
- Giorni in inglese, come in schema.org: da
MondayaSunday(oppure come indirizzo completo,https://schema.org/Monday). Nientelun, nientelunedì. - Orari nel formato 24 ore:
09:00, nonore 9e non9:00 AM. - Un giorno che non compare nell'elenco è considerato non descritto. Se vuole indicare esplicitamente che è chiuso per tutto il giorno, imposti sia
openssiaclosessu00:00. - Aperto giorno e notte:
opens00:00ecloses23:59. - Aperto fino a dopo mezzanotte (ad esempio dalle 18:00 alle 02:00): un solo blocco con
opens18:00ecloses02:00. - Orari diversi temporanei, come una chiusura invernale: lo stesso blocco con
validFromevalidThrough(date come2026-12-24).
Esiste anche una grafia più breve di schema.org: "openingHours": ["Tu-Fr 09:00-18:00", "Sa 09:00-17:00"], con i giorni in inglese di due lettere. È valida in schema.org, ma non compare nell'elenco di Google. Se può scegliere, usi openingHoursSpecification.
Il blocco completo per Bloemenatelier Lotte
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Florist",
"name": "Bloemenatelier Lotte",
"url": "https://www.example.com/",
"telephone": "+31 33 000 0000",
"image": "https://www.example.com/beelden/winkel.jpg",
"priceRange": "€€",
"address": {
"@type": "PostalAddress",
"streetAddress": "Voorbeeldstraat 12",
"postalCode": "3811 AA",
"addressLocality": "Amersfoort",
"addressCountry": "NL"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.15617,
"longitude": 5.38763
},
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "09:00", "closes": "18:00" },
{ "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "17:00" }
],
"sameAs": ["https://www.instagram.com/example"]
}
</script>Faccia attenzione a due cose. latitude e longitude sono numeri, senza virgolette; la latitudine è compresa tra -90 e 90, la longitudine tra -180 e 180. E url punta al Suo sito, non al Suo Instagram (quello va in sameAs).
Dove inserire il blocco? Google dice: è ammesso su qualsiasi pagina, ma la scelta più logica è una pagina con informazioni sulla Sua attività, come la homepage o la pagina dei contatti. Se ha più sedi, ogni sede riceve una propria pagina con un proprio blocco e un proprio url.
In pratica: AI Builder e WordPress
L'AI Builder di WebOké crea questo blocco da solo, a partire dai dati aziendali che inserisce per il sito: il tipo di attività (un elenco a discesa con, tra gli altri, Florist, Bakery e HairSalon, oppure il generico LocalBusiness), nome, indirizzo, codice postale, località, telefono, e-mail, orari di apertura e i Suoi profili social. Il blocco si trova nella homepage e nelle pagine con un blocco contatti. Al momento l'AI Builder scrive gli orari di apertura nella grafia breve openingHours (ad esempio Tu-Fr 09:00-18:00). In WordPress i plugin SEO fanno qualcosa di simile, spesso in una sezione a parte per i dati locali; anche con altri strumenti per creare siti funziona così.
Per tutti gli strumenti vale: il blocco è buono quanto i dati che Lei inserisce. Se nello strumento indica un vecchio numero di telefono, quel vecchio numero finisce anche nel Suo JSON-LD. Tenga aggiornati i dati della Sua attività in un unico posto e li riprenda da lì per il sito, il profilo e le schede negli elenchi.
Riepilogo
- Scelga il tipo schema.org più specifico adatto, scritto esattamente come su schema.org.
- Obbligatorie secondo Google:
nameeaddress(comePostalAddresscon campi separati). - Consigliate:
telephonecon prefisso internazionale,urldella sede,openingHoursSpecification,geocome numeri,image,priceRange. - Orari di apertura: nomi dei giorni in inglese, orari nel formato 24 ore; chiuso è da
00:00a00:00, aperto giorno e notte da00:00a23:59. - Nessuna recensione sulla Sua attività in questo blocco; si assicuri che tutto coincida con il Suo profilo e la Sua pagina dei contatti.
Quiz
Esercizio
Esercizio A5.2: Il Suo blocco LocalBusiness è corretto? Inserisca l'indirizzo della Sua homepage o della pagina dei contatti e, accanto, il nome dell'attività, il codice postale e il numero di telefono così come compaiono nel Suo Profilo dell'attività su Google. Il programma cerca il blocco dell'attività nel JSON-LD della pagina e controlla tipo, campi obbligatori, indirizzo, telefono, orari di apertura, coordinate e url, e confronta nome, codice postale e telefono con ciò che ha inserito. Non ha un sito aziendale? Usi allora il sito di un negozio o di uno studio vicino a Lei e lasci vuoti i tre campi di confronto.
Per approfondire
I passaggi descritti in questi articoli valgono per i pannelli di WebOké; con altri fornitori il funzionamento è simile.
- Guida WebOké 8.1: AI Builder: far creare il suo sito web
- Guida WebOké 8.2: AI Builder: modifica, versioni e pubblicazione
- Google Search Central, Dati strutturati per le attività commerciali locali (LocalBusiness): https://developers.google.com/search/docs/appearance/structured-data/local-business
- Google Search Central, Dati strutturati per le organizzazioni (Organization): https://developers.google.com/search/docs/appearance/structured-data/organization
- schema.org, LocalBusiness e tutti i sottotipi: https://schema.org/LocalBusiness
- schema.org, OpeningHoursSpecification: https://schema.org/OpeningHoursSpecification
