SEO Playbook · Element

Blocchi di Prenotazione: Pianificazione Indicizzabile e UX degli Appuntamenti

Crea un blocco di prenotazione online con servizi indicizzabili, idoneità, sedi, dettagli di contatto e istruzioni di fallback quando la pianificazione di terze parti non funziona.

17 min read

Un blocco di prenotazione permette a un lettore di scegliere o richiedere un appuntamento mantenendo i fatti essenziali in HTML. Combina un’azione specifica, il contesto del servizio e della sede, l’idoneità, la pianificazione e un percorso di fallback.

Prenota una visita di riparazione elettrodomestici Diagnosi lavastoviglie · circa 60 minuti Disponibile per abitazioni nell’area di servizio Northside. Potrebbe essere applicata una tariffa diagnostica. Scegli un orario per l’appuntamento Se la prenotazione online non è disponibile, chiama il (555) 014-0186, lunedì–venerdì, 8:00–18:00.

Il calendario può apparire in linea, in un dialogo o su un sito esterno. Rimuoverlo non deve eliminare il servizio, la durata, l’area, le condizioni o il fallback.

Perché questo elemento è importante

La pianificazione trasforma l’interesse in un impegno. In quel momento, i lettori di solito controllano tre cose contemporaneamente: “È questo l’appuntamento giusto?”, “Questa attività può servirmi?” e “Cosa succede dopo che ho scelto?” Un blocco che indica solo “Prenota ora” costringe il lettore ad abbandonare la pagina o entrare in un widget per risolvere queste domande. Questa incertezza è particolarmente costosa per i servizi locali, dove la filiale sbagliata, il fuso orario sbagliato, l’area di servizio sbagliata o il tipo di appuntamento sbagliato possono invalidare la prenotazione.

La chiarezza riduce il rischio di agire. “Prenota una consulenza iniziale di 30 minuti” stabilisce un’aspettativa più solida di “Inizia”. Idoneità visibile, tariffe, preparazione, termini di cancellazione e dettagli di contatto espongono una discrepanza prima che il lettore condivida informazioni personali.

L’estraibilità automatica è importante perché molti calendari arrivano tramite un iframe o script di terze parti. Un crawler, un sistema di risposta AI, una sessione bloccata dal consenso o una tecnologia assistiva potrebbero ricevere una cornice vuota. Non possono quindi determinare cosa può essere prenotato, dove, a quali condizioni o come riprendersi.

Non copiare gli slot disponibili in tempo reale nel testo; cambiano rapidamente e appartengono al sistema di pianificazione. Renderizza il contesto stabile sulla pagina ospitante: nome dell’appuntamento, sede, durata, idoneità, preparazione, costi, fuso orario, fornitore e fallback. Il widget aggiunge date e orari correnti.

Applica le regole di scrittura degli elementi prima di scegliere questo componente. Lo scopo ha la precedenza sull’aspetto. Se il blocco pianifica un’interazione vincolata al tempo, è un blocco di prenotazione anche se il design attuale assomiglia a un normale invito all’azione. Se raccoglie solo una richiesta di vendita senza offrire o richiedere un appuntamento, è invece un modulo o un CTA.

Quando usarlo

Usa un blocco di prenotazione quando il lettore può compiere un’azione di pianificazione definita: prenotare una visita di servizio, richiedere un appuntamento, scegliere uno slot per una consulenza, organizzare una visita immobiliare, programmare un incontro in filiale o unirsi a una lista d’attesa per un servizio nominato. L’attività deve avere un processo operativo che riceva la richiesta e possa confermarla, rifiutarla o riprogrammarla.

Casi simili ma diversi sono comuni:

  • Un modulo di contatto generico non è un blocco di prenotazione quando non coinvolge data, ora o richiesta di appuntamento. Etichettalo come richiesta di informazioni e indica i tempi di risposta previsti.
  • Un pulsante di invito all’azione non è un blocco di prenotazione completo quando invia il lettore a un calendario senza spiegazioni. Aggiungi il contesto di prenotazione stabile e il percorso di fallback.
  • Gli orari di apertura descrivono quando un’attività opera; non provano la disponibilità di appuntamenti. Tieni gli orari separati dagli slot in tempo reale.
  • La registrazione a eventi prenota la partecipazione a un evento fisso piuttosto che organizzare un orario di servizio individuale. Usa il modello appropriato per eventi o registrazioni.
  • Un percorso di emergenza non deve dipendere da un calendario ordinario. Se è previsto aiuto urgente o di emergenza, indica il percorso di contatto immediato corretto prima di qualsiasi calendario.

Dove posizionarlo

Posiziona il blocco di prenotazione dopo che la pagina ha stabilito l’idoneità del servizio e prima dei contenuti promozionali secondari. Su una pagina della sede , mettilo dopo l’identità della filiale, l’indirizzo o l’area di servizio, gli orari e la breve spiegazione dei servizi disponibili. Su una pagina del servizio , posizionalo dopo ambito, idoneità e condizioni principali. Un’azione compatta ripetuta può apparire verso la fine, ma dovrebbe puntare alla stessa area di prenotazione piuttosto che inizializzare una seconda istanza del fornitore.

Non posizionare il blocco direttamente accanto a un altro modulo primario, un calendario diverso, un CTA telefonico senza spiegazioni o un conto alla rovescia promozionale. Azioni concorrenti rendono poco chiaro quale percorso sia autorevole. Non metterlo all’interno di una scheda, un carosello, un accordion, una cella di tabella comparativa, una carta cliccabile o un livello di consenso. Le condizioni essenziali non devono trovarsi al di sotto di una testimonianza o offerta non correlata.

Per servizi consequenziali, posiziona qualsiasi limitazione che cambi se il lettore dovrebbe prenotare immediatamente prima dell’azione. Non dare mai a intendere che selezionare un orario confermi l’idoneità.

Anatomia

La cattura annotata deve identificare queste parti:

  1. Titolo specifico per l’azione: indica cosa può essere prenotato, non semplicemente “Prenota ora.”
  2. Riepilogo del servizio: spiega lo scopo in una frase.
  3. Contesto della sede: nomina la filiale, l’area di servizio o il formato remoto e il fuso orario.
  4. Informazioni sull’appuntamento: mostra durata, pubblico, condizioni tariffarie e idoneità.
  5. Nota di preparazione: indica i requisiti che influenzano il successo.
  6. Azione primaria: utilizza un’etichetta accessibile specifica.
  7. Area del calendario: contiene slot in tempo reale, validazione e attribuzione del fornitore.
  8. Contesto della privacy: identifica la gestione dei dati di terze parti.
  9. Aspettativa di conferma: distingue la conferma da una richiesta.
  10. Percorso di fallback: fornisce un’alternativa monitorata e i suoi orari di operatività.

Esempi di design

Ogni variante porta lo stesso contesto indicizzabile; solo la posizione e la complessità della selezione in tempo reale cambiano.

Calendario in linea

Usalo per un servizio e una sede quando il fornitore è accessibile e stabile. Riserva abbastanza altezza per evitare spostamenti del layout.

Calendario in dialogo o drawer

Usalo quando un calendario in linea dominerebbe la pagina. Etichetta il dialogo, fornisci Chiudi, isola lo sfondo e riporta il focus all’uscita.

Pagina di prenotazione ospitata dal fornitore

Usala quando autenticazione, pagamento, intake complesso o affidabilità del fornitore favoriscono il sito del fornitore. Nomina la destinazione e mantieni visibile il fallback.

Richiesta di appuntamento

Usala quando il personale deve verificare idoneità, viaggio, attrezzatura o disponibilità di specialisti. Chiedi gli orari preferiti e indica il canale di risposta e l’aspettativa.

Prenotazione telefonica e assistita

Usala quando è necessaria una conversazione per il triage o l’assegnazione sicura. Rendi selezionabile il numero e fornisci orari di assistenza più un’alternativa non vocale.

Selettore multi-sede

Usalo su più filiali. Risolvi la filiale prima degli orari, mostra il suo indirizzo e fuso orario e preserva la scelta fino alla conferma.

Parametri

“Fonte” descrive da dove il renderizzatore ottiene il valore canonico. Le impostazioni lato fornitore possono controllare l’inventario in tempo reale, ma non sostituiscono i campi di contenuto visibili di seguito.

NomeTipoObbligatorioMin/maxDefaultFonte
titleStringa semplice3–10 parole; 90 caratteriNessunoPrima intestazione nel corpo
idIdentificatore minuscoloSì dopo la pubblicazione2–8 parole con trattino; univoco nella paginaGenerato dal titolo, poi fissatoAttributo
variantEnumNoinline, dialog, external, request, phone-first, multi-locationinlineAttributo
serviceStringa semplice2–12 parole; 100 caratteriNessunoAttributo
summaryTesto semplice12–35 parole; 240 caratteriNessunoPrimo paragrafo dopo l’intestazione
durationDurata ISO 8601 più etichetta visibileCondizionale5 minuti–1 giornoNessunoAttributo e corpo
locationStringa semplice o ID sede stabileSì, salvo completamente remoto2–100 caratteriNessunoAttributo e corpo
timezoneID fuso orario IANACondizionaleUna zona valida, es. America/New_YorkFuso orario della sedeAttributo
eligibilityTesto semplice o elenco breveCondizionale1–5 condizioni; 200 parole totaliNessunoCorpo
preparationTesto semplice o elenco breveNo1–5 elementi; 150 parole totaliNessunoCorpo
feeNoteTesto sempliceCondizionale5–30 parole; 200 caratteriNessunoCorpo
providerStringa sempliceObbligatorio per pianificazione di terze parti2–80 caratteriNessunoAttributo
srcURL HTTPSObbligatorio per fornitore inline, dialog o esternoUna destinazione approvataNessunoAttributo
ctaLabelStringa semplice2–8 parole; 60 caratteriScegli un orario per l'appuntamentoAttributo
confirmationModeEnuminstant o requestrequestAttributo
confirmationTextTesto semplice8–35 parole; 240 caratteriNessunoCorpo
fallbackPhoneValore telefonico più formattazione visibileCondizionaleUn numero monitoratoNessunoAttributo e corpo
fallbackUrlURL HTTPS o relativo alla rootCondizionaleUn percorso alternativo accessibileNessunoAttributo
fallbackHoursTesto sempliceCondizionale3–20 paroleNessunoCorpo
privacyTextTesto sempliceObbligatorio quando i dati lasciano il sito8–30 parole; 220 caratteriNessunoCorpo

Almeno uno tra fallbackPhone o fallbackUrl è obbligatorio con codice di terze parti. La prima intestazione corrisponde a title, il primo paragrafo a summary e il resto del corpo a dettagli, conferma, privacy e fallback. Gli slot in tempo reale non appartengono mai ai contenuti redazionali.

Sintassi ed esempi di codice

Le tre notazioni preservano lo stesso servizio, filiale, durata, fornitore, modalità di conferma e fallback. Gli URL sono puramente indicativi.

Direttiva Markdown portabile

:::booking-block{id=dishwasher-repair service="Dishwasher diagnosis" variant=inline duration=PT1H location=northside timezone=America/Chicago provider="Example Scheduler" src="https://scheduler.example.com/northside/dishwasher" ctaLabel="Choose an appointment time" confirmationMode=instant fallbackPhone="+15550140186"}
## Book an appliance repair visit

Choose a 60-minute dishwasher diagnosis at our Northside branch.

Available for homes within the Northside service area. A diagnostic fee may apply and will be confirmed before the visit.

Your appointment is confirmed only when you receive an email with the date, time, address, and reference number.

Scheduling is provided by Example Scheduler. If it does not load, call (555) 014-0186, Monday–Friday, 8:00 a.m.–6:00 p.m.
:::

Shortcode Hugo

Questa è la proposta di contratto per l’adattatore, non un’affermazione che uno shortcode esista già. Utilizza solo parametri nominati.

{{< booking-block id="dishwasher-repair" service="Dishwasher diagnosis" variant="inline" duration="PT1H" location="northside" timezone="America/Chicago" provider="Example Scheduler" src="https://scheduler.example.com/northside/dishwasher" ctaLabel="Choose an appointment time" confirmationMode="instant" fallbackPhone="+15550140186" >}}
## Book an appliance repair visit

Choose a 60-minute dishwasher diagnosis at our Northside branch.

Available for homes within the Northside service area. A diagnostic fee may apply and will be confirmed before the visit.

Your appointment is confirmed only when you receive an email with the date, time, address, and reference number.

Scheduling is provided by Example Scheduler. If it does not load, call (555) 014-0186, Monday–Friday, 8:00 a.m.–6:00 p.m.
{{< /booking-block >}}

Il renderizzatore Hugo produce contenuti stabili e fallback lato server, quindi carica il fornitore in un’area etichettata.

Blocco WordPress

<!-- wp:amicited/booking-block {"id":"dishwasher-repair","service":"Dishwasher diagnosis","variant":"inline","duration":"PT1H","location":"northside","timezone":"America/Chicago","provider":"Example Scheduler","src":"https://scheduler.example.com/northside/dishwasher","ctaLabel":"Choose an appointment time","confirmationMode":"instant","fallbackPhone":"+15550140186"} -->
<h2>Book an appliance repair visit</h2>
<p>Choose a 60-minute dishwasher diagnosis at our Northside branch.</p>
<p>Available for homes within the Northside service area. A diagnostic fee may apply and will be confirmed before the visit.</p>
<p>Your appointment is confirmed only when you receive an email with the date, time, address, and reference number.</p>
<p>Scheduling is provided by Example Scheduler. If it does not load, call <a href="tel:+15550140186">(555) 014-0186</a>, Monday–Friday, 8:00 a.m.–6:00 p.m.</p>
<!-- /wp:amicited/booking-block -->

Il blocco registrato renderizza contenuti stabili tramite PHP e tratta il codice del fornitore come miglioramento progressivo.

Esempi

Buono: un appuntamento con un percorso recuperabile

Prenota una revisione di documenti fiscali di 30 minuti

Il blocco nomina la filiale Downtown, il fuso orario locale, i documenti da portare e il fatto che l’incontro esamina i documenti ma non garantisce l’idoneità alla presentazione. Il pulsante “Scegli un orario per la revisione” apre un calendario. Sotto, la pagina dice che la conferma arriva via email e fornisce un numero di telefono monitorato con orari di assistenza nel caso in cui il fornitore non sia disponibile.

Funziona perché l’idoneità è chiara prima dell’inserimento dati e il significato sopravvive senza il calendario. Il calendario gestisce la disponibilità; la pagina gestisce la verità durevole del servizio e il recupero.

Cattivo: un iframe senza contesto

Prenota ora Un iframe non etichettato carica un calendario del fornitore. La filiale, il fuso orario, il tipo di appuntamento, la durata, la tariffa, l’idoneità, lo stato di conferma e il contatto di fallback sono assenti.

La versione cattiva costringe lettori ed estrattori a dedurre l’offerta dall’interfaccia di terze parti. Un’interruzione lascia una sezione vuota e una richiesta potrebbe essere scambiata per conferma. Ripara con un contratto di appuntamento in HTML, embed etichettato, selezioni preservate, testo di conferma e fallback.

Markup schema e accessibilità

Un blocco di prenotazione non crea un requisito automatico di schema. La pagina contenitore potrebbe già descrivere un’attività o servizio visibile con un’entità LocalBusiness, tipo di attività più specifico, Organization o Service appropriata. Mantieni quei fatti coerenti con il testo di prenotazione, in particolare nome, sede, numero di telefono, area di servizio e orari.

ReserveAction può rappresentare un’azione di prenotazione genuina quando il suo target apre il percorso visibile e funzionante e l’azione appartiene accuratamente all’entità descritta. Non deve implicare che uno slot sia disponibile, che una richiesta sia confermata o che ogni visitatore sia idoneo. Non pubblicare date di appuntamento come Event, trattare gli ordinari orari di apertura come inventario prenotabile o produrre valori strutturati che la pagina e il sistema di pianificazione non possono verificare.

L’accessibilità inizia prima del caricamento. Usa un’intestazione reale e un’azione il cui nome accessibile includa lo scopo. Dai a un iframe un title specifico, come “Scegli un appuntamento per la riparazione lavastoviglie a Northside.” Non usare mai testo segnaposto come unica etichetta del campo.

Gli utenti che usano la tastiera devono poter entrare, operare e uscire senza un blocco del focus. Un dialogo necessita di un nome, focus iniziale, azione Chiudi, isolamento dello sfondo e ritorno del focus. La validazione identifica il campo e la correzione. Gli stati delle date non possono basarsi solo sul colore e gli aggiornamenti di stato devono essere annunciati.

Mantieni il fallback nell’ordine di lettura normale e visibile senza JavaScript. Il flusso deve funzionare al 200% di zoom e con larghezze ridotte. Mostra il fuso orario ed evita date numeriche ambigue.

Se il fornitore non soddisfa i requisiti di tastiera, screen reader, contrasto, privacy o recupero, offri un percorso assistito equivalente. Anche CAPTCHA, pagamento e controlli di identità necessitano di un recupero accessibile.

Regole di scrittura

  • Scrivi un titolo di 3–10 parole che combini un’azione con l’appuntamento: “Prenota un test dell’udito,” non “Pianifica” o “Inizia.”
  • Scrivi un riepilogo di 12–35 parole che nomini il servizio, il formato, la durata e la sede quando questi fatti sono noti.
  • Indica non più di cinque condizioni di idoneità o preparazione. Riepiloga solo le regole che cambiano le decisioni tratte da policy più lunghe.
  • Usa etichette di azione specifiche di 2–8 parole: “Scegli un orario per la consulenza,” “Richiedi una visita a domicilio” o “Chiama per organizzare una valutazione.” Evita “Invia,” “Continua” e “Clicca qui.”
  • Distingui tra conferma istantanea e richiesta di appuntamento. Non usare mai “prenotato” quando è ancora necessaria l’approvazione del personale.
  • Indica il fuso orario ogni volta che i lettori potrebbero prenotare attraverso fusi diversi o l’appuntamento è a distanza. Usa una data scritta non ambigua nelle conferme.
  • Descrivi le tariffe prima che il lettore selezioni un orario quando potrebbe essere applicato un addebito per prenotazione, deposito, cancellazione, diagnosi o mancata presentazione. Non nascondere un pagamento obbligatorio all’interno dei passaggi del fornitore.
  • Mantieni nome del servizio, durata, sede, idoneità, preparazione essenziale, comportamento di conferma e fallback al di fuori dell’iframe o dell’applicazione lato client.
  • Nomina il fornitore prima del trasferimento dati e spiega il passaggio senza promettere un comportamento sulla privacy non supportato.
  • Fornisci il percorso di fallback, gli orari di assistenza, l’aspettativa di risposta e il contesto dell’appuntamento da fornire.
  • Per prenotazioni multi-sede, nomina la filiale selezionata nel trigger, nel calendario e nella conferma. Non riutilizzare mai un link “Prenota ora” a livello aziendale senza preselezionare o richiedere una scelta esplicita della sede.
  • Tieni fuori dal blocco di prenotazione istruzioni di emergenza, consigli clinici, garanzie, testimonianze, conti alla rovescia di sconti, offerte non correlate e un secondo modulo di contatto.
  • Non scrivere affermazioni statiche di “prossimo disponibile” a meno che non siano generate da inventario in tempo reale ed etichettate con un orario di recupero. La disponibilità può cambiare tra crawl, click e conferma.
  • Assegna un proprietario e rivedi dopo modifiche a orari, sedi, tariffe, idoneità, comportamento del fornitore o policy di intake.

Tipi di post che lo utilizzano

L’array postTypes nel frontmatter guida questa matrice. L’inclusione significa che la pagina può utilizzare un blocco di prenotazione quando esiste un’azione di appuntamento reale; non richiede pianificazione su ogni pagina.

Tipo di postUtilizzoPosizione preferitaQualifica richiesta
Pagina della sedeConsigliato quando la filiale accetta appuntamentiDopo i servizi della filiale, l’indirizzo o l’area di servizio e gli orariPreseleziona la filiale o richiedi una scelta esplicita della filiale; mostra i dettagli di fallback specifici della filiale.
Pagina del servizioConsigliato per servizi direttamente prenotabiliDopo ambito, idoneità e condizioni materialiPreserva il servizio nominato attraverso la pianificazione e distingui uno slot confermato da una richiesta.
Profilo della filialeCondizionale alla presenza di un percorso di prenotazione con personaleDopo l’identità della filiale e i dettagli di accessoAbbina calendario, fuso orario, telefono, set di servizi e percorso di conferma a quella filiale.
Profilo aziendaleCondizionaleDopo che l’organizzazione e i tipi di appuntamento idonei sono chiariIndirizza i lettori a un servizio e una sede espliciti; non esporre un calendario aziendale non spiegato.

Checklist QA

  • Il blocco pianifica o richiede un appuntamento definito piuttosto che raccogliere una richiesta generica.
  • Il titolo visibile nomina l’appuntamento e l’etichetta dell’azione descrive il passo successivo di pianificazione.
  • Servizio, durata, sede o area di servizio, fuso orario, idoneità e condizioni tariffarie significative sono accurati.
  • I dettagli stabili dell’appuntamento vengono renderizzati come HTML senza dipendere dal fornitore, iframe, gestore del consenso o JavaScript.
  • La disponibilità in tempo reale proviene dal sistema di pianificazione autorevole e non è copiata in testo statico.
  • Il servizio e la sede selezionati persistono dal trigger attraverso calendario, validazione, conferma e recupero.
  • La pagina distingue una conferma istantanea da una richiesta che il personale deve approvare.
  • Un fornitore terzo è identificato prima del trasferimento dati e il testo sulla privacy corrisponde al flusso effettivo.
  • Stati di errore, nessuna disponibilità, validazione, cancellazione e riprogrammazione forniscono ciascuno un’azione successiva utile.
  • Un telefono di fallback monitorato o un percorso alternativo accessibile rimane visibile quando il widget non funziona.
  • Le istruzioni di fallback includono orari di assistenza o un’aspettativa di risposta realistica.
  • Il calendario ha un nome accessibile specifico e funziona con tastiera, screen reader, touch, zoom e schermi stretti.
  • Il focus entra ed esce da qualsiasi dialogo in modo prevedibile e la validazione non cancella scelte precedentemente valide.
  • Date e orari sono non ambigui, includono il fuso orario pertinente e non si basano solo sul colore.
  • Le limitazioni di emergenza o consequenziali appaiono prima dell’azione e non dipendono mai dal calendario.
  • Nessun calendario concorrente, modulo di contatto, conto alla rovescia o promozione non correlata si trova accanto all’azione primaria.
  • I dati strutturati riflettono fatti verificati e visibili dell’attività e del servizio senza inventare disponibilità o conferme.
  • Il tipo di post selezionato appare in postTypes e il posizionamento segue la matrice sopra.
  • Esistono un proprietario e un trigger di revisione per contenuti, contatto di fallback, integrazione del fornitore e comportamento di conferma.

FAQ

Un widget di prenotazione può essere l’unica informazione sugli appuntamenti in una pagina?

No. Un widget di terze parti potrebbe non funzionare, richiedere il consenso, bloccare i crawler o essere inutilizzabile con alcune tecnologie assistive. Mantieni il servizio, la sede, l’idoneità, la preparazione, la via di contatto e le istruzioni di fallback in HTML renderizzato lato server al di fuori del widget.

Il calendario dovrebbe aprirsi sulla pagina o sul sito web del fornitore?

Usa un calendario in linea o modale quando è accessibile, veloce e facile da cui riprendersi. Usa un link esterno chiaramente etichettato quando il fornitore funziona più affidabilmente sul proprio dominio. In entrambi i casi, preserva lo stesso contesto indicizzabile e un fallback non basato su widget nella pagina.

Un blocco di prenotazione necessita di markup schema?

Non automaticamente. La pagina circostante potrebbe qualificarsi per LocalBusiness, Service o un altro tipo pertinente. Aggiungi ReserveAction solo quando il target dell’azione è reale, stabile e rappresenta accuratamente il percorso di prenotazione visibile; non inventare mai disponibilità di appuntamenti in tempo reale nei dati strutturati.

Come dovrebbe gestire le prenotazioni un’azienda con più sedi?

Rendi esplicita la sede prima che il lettore entri nel flusso di pianificazione, preserva la sede scelta in ogni passaggio e mostra il suo indirizzo, fuso orario e dettagli di contatto di fallback in HTML. Non inviare mai ogni pagina di filiale a un calendario aziendale non filtrato.

Cosa dovrebbe succedere quando non ci sono appuntamenti disponibili?

Spiega il percorso valido successivo senza dare a intendere che l’attività sia chiusa: offri un’altra sede, una lista d’attesa, un numero di telefono, un modulo di richiesta o una data chiara per ricontrollare. Preserva il servizio e la sede selezionati in modo che il lettore non debba ricominciare da capo.

← All SEO Playbook guides

Pronto a metterlo in pratica?

Verifica gratuita · Prova di 7 giorni · senza carta di credito