Questa guida descrive come taggare il tuo sito web con microdati e attributi di navigazione in modo che il crawler di accuratezza del prezzo di Google possa navigare automaticamente nel funnel di prenotazione e convalidare le tariffe delle camere.
Per la specifica tecnica completa di tutte le proprietà dei dati strutturati disponibili (inclusi tasse, commissioni e dettagli della camera dettagliati), consulta il riferimento sui dati strutturati dei prezzi degli hotel.
1. Implementazione della navigazione (data-nav-*)
Utilizza gli attributi HTML data-nav-* personalizzati per annotare gli elementi interattivi e dichiarare le fasi del funnel in modo che il crawler possa attraversare il flusso di prenotazione.
1.1 Dichiarazione della fase nella parte superiore della pagina (data-nav-stage)
Ogni pagina del funnel di prenotazione che mostra le tariffe deve dichiarare la sua
fase, allegata al tag <body> o a un tag wrapper principale (ad esempio
<div>, <section>, o <main>). In questo modo, il crawler sa qual è la fase attiva del
flusso di prenotazione e aiuta a risolvere i problemi in un secondo momento.
data-nav-stage(consigliato): dichiara la fase attiva del funnel. Sebbene non sia strettamente necessario, specificare i nomi (ad esempio"landing","room-selection","checkout","ready-for-payment") aiuta a identificare la fase attiva durante la convalida.
1.2 Indicatore della fase finale (data-nav-stage-final)
Nella pagina finale che mostra i prezzi prima dell'inserimento delle informazioni personali o di pagamento dell'utente
aggiungi il flag della fase finale al container nella parte superiore della pagina
insieme a una dichiarazione della fase (ad esempio,
data-nav-stage="ready-for-payment").
data-nav-stage-final(facoltativo): imposta su"true"(data-nav-stage-final="true") nella pagina del prezzo finale prima del pagamento. In questo modo, il crawler sa che questa è la pagina finale e che il prezzo può essere estratto per la convalida. Questa pagina deve contenere la struttura dei prezzi con il tagging dei microdati.
1.3 Attributi di interazione del percorso critico
Nelle pagine intermedie, tagga gli elementi interattivi (pulsanti o link) che fanno avanzare l'utente lungo il percorso critico di prenotazione. Se nella stessa pagina sono richieste più azioni, specifica l'ordine di esecuzione. Il crawler segue l'ordine specificato prima di tentare di estrarre il prezzo nella pagina finale.
| Attributo | Valore richiesto | Finalità |
|---|---|---|
data-nav-criticalpath |
"true" |
Contrassegna il pulsante/link obbligatorio su cui il crawler deve fare clic per avanzare. |
data-nav-interactiontype |
"CLICK" |
Dichiara che è necessaria un'azione di clic per avanzare nel flusso. |
data-nav-interactionorder |
"1", "2", ... |
Dichiara la sequenza di esecuzione se nella stessa pagina sono richieste più azioni. |
Esempio di navigazione minima
<button data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Continue
</button>
2. Dichiarazione del prezzo (microdati)
Nella pagina finale accessibile del funnel di prenotazione (prima dell'inserimento delle informazioni personali o di pagamento), tagga l'offerta di prezzo (una sola offerta di prezzo) con i tag dei microdati. Nella pagina deve essere taggata una sola offerta, che indica la tariffa estratta dal crawler, corrispondente alla tariffa selezionata su Google prima che l'utente arrivi sul tuo sito web. Per i dettagli sulla definizione dei parametri della pagina di destinazione, consulta la sezione Variabili e condizioni.
Sebbene Google supporti completamente la gerarchia completa nel riferimento sui dati strutturati dei prezzi degli hotel (incluse tariffe di base dettagliate, tasse individuali, commissioni e dettagli della camera), Google accetta anche un albero di dati strutturati semplificato per semplificare il tagging dei prezzi degli hotel nelle tue pagine web.
Il prezzo totale del soggiorno è obbligatorio per le tariffe disponibili. Se un itinerario o una camera non è disponibile o è esaurito, dichiara https://schema.org/SoldOut in makesOffer senza priceSpecification:
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer">
<meta itemprop="availability" content="https://schema.org/SoldOut"/>
Sold Out
</div>
Per ulteriori informazioni, consulta la
availability proprietà
specifica.
2.1 Albero di dati strutturati semplificato
Per semplificare il tagging nelle pagine di prenotazione, devi solo dichiarare il container principale dell'
hotel e della prenotazione, le date del soggiorno (YYYY-MM-DD), il numero di persone e una
singola offerta contenente il prezzo totale del soggiorno:
Hotel / LodgingReservation (Root Container)
├── identifier [Meta/Attribute] Hotel ID
├── name [Visible text] Hotel Name
├── checkinTime / checkoutTime [Visible text with YYYY-MM-DD in content="..."] Stay Dates
├── numAdults / numChildren [Visible text] Occupancy
└── makesOffer (Offer)
└── priceSpecification (CompoundPriceSpecification)
├── priceCurrency [ISO Code, such as "USD"] Currency
└── price [Visible text] Total Stay Price (Taxes & Fees Included)
2.2 Regole di visibilità critiche
Per garantire un'estrazione affidabile dei prezzi, segui queste regole di visibilità quando tagghi il codice HTML:
- Il prezzo totale del soggiorno deve essere visibile: tagga il numero del prezzo visibile direttamente
nella pagina utilizzando
itemprop="price". Non utilizzare metadati nascosti (<meta>) o valori degli attributi (value="..."ocontent="...") per il numero del prezzo. - Date del soggiorno leggibili dai computer: tagga il più possibile le date del soggiorno visibili nella pagina. Se necessario, puoi utilizzare l'attributo
content="..."negli elementi<span>per fornire un formatoYYYY-MM-DDstandard durante la visualizzazione della data visibile (ad esempio,<span itemprop="checkinTime" content="2026-08-10">August 10, 2026</span>). - Campi non visibili: i campi che non vengono visualizzati direttamente nella pagina
(ad esempio l'ID dell'hotel o il codice valuta) possono utilizzare i tag
<meta>ocontent="..."attributi.
3. Esempi
I seguenti esempi end-to-end mostrano come taggare i passaggi intermedi del funnel e le pagine di pagamento finali con attributi di navigazione e microdati.
Esempio 1: pagina intermedia con pulsante su cui è possibile fare clic
Il seguente snippet mostra una pagina intermedia di selezione della camera (room-selection) con un singolo pulsante di azione del percorso critico taggato per far avanzare il flusso:
<body data-nav-stage="room-selection">
<!-- Main page content -->
<button class="btn-continue"
data-nav-criticalpath="true"
data-nav-interactiontype="CLICK"
data-nav-interactionorder="1">
Book This Room
</button>
</body>
Esempio 2: pagina del prezzo finale con indicatore di fase e microdati minimi
Il seguente snippet mostra l'ultima pagina prima del pagamento
(ready-for-payment) in cui data-nav-stage-final="true" è dichiarato nel
wrapper e il prezzo del soggiorno autorevole è visibile:
<body data-nav-stage="ready-for-payment" data-nav-stage-final="true">
<!-- Root Container: Co-Typed Hotel & LodgingReservation -->
<div itemscope itemtype="https://schema.org/Hotel https://schema.org/LodgingReservation">
<!-- Hotel Identifier (Can be hidden meta tag) -->
<meta itemprop="identifier" content="grand-view-001" />
<h1 itemprop="name">Grand View Hotel</h1>
<!-- Visible Stay Dates & Occupancy -->
<p>
Check-in: <span itemprop="checkinTime" content="2026-08-10">Aug 10, 2026</span> |
Check-out: <span itemprop="checkoutTime" content="2026-08-15">Aug 15, 2026</span> |
Guests: <span itemprop="numAdults">2</span> Adults, <span itemprop="numChildren">1</span> Child
</p>
<!-- Single Minimal Rate Offer -->
<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer">
<div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
<p class="summary-total">
Total Stay Price (Taxes & Fees Included):
<!-- 3-letter ISO Currency Code (can use content="" for hiding the 3-letter currency code while displaying a symbol) -->
<span itemprop="priceCurrency" content="EUR">€</span>
<!-- VISIBLE TOTAL STAY PRICE (Directly wrapped, no hidden attributes) -->
<span itemprop="price">650.00</span>
</p>
</div>
</div>
</div>
</body>
4. Verificare l'implementazione
Prima di implementare le modifiche, testa il markup e il tagging di navigazione per assicurarti che il crawler possa convalidare correttamente i dati sui prezzi.
4.1 Verificare il prezzo e la struttura dei microdati
Puoi utilizzare il
validator di Schema.org
o
il Test dei risultati avanzati di Google
per esaminare i microdati estratti dall'URL della pagina o dal contenuto HTML. Verifica
i campi estratti rispetto alla specifica nel
riferimento sui dati strutturati dei prezzi degli hotel,
e assicurati che l'elemento itemprop="price" sia un elemento visibile nella pagina.
4.2 Verificare la navigazione
Per verificare i tag, apri gli Strumenti per sviluppatori del browser in Google Chrome facendo clic con il tasto destro del mouse sulla pagina web e selezionando Ispeziona (o premendo F12) per esaminare il DOM HTML.
Verifica che l'implementazione soddisfi i seguenti requisiti di navigazione:
- La fase nella parte superiore della pagina è dichiarata: ogni pagina del flusso di prenotazione
include
data-nav-stage="..."nel tag<body>o nel tag wrapper principale e la pagina del prezzo finale includedata-nav-stage-final="true". - Il percorso critico è completo: le pagine intermedie hanno gli elementi interattivi (pulsanti o link) contrassegnati con
data-nav-criticalpath="true",data-nav-interactiontype, edata-nav-interactionorder. Se sono presenti più azioni, assicurati che i numeri d'ordine siano impostati correttamente.
4.3 Verificare la visibilità e la qualità del markup
Verifica che i microdati soddisfino tutti i requisiti di struttura e visibilità (per i dettagli, consulta la sezione Albero di dati strutturati semplificato e Regole di visibilità critiche):
- Gerarchia rigorosa: assicurati che il markup segua l'ordine di nidificazione richiesto (l'albero semplificato o la specifica completa del riferimento sui dati strutturati ). Gli elementi in ordine errato o nidificati in modo errato potrebbero non essere rilevati dal crawler.
- Prezzo visibile:
itemprop="price"racchiude direttamente il numero del prezzo visibile senza attributi nascosti o tag<meta>. - Date del soggiorno leggibili dai computer:
checkinTimeecheckoutTimecontengono il formato standardYYYY-MM-DD(facoltativamente utilizzando gli attributicontent="..."). - Tagging diretto degli elementi: tutte le proprietà visibili (nome dell'hotel, date del soggiorno, numero di persone) racchiudono il testo visibile della pagina.