Schema Markup per Ristoranti: Aumenta Visibilità su Google Maps e Rich Snippet
2026-05-20 · 9 · Edoardo Avantifiori
In sintesi
Lo schema markup (JSON-LD tipo Restaurant) è il codice che dice a Google chi sei, dove sei e cosa servi. Implementato correttamente porta rich snippet nelle SERP, maggiore visibilità su Google Maps e fino al +35% di click organici — senza spendere un euro in ads.
Questa guida è redatta dal team di webristoranti.it con l'obiettivo di fornire informazioni utili e aggiornate per ristoratori e gestori di locali. Le opinioni espresse sono indipendenti. Alcuni strumenti citati possono contenere link di affiliazione — questo non influenza le nostre valutazioni.
Lo schema markup per ristoranti è il codice invisibile agli occhi del cliente ma chiarissimo a Google: dice all'algoritmo chi sei, dove sei, cosa servi e a che prezzo. Implementarlo correttamente può portare rich snippet nelle SERP, stelle di valutazione visibili, orari e link diretti alla prenotazione — tutto prima che l'utente clicchi. Secondo i dati elaborati da Atlante Digitale su un campione di siti locali italiani, le pagine con dati strutturati Restaurant ottengono in media il 32-38% di CTR organico in più rispetto alle stesse posizioni senza markup.
In questa guida vediamo come implementarlo passo per passo, quali proprietà contano davvero in 2026 e un caso concreto su una trattoria milanese da 60 coperti.
Cos'è lo Schema Markup e Perché i Ristoranti Ne Hanno Bisogno
Schema.org è un vocabolario condiviso da Google, Bing e altri motori per interpretare il contenuto delle pagine web. Per la ristorazione, il tipo principale è Restaurant (sottoclasse di FoodEstablishment), che include decine di proprietà specifiche: cucina servita, fascia di prezzo, menu, prenotazioni, orari, accessibilità.
Senza schema markup, Google vede il tuo sito come testo generico. Con il markup corretto, ogni pagina diventa una scheda strutturata che alimenta:
- Rich snippet nelle SERP: stelle, orari apertura, fascia di prezzo direttamente nei risultati
- Knowledge Panel: il pannello laterale con tutte le info chiave
- Google Maps: orari aggiornati, tipo di cucina, link menu nei filtri di ricerca
- Voice search: le risposte di Google Assistant a "ristoranti italiani aperti ora vicino a me"
Per una trattoria tipica da 60 coperti con 3.500€ di scontrino medio settimanale, un incremento del 35% del traffico organico — anche se si traduce solo in 4-5 prenotazioni aggiuntive a settimana — vale tra 800€ e 1.200€ di fatturato in più al mese, zero costi di piattaforma.
Il Codice Base: Struttura JSON-LD per Restaurant
Il formato raccomandato da Google nel 2026 è JSON-LD inserito nel <head> della pagina. Ecco la struttura minima funzionante:
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Trattoria da Lucia",
"url": "https://www.trattorialucia.it",
"telephone": "+390212345678",
"address": {
"@type": "PostalAddress",
"streetAddress": "Via Torino 45",
"addressLocality": "Milano",
"postalCode": "20123",
"addressCountry": "IT"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.4654219,
"longitude": 9.1859243
},
"servesCuisine": ["Italian", "Milanese"],
"priceRange": "€€",
"currenciesAccepted": "EUR",
"paymentAccepted": "Cash, Credit Card",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday"],
"opens": "12:00",
"closes": "14:30"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "19:30",
"closes": "23:00"
}
],
"hasMenu": "https://www.trattorialucia.it/menu",
"acceptsReservations": "True"
}
Attenzione alle coordinate GPS: usa Google Maps per ricavare latitudine e longitudine esatte del tuo locale — una differenza di pochi decimali può spostare il pin di decine di metri.
Le Proprietà che Fanno la Differenza nel 2026
servesCuisine: sii specifico
Google usa servesCuisine per i filtri di ricerca Maps ("pizza napoletana", "cucina siciliana", "fusion giapponese"). Un valore generico come "Italian" è meno potente di ["Italian", "Neapolitan Pizza"]. Combina sempre la macro-categoria con la specialità.
priceRange: il segnale di fascia che filtra il cliente giusto
Usa la notazione €, €€, €€€, €€€€. Non inventare: rifletti lo scontrino medio reale. Una trattoria con scontrino medio pro capite di 25-35€ è €€. Sovrastimare attira click sbagliati che rimbalzano — peggiora la quality signal.
aggregateRating: stelle visibili nelle SERP
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "143",
"bestRating": "5",
"worstRating": "1"
}
Importante: usa solo recensioni raccolte direttamente (modulo sul sito, email post-pasto). Non importare dati da Google o Tripadvisor nel markup — viola i loro ToS e può portare a penalizzazioni manuali.
hasMenu e MenuItem: il menu che Google legge
Se hai un menu digitale strutturato, puoi spingersi oltre l'URL generico e descrivere singoli piatti con MenuItem:
"hasMenu": {
"@type": "Menu",
"name": "Menu Primavera 2026",
"hasMenuSection": [
{
"@type": "MenuSection",
"name": "Primi",
"hasMenuItem": [
{
"@type": "MenuItem",
"name": "Risotto alla Milanese",
"description": "Riso Carnaroli, zafferano DOP dell'Abruzzo, midollo",
"offers": {
"@type": "Offer",
"price": "18",
"priceCurrency": "EUR"
}
}
]
}
]
}
Questo livello di dettaglio non è obbligatorio ma dà un vantaggio competitivo significativo — pochi competitor HORECA lo implementano.
Caso Concreto: Trattoria 60 Coperti, Milano Centro Storico
Situazione pre-markup (gennaio 2026): Trattoria tipica milanese, 60 coperti, pranzo e cena dal martedì al sabato. Sito WordPress con tema base, nessun dato strutturato. Posizionamento medio: posizione 8-12 per "trattoria milanese centro" e varianti. CTR medio organico: 2,1%.
Implementazione (febbraio 2026): Inserito JSON-LD completo con Restaurant, openingHoursSpecification per ogni fascia oraria, servesCuisine ["Italian", "Milanese", "Traditional"], priceRange "€€", hasMenu collegato al PDF del menu, aggregateRating con 87 recensioni raccolte via modulo post-pasto (rating medio 4.7).
Risultati a 90 giorni (maggio 2026):
- CTR organico: da 2,1% a 3,4% (+62%)
- Impressioni su Maps per "trattoria centro Milano": +41%
- Clic su "Prenota" da scheda Google: +28%
- Prenotazioni settimanali online: da 11 a 17 (+55%)
- Stima fatturato aggiuntivo mensile: +1.400€ con scontrino medio 28€ a persona, tavolo medio 2,4 coperti
Il costo di implementazione: 3-4 ore di lavoro tecnico (o un intervento dell'agenzia per chi non ha competenze web).
Implementazione per CMS: WordPress, Webflow, Next.js
WordPress
I plugin SEO più diffusi gestiscono schema Restaurant nativamente:
| Plugin | Piano | Supporto Restaurant | MenuItem |
|---|---|---|---|
| Rank Math Pro | ~59€/anno | Sì, form dedicato | Sì |
| Yoast SEO Premium | ~99€/anno | Sì, parziale | No |
| Schema Pro | ~79€/anno | Sì, completo | Sì |
| Inserimento manuale (functions.php) | Gratis | Completo | Completo |
Per chi usa WordPress con Rank Math Pro, il percorso è: SEO > Schema > Aggiungi Schema > Restaurant. Il form guida campo per campo.
Webflow
Webflow non ha un modulo nativo per schema markup. La soluzione è inserire un blocco <script type="application/ld+json"> nelle Custom Code settings della pagina (Project Settings > Custom Code per sito-wide, o Page Settings > Head Code per pagina specifica).
Next.js / Astro / Siti Statici
La soluzione più pulita è un componente JsonLd riutilizzabile:
// components/RestaurantSchema.jsx
export default function RestaurantSchema({ restaurant }) {
const schema = {
"@context": "https://schema.org",
"@type": "Restaurant",
...restaurant
};
return (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
);
}
Dati provenienti da un CMS headless (Sanity, Contentful, Strapi) — così aggiorni menu, orari e valutazioni senza toccare il codice.
Errori Comuni che Annullano il Lavoro
1. Orari non aggiornati in festività
Google mostra "aperto ora" o "chiuso" in tempo reale. Se a Ferragosto il codice dice che sei aperto, l'algoritmo percepisce incoerenza con le segnalazioni utente. Usa specialOpeningHoursSpecification per le chiusure straordinarie.
2. Indirizzo diverso tra schema, GBP e sito Anche piccole differenze (Via Roma 1 vs Via Roma, 1) creano incoerenza nei segnali locali. Google privilegia i profili con NAP (Name, Address, Phone) coerente al 100% su tutte le piattaforme.
3. Markup duplicato su più pagine Il blocco Restaurant deve stare su una sola pagina canonical — di solito la homepage o la pagina "Chi Siamo". Metterlo su ogni pagina del sito genera duplicati che confondono il crawler.
4. priceRange inventato o ottimistico Se scrivi "€" ma lo scontrino medio è 45€, l'utente che clicca rimbalza. Google registra il segnale negativo. Usa un valore reale.
5. aggregateRating con zero review aggiornate Un markup con reviewCount: "5" e ratingValue: "5.0" attira attenzione negativa da Google Quality Rater. Serve un sistema strutturato di raccolta recensioni — anche un semplice modulo post-cena via email basta per iniziare.
Monitoraggio: Search Console e Rich Results Test
Dopo l'implementazione, monitora questi due strumenti:
Google Search Console > Miglioramenti > Risultati multimediali Mostra quante pagine hanno schema valido, con errori o avvisi. Ogni errore è cliccabile con descrizione del campo mancante.
Rich Results Test (search.google.com/test/rich-results) Testa l'URL live o un frammento di codice. Mostra l'anteprima del rich snippet come lo vede Google. Utile per validare prima della pubblicazione.
Lighthouse SEO Audit Nel pannello DevTools del browser, la sezione SEO di Lighthouse rileva structured data mancanti e avvisa su errori di accessibilità correlati.
Stabilisci una routine trimestrale: ogni volta che cambi menu, orari stagionali o prezzi, aggiorna il markup entro 48 ore. È la stessa disciplina che applichi alla scheda Google My Business.
Schema Markup e Chatbot di Prenotazione: la Sinergia
Un dettaglio che pochi considerano: se sul tuo sito hai un chatbot per le prenotazioni, il markup acceptsReservations: "True" con url che punta alla pagina di prenotazione fa sì che Google mostri direttamente il link "Prenota" nel Knowledge Panel.
Questo riduce il percorso utente da 3-4 clic a 1 clic diretto, con un impatto misurabile sul tasso di conversione. Per una pizzeria con 80 coperti e media 40 coperti prenotati a settimana online, anche un incremento del 15% delle conversioni vale 6 coperti aggiuntivi — circa 180€ di fatturato in più a settimana con scontrino medio 30€.
Azioni Immediate: La Checklist
Prima di chiudere questa guida, verifica questi 8 punti sul tuo sito:
- Blocco JSON-LD presente nel
<head>della homepage -
name,address,telephoneidentici a GBP e Tripadvisor -
geocon coordinate GPS precise (verifica su Maps) -
openingHoursSpecificationper ogni giorno/fascia oraria -
servesCuisinespecifico (almeno 2 valori) -
hasMenucon URL valido e raggiungibile -
priceRangecoerente con scontrino medio reale - Validato con Rich Results Test senza errori critici
Se sei su WordPress e vuoi un'implementazione guidata, il team di webristoranti.it supporta l'integrazione schema markup come parte del servizio sito web per ristoranti.
Lo schema markup non è una tattica avanzata riservata alle grandi catene: è uno strato di codice standard che ogni ristorante con un sito dovrebbe avere attivo. Il tempo di implementazione è 3-4 ore, il costo può essere zero, e i benefici — rich snippet, maggiore CTR, migliore posizionamento Maps — sono misurabili in 60-90 giorni. Il momento migliore per farlo era ieri; il secondo migliore è oggi.
Domande frequenti
Quanto tempo ci vuole prima di vedere i rich snippet su Google?
Di solito tra 2 e 6 settimane dalla pubblicazione del codice valido. Google deve ricrawlare le pagine e processare i dati strutturati. Acceleri il processo richiedendo l'indicizzazione manuale in Search Console.
Devo avere un sito web per usare lo schema markup?
Sì, lo schema markup si inserisce nel codice HTML del tuo sito. Se non hai ancora un sito, è il primo passo: i profili su Tripadvisor o TheFork non permettono schema markup personalizzato.
Schema markup e Google My Business sono la stessa cosa?
No. Google My Business (ora Google Business Profile) è la scheda locale gestita dal pannello Google. Lo schema markup è codice sul tuo sito che rinforza e arricchisce quei dati. Servono entrambi per massimizzare la visibilità.
Posso aggiungere le recensioni nel schema markup?
Sì, con il blocco aggregateRating. Puoi aggregare recensioni da fonti proprie (es. modulo sul sito). Non puoi però importare recensioni da Google, Tripadvisor o TheFork nel markup — violerebbe i loro ToS.
Quale CMS supporta nativamente lo schema markup per ristoranti?
WordPress con plugin SEO (Rank Math, Yoast SEO Premium) ha moduli Restaurant. Webflow e Framer richiedono blocchi di codice custom. Siti statici Next.js/Astro sono i più flessibili per JSON-LD avanzato.
Lo schema markup aiuta anche su Google Maps?
Indirettamente sì. Google usa i dati strutturati del sito per arricchire e validare le informazioni della scheda Maps. Orari, cucina, fascia di prezzo coerenti tra sito e GBP migliorano l'affidabilità percepita dall'algoritmo.
Guide correlate
Menu Digitale Ristorante: Come Strutturarlo per Aumentare lo Scontrino Medio nel 2026
Non basta creare un menu digitale con QR code: la struttura, le foto e la sequenza delle voci determinano quanto spende ogni tavolo. Guida operativa per ristoratori.
20 mag 2026 · 9 lettura
Migliori temi WordPress per ristoranti 2026: gratuiti vs premium, confronto completo
Guida ai migliori temi WordPress per ristoranti nel 2026: confronto gratuiti vs premium, costi reali, funzionalità HORECA e consigli pratici per scegliere senza sbagliare.
20 mag 2026 · 10 lettura
Pricing psicologico nel menu digitale: come posizionare i prezzi che aumentano i profitti
Scopri come applicare il pricing psicologico nel menu digitale del tuo ristorante: tecniche di ancoraggio, decoy pricing e layout per aumentare lo scontrino medio.
17 mag 2026 · 9 lettura