01/09/2025

JSON-LD per strutture ricettive: quale schema usare e cosa aspettarti da Google

JSON-LD per strutture ricettive: quale schema usare e cosa aspettarti da Google

Il JSON-LD è un breve blocco di codice nel tuo sito che mette per iscritto le informazioni sulla tua struttura in una forma che le macchine leggono senza dover indovinare: che tipo di struttura sei, dove ti trovi, come contattarti, a che ora si fa il check-in, cosa offri. L’ospite non lo vede. È il formato consigliato da Google e usa il vocabolario di schema.org, lo stesso per Google, Bing e gli altri motori di ricerca.

Prendi una struttura inventata, l’Agriturismo Le Querce vicino a Pistoia. Sulla home c’è scritto: “Via dei Colli 12, Pistoia. Check-in dalle 15. Cani benvenuti.” Un ospite capisce al volo. Una macchina, invece, deve dedurre che Via dei Colli è una strada e non il nome di una camera, che le 15 sono l’orario di arrivo e che “cani benvenuti” vuol dire animali ammessi. Il JSON-LD etichetta ogni informazione, e non resta niente da indovinare.

È un lavoro piccolo, e conviene farlo bene. Ma prima è giusto sapere cosa aspettarsi: i dati strutturati non mettono le stelline delle recensioni né i prezzi delle camere accanto al tuo sito su Google, e le domande frequenti “a tendina” Google non le mostra più. Qui sotto trovi cosa fa ancora il JSON-LD per un hotel, un B&B, un agriturismo o una casa vacanze, quale tipo usare, un esempio da adattare e gli errori da evitare. È una parte concreta del mio lavoro di ottimizzazione SEO.

Cosa fa il JSON-LD su Google, e cosa no

Cerchi su Google il nome di un concorrente a tre chilometri e a destra compare il suo riquadro: foto, prezzi, stelline, pulsante per chiamare. Viene da pensare che nel suo sito ci sia un codice speciale. In realtà quel riquadro nasce quasi tutto dalla sua scheda Google Business Profile, e i prezzi arrivano dai partner di prenotazione collegati a Google.

Ecco da dove arriva ogni pezzo della presenza di una struttura su Google:

Su GoogleDa dove arrivaIl tuo JSON-LD aiuta?
Il riquadro della struttura su Ricerca e MapsLa scheda Google Business Profile, più i dati che Google raccoglie altroveIndirettamente, se i dati coincidono
Prezzi delle camere e link per prenotareI partner collegati a Google, come il tuo motore di prenotazioneNo
Stelline delle recensioni accanto al tuo sitoNon compaiono per le recensioni di una struttura pubblicate sul suo sitoNo
Domande frequenti a tendina sotto il risultatoTolte da Google il 7 maggio 2026No
Il nome della struttura sopra il risultatoLa home page, dove il markup WebSite è il segnale più forteSì
Il logo nei risultatiIl markup Organization può influenzarloSì
Eventi che organizzi, come una cena della vendemmiaIl markup Event, con una pagina per ogni eventoSì
AI Overviews e AI ModeIl normale indice di ricerca di GoogleNon serve

Prezzi e link di prenotazione seguono regole loro: dei link di prenotazione gratuiti parlo nella guida agli errori più comuni sul Google Business Profile.

A cosa servono, allora, i dati strutturati? Google dice di usarli per capire di cosa parla una pagina e per raccogliere informazioni su luoghi e attività. Le tue pagine danno le informazioni agli ospiti; il JSON-LD dà le stesse informazioni a Google, e a qualsiasi altro sistema che legge il sito, in una forma standard. E quando nome, indirizzo e telefono sono identici ovunque, sul sito, sulla scheda e sui portali, Google si fida di più: la coerenza aiuta il posizionamento locale.

Quale tipo usare: LodgingBusiness e i suoi sottotipi

In schema.org una struttura in cui si dorme è un LodgingBusiness. Ha sette tipi più specifici: Hotel, BedAndBreakfast, Resort, Hostel, Motel, Campground e VacationRental. Google chiede di usare il tipo più specifico che corrisponde al vero, quindi:

  • Hotel per un hotel, BedAndBreakfast per un B&B, Resort per un resort.
  • LodgingBusiness per un agriturismo: un tipo apposta non esiste, quindi quello generale è corretto (oppure BedAndBreakfast, se lavori davvero così).
  • VacationRental per una villa o un appartamento che affitti per intero.
  • Restaurant, in un blocco a parte con i suoi orari e il suo menu, se il ristorante è aperto anche a chi non dorme da te.

Non accontentarti del generico LocalBusiness o di Organization quando uno di questi calza: dicono a una macchina che sei un’attività, non un posto dove dormire.

Un principio che uso sempre: una struttura, un’entità principale ben descritta. Niente blocchi duplicati, niente informazioni che contraddicono quello che c’è scritto in pagina.

Un esempio di JSON-LD da adattare

Ecco il JSON-LD dell’Agriturismo Le Querce. Nomi, indirizzo e numeri sono inventati: usa i tuoi.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LodgingBusiness",
  "name": "Agriturismo Le Querce",
  "description": "Agriturismo con piscina vicino a Pistoia, in Toscana.",
  "url": "https://www.example.com/",
  "logo": "https://www.example.com/images/logo.png",
  "image": [
    "https://www.example.com/images/casale-e-piscina.jpg",
    "https://www.example.com/images/camera-doppia.jpg"
  ],
  "telephone": "+39 0573 000000",
  "email": "info@example.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Via dei Colli 12",
    "addressLocality": "Pistoia",
    "addressRegion": "PT",
    "postalCode": "51100",
    "addressCountry": "IT"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 43.96418,
    "longitude": 10.93275
  },
  "priceRange": "€€",
  "checkinTime": "15:00:00",
  "checkoutTime": "10:30:00",
  "numberOfRooms": 6,
  "petsAllowed": true,
  "availableLanguage": ["it", "en", "de"],
  "amenityFeature": [
    {
      "@type": "LocationFeatureSpecification",
      "name": "Piscina all'aperto",
      "value": true
    },
    {
      "@type": "LocationFeatureSpecification",
      "name": "Parcheggio gratuito",
      "value": true
    }
  ],
  "sameAs": [
    "https://www.tripadvisor.it/...",
    "https://www.facebook.com/..."
  ]
}
</script>

A cosa serve ogni parte:

  • name, address, telephone, url: copiali dalla scheda Google Business Profile, carattere per carattere, con il telefono in formato internazionale (+39).
  • geo: le coordinate. Google chiede almeno cinque decimali.
  • logo e image: il logo e qualche foto vera e recente, a indirizzi che Google può raggiungere.
  • priceRange: qualche simbolo € o una breve fascia di prezzo. Da 100 caratteri in su Google non la mostra.
  • checkinTime, checkoutTime, numberOfRooms, petsAllowed, amenityFeature: sono i campi di schema.org per le strutture ricettive. Google non dice di usarli sul sito di un hotel, ma sono il modo standard di dichiarare questi fatti. Aggiungi una voce per ogni servizio che la pagina cita (piscina, parcheggio, colazione, Wi-Fi), e nessuna per quello che la pagina non cita.
  • availableLanguage: le lingue in cui parli con gli ospiti, come codici. Utile se molti ospiti arrivano dall’estero.
  • sameAs: le tue pagine su altri siti, come Tripadvisor, Facebook o la scheda Booking, così le macchine capiscono che descrivono tutte lo stesso posto.

Lasciati fuori apposta: aggregateRating e review (vedi gli errori più sotto), e gli orari di apertura, perché una struttura ricettiva è aperta ai suoi ospiti giorno e notte. Se hai un hotel classificato, puoi aggiungere starRating per le stelle ufficiali; mai per il voto delle recensioni.

Il blocco va sulla home, o sulla pagina che descrive la struttura. Sulla home aggiungi anche un piccolo blocco WebSite con due campi, name e url: è il segnale più forte per il nome del sito che Google mostra sopra i risultati.

Non sai quale schema serve alla tua struttura?

Come inserirlo, passo per passo

  1. Raccogli i dati certi. Nome, indirizzo, telefono, coordinate, orari di check-in, servizi. Devono coincidere parola per parola con la pagina e con le schede su Google, Booking e Airbnb: un sistema che confronta le fonti e trova due versioni di te non sa quale sia quella giusta.
  2. Scrivi il blocco, o fattelo scrivere. Molti costruttori di siti e plugin SEO aggiungono i dati strutturati da soli. Controlla cosa producono: nei siti di piccoli hotel e agriturismi che analizzo, spesso è un tipo generico con i campi della struttura vuoti.
  3. Mettilo nell’HTML della pagina. Google legge il JSON-LD sia nell’<head> sia nel <body>, anche quando lo aggiunge uno script dopo il caricamento. Non tutti i sistemi eseguono gli script, però: l’HTML che manda il server è il posto più sicuro.
  4. Testalo. Passa la pagina nel Rich Results Test di Google e correggi ogni errore. Gli avvisi segnalano campi facoltativi: Google dice che non serve correggerli per avere diritto ai risultati avanzati. Poi incolla il codice nello Schema Markup Validator, che controlla anche i campi di schema.org che il test di Google non guarda.
  5. Ripetilo in ogni lingua. Se il sito ha pagine in italiano e in inglese, metti il JSON-LD su entrambe, con la descrizione nella lingua della pagina. I fatti restano identici.
  6. Tienilo aggiornato. Nuovo orario di check-in, una piscina nuova, una camera chiusa d’inverno: aggiorna il JSON-LD quando aggiorni la pagina. Dati strutturati vecchi dicono una cosa alle macchine e un’altra agli ospiti.

Se il sito te lo gestisce qualcun altro, bastano tre domande: c’è il JSON-LD, e di che tipo? Nome, indirizzo e telefono sono identici a quelli della scheda Google? La pagina passa il Rich Results Test?

Gli errori che buttano via il lavoro

Mettere nel JSON-LD le tue recensioni per avere le stelline

Google non mostra le stelline per le recensioni che un’attività pubblica su di sé. Vale per le recensioni pubblicate sul tuo sito, che tu le abbia scritte a mano o le mostri con un widget di Google o di Facebook. Le sue linee guida sulle recensioni dicono anche di non aggregare voti presi da altri siti, quindi il punteggio di Booking nel markup non ci va. Mostra le recensioni in pagina perché gli ospiti le leggano, e non aspettarti stelline.

Mettere nel JSON-LD quello che la pagina non mostra

La regola di Google è semplice: nei dati strutturati non va niente che il visitatore non veda in pagina. Una spa che esiste solo nel markup la infrange, e così un prezzo che la pagina non cita. Chi la infrange rischia un’azione manuale, che toglie alla pagina i risultati avanzati (Google precisa che non tocca il posizionamento).

Vendere i pacchetti come eventi

Il markup Event è per eventi che chiunque può prenotare, in un luogo reale, ognuno con la sua pagina: una cena della vendemmia, un concerto in corte, una giornata aperta al frantoio. Le regole di Google citano i pacchetti di più notti e gli orari di apertura tra le cose che non sono eventi. “Tre notti a ottobre” è un’offerta, non un evento.

Aggiungere le FAQ per avere le tendine

Nel 2023 Google ha limitato i risultati FAQ ai siti governativi e sanitari, poi dal 7 maggio 2026 ha smesso di mostrarli del tutto, come riporta il registro degli aggiornamenti di Search Central. Il markup FAQPage per Google quindi non serve più. Il valore è sempre stato nelle risposte: brevi e chiare, in pagina, dove gli ospiti le leggono e dove Google e gli assistenti IA possono citarle.

E le case vacanze?

Una villa o un appartamento affittato per intero usa il tipo VacationRental. Google ha un risultato avanzato per le case vacanze, con foto, voto e dettagli, ma è riservato ai siti che lavorano già con un Technical Account Manager di Google in Hotel Center; gli altri possono compilare un modulo di interesse, senza garanzia di essere invitati. Per una singola villa, quindi, il markup da solo non basta: nelle schede di case vacanze di Google entrano solo le case gestite da professionisti, collegate tramite portali o software di gestione.

Se gestisci tre o più case, nello Spazio economico europeo (Italia compresa) c’è un’altra possibilità: Google sta provando un carosello, una fila di schede da scorrere di lato, per le pagine che elencano almeno tre strutture, ciascuna con la sua pagina, marcate come elenco. È una fase di prova con modulo di interesse, pensata per agenzie e portali più che per una casa sola.

Dati strutturati e ricerca con l’IA

Quando un ospite chiede al telefono “trovami un B&B a Lucca con parcheggio gratuito e colazione inclusa”, o scrive la stessa cosa a ChatGPT, la risposta nasce dalle fonti che il sistema riesce a leggere: siti, schede Google, portali e recensioni. Il JSON-LD mette la tua struttura in quella risposta? Nessuno può prometterlo. Ecco cosa dicono le aziende stesse:

  • Google: per AI Overviews e AI Mode non c’è un markup speciale da aggiungere. Chiede che il markup corrisponda al testo visibile in pagina e che la scheda dell’attività sia aggiornata (le funzionalità IA e il tuo sito).
  • Microsoft: schema.org aiuta i motori di ricerca e i sistemi di IA, come il suo assistente Copilot, a capire i contenuti (blog di Microsoft Advertising).

Quindi tratta il JSON-LD come un pezzo di un’identità chiara, accanto ai testi, alla scheda e alle recensioni, che dicono tutti la stessa cosa. È il terreno del posizionamento sui motori IA, e il resto lo spiego in come farti trovare e citare dall’IA.

Il JSON-LD da solo non basta

I dati strutturati spiegano a Google cosa sei. Ma quando l’ospite clicca e arriva sul sito, decide in pochi secondi guardando le foto: un markup perfetto non salva una pagina con immagini buie e storte. Per questo seguo tutto io, come unico referente, dalla fotografia professionale ai dati strutturati al sito: l’effetto vero nasce dalla combinazione, non dal singolo pezzo. Perché le immagini contano così tanto sulla scelta, l’ho spiegato in perché conviene investire in belle foto.

In ordine pratico: prima foto che fanno desiderare la camera, poi un sito veloce che prende le prenotazioni, poi la SEO e i dati strutturati che lo fanno trovare, poi le recensioni che lo confermano. Tolto anche un solo anello, la catena tiene meno.