SEO Playbook · Element

Booking-blokke: Crawlbart planlægnings- og aftale-UI

Byg en online booking-blok med crawlbare services, berettigelse, lokationer, kontaktoplysninger og falback-instruktioner, når tredjepartsplanlægning fejler.

14 min read

En booking-blok lader en læser vælge eller anmode om en aftale, mens væsentlige fakta bevares i HTML. Den kombinerer en specifik handling, service- og lokationskontekst, berettigelse, planlægning og en falback-vej.

Bestil et hvidvareservicebesøg
Opvaskemaskinediagnose · cirka 60 minutter
Tilgængelig for hjem inden for Northside-serviceområdet. Et diagnosegebyr kan forekomme.
Vælg et aftaletidspunkt
Hvis online-planlægning ikke er tilgængelig, ring (555) 014-0186, mandag–fredag, 8:00–18:00.

Planlæggeren kan vises inline, i en dialog eller eksternt. Fjernelse af den må ikke fjerne service, varighed, område, betingelser eller falback.

Hvorfor dette element er vigtigt

Planlægning omsætter interesse til en forpligtelse. I det øjeblik tjekker læsere typisk tre ting på én gang: “Er dette den rigtige aftale?”, “Kan denne virksomhed betjene mig?” og “Hvad sker der, efter jeg har valgt?” En blok, der kun siger “Book nu”, tvinger læseren til at forlade siden eller gå ind i en widget for at få svar på disse spørgsmål. Den usikkerhed er især kostbar for lokale tjenester, hvor den forkerte filial, tidszone, serviceområde eller aftaletype kan ugyldiggøre bookingen.

Tydelighed reducerer risikoen ved at handle. “Book en 30-minutters indledende konsultation” skaber en fastere forventning end “Kom i gang.” Synlig berettigelse, gebyrer, forberedelse, opsigelsesvilkår og kontaktoplysninger afslører en uoverensstemmelse, før læseren deler personlige oplysninger.

Maskinudtrækning er vigtig, fordi mange planlæggere kommer via et tredjeparts iframe eller script. En crawler, AI-svarssystem, samtykkeblokeret session eller hjælpeteknologi kan modtage en tom ramme. Den kan da ikke afgøre, hvad der kan bookes, hvor, under hvilke betingelser eller hvordan man kommer videre.

Kopier ikke live-tider ind i brødtekst; de ændrer sig hurtigt og hører til i planlægningssystemet. Render stabil kontekst på værtsiden: aftalenavn, lokation, varighed, berettigelse, forberedelse, omkostninger, tidszone, udbyder og falback. Widget’en tilføjer aktuelle datoer og tidspunkter.

Anvend element-skrivereglerne , før du vælger denne komponent. Formål har forrang over udseende. Hvis blokken planlægger en tidsbegrænset interaktion, er det en booking-blok, selv når det aktuelle design ligner et almindeligt call-to-action. Hvis den kun indsamler en salgshenvendelse uden at tilbyde eller anmode om en aftale, er det i stedet en formular eller CTA.

Hvornår skal det bruges

Brug en booking-blok, når læseren kan foretage en defineret planlægningshandling: reservere et servicebesøg, anmode om en aftale, vælge en konsultationstid, arrangere en ejendomsvisning, planlægge et filialmøde eller melde sig på en venteliste til en navngiven service. Virksomheden skal have en operationel proces, der modtager anmodningen og kan bekræfte, afvise eller ombooke den.

Næsten-misser er almindelige:

  • En generel kontaktformular er ikke en booking-blok, når ingen dato, tid eller aftaleanmodning er involveret. Mærk den som en henvendelse og angiv forventningen til svar.
  • En call-to-action-knap er ikke en komplet booking-blok, når den sender læseren til en uforklaret kalender. Tilføj den stabile bookingskontekst og falback-vej.
  • Åbningstider beskriver, hvornår en virksomhed har åbent; de beviser ikke aftaletilgængelighed. Hold åbningstider adskilt fra live-tider.
  • Tilmelding til begivenhed reserverer deltagelse ved en fast begivenhed frem for at arrangere et individuelt servicetidspunkt. Brug det relevante begivenheds- eller tilmeldingsmønster.
  • En nødvej må ikke afhænge af en almindelig kalender. Hvis akut eller nødhjælp er relevant, angiv den korrekte øjeblikkelige kontaktvej før nogen planlægger.

Hvor skal det placeres

Placer booking-blokken, efter siden har etableret servicetilpasning og før sekundært salgsfremmende indhold. På en lokationsside placeres den efter filialidentitet, adresse eller serviceområde, åbningstider og den korte forklaring af tilgængelige services. På en serviceside placeres den efter omfang, egnethed og væsentlige betingelser. En kompakt gentagelseshandling kan forekomme nær slutningen, men den bør pege på samme booking-region frem for at initialisere en anden udbyderinstans.

Placer ikke blokken direkte ved siden af en anden primær formular, en anden planlægger, en telefon-CTA uden forklaring eller en salgsfremmende nedtælling. Konkurrerende handlinger gør det uklart, hvilken vej der er autoritativ. Placer den ikke inde i en fane, et karrusel, en accordion, en sammenligningstabelcelle, et klikbart kort eller et samtykkelag. Væsentlige betingelser må ikke ligge under et ikke-relateret testimonial eller tilbud.

For væsentlige services skal enhver begrænsning, der ændrer, om læseren bør booke, placeres umiddelbart før handlingen. Antyd aldrig, at valg af et tidspunkt bekræfter berettigelse.

Anatomi

Det mærkede billede skal identificere disse dele:

  1. Handlingsspecifik titel: siger, hvad der kan bookes, ikke blot “Book nu.”
  2. Serviceoversigt: forklarer formål i én sætning.
  3. Lokationskontekst: navngiver filialen, serviceområdet eller det fjerne format samt tidszone.
  4. Aftalefakta: viser varighed, målgruppe, gebyrbetingelse og berettigelse.
  5. Forberedelsesnote: angiver krav, der påvirker succes.
  6. Primær handling: bruger en specifik tilgængelig etiket.
  7. Planlægningsområde: indeholder live-tider, validering og udbyderattribution.
  8. Privatlivskontekst: identificerer tredjeparts datahåndtering.
  9. Bekræftelsesforventning: adskiller bekræftelse fra en anmodning.
  10. Falback-vej: leverer et overvåget alternativ og dets åbningstider.

Designeksempler

Hver variant bærer den samme crawlbare kontekst; kun placeringen og kompleksiteten af live-valg ændres.

Inline-planlægger

Brug den til én service og lokation, når udbyderen er tilgængelig og stabil. Reserver nok højde til at undgå layout-skift.

Dialog- eller skuffeplanlægger

Brug den, når en inline-kalender ville dominere siden. Mærk dialogen, tilbyd Luk, isoler baggrunden, og returner fokus ved afslutning.

Udbyderhostet bookingside

Brug den, når autentificering, betaling, kompleks optagelse eller udbyderpålidelighed taler for udbyderens site. Navngiv destinationen og hold falback synlig.

Aftaleanmodning

Brug den, når personale skal verificere berettigelse, rejse, udstyr eller specialistentilgængelighed. Spørg efter foretrukne tidspunkter og angiv svar-kanal og forventning.

Telefon-first og assisteret booking

Brug den, når samtale er nødvendig for triage eller sikker allokering. Gør nummeret valgbart og angiv bemandede timer samt et ikke-stemme-alternativ.

Lokationsvælger med flere lokationer

Brug den på tværs af flere filialer. Fastlæg filialen før tidspunkter, vis dens adresse og tidszone, og bevar valget gennem bekræftelse.

Parametre

“Kilde” beskriver, hvor rendereren henter den kanoniske værdi. Udbyderindstillinger kan styre live-lager, men de erstatter ikke de synlige indholdsfelter nedenfor.

NavnTypePåkrævetMin/maksStandardKilde
titleAlmindelig strengJa3–10 ord; 90 tegnIngenFørste overskrift i brødtekst
idIdentifikator med små bogstaverJa efter publicering2–8 ord med bindestreg; unik på sidenGenereret fra title, derefter fastlåstAttribut
variantEnumNejinline, dialog, external, request, phone-first, multi-locationinlineAttribut
serviceAlmindelig strengJa2–12 ord; 100 tegnIngenAttribut
summaryAlmindelig tekstJa12–35 ord; 240 tegnIngenFørste afsnit efter overskrift
durationISO 8601-varighed plus synlig etiketBetinget5 minutter–1 dagIngenAttribut og brødtekst
locationAlmindelig streng eller stabil lokations-IDJa medmindre helt fjern2–100 tegnIngenAttribut og brødtekst
timezoneIANA-tidszone-IDBetingetÉn gyldig zone, f.eks. America/New_YorkLokationstidszoneAttribut
eligibilityAlmindelig tekst eller kort listeBetinget1–5 betingelser; 200 ord i altIngenBrødtekst
preparationAlmindelig tekst eller kort listeNej1–5 emner; 150 ord i altIngenBrødtekst
feeNoteAlmindelig tekstBetinget5–30 ord; 200 tegnIngenBrødtekst
providerAlmindelig strengPåkrævet for tredjepartsplanlægning2–80 tegnIngenAttribut
srcHTTPS-URLPåkrævet for inline-, dialog- eller ekstern udbyderÉn godkendt destinationIngenAttribut
ctaLabelAlmindelig strengJa2–8 ord; 60 tegnVælg et aftaletidspunktAttribut
confirmationModeEnumJainstant eller requestrequestAttribut
confirmationTextAlmindelig tekstJa8–35 ord; 240 tegnIngenBrødtekst
fallbackPhoneTelefonværdi plus synlig formateringBetingetÉt overvåget nummerIngenAttribut og brødtekst
fallbackUrlHTTPS- eller rodrelativ URLBetingetÉn tilgængelig alternativ vejIngenAttribut
fallbackHoursAlmindelig tekstBetinget3–20 ordIngenBrødtekst
privacyTextAlmindelig tekstPåkrævet når data forlader siden8–30 ord; 220 tegnIngenBrødtekst

Mindst én af fallbackPhone eller fallbackUrl er påkrævet med tredjepartskode. Den første overskrift mapper til title, det første afsnit til summary, og den resterende brødtekst til fakta, bekræftelse, privatliv og falback. Live-tider hører aldrig til i skrevet indhold.

Syntaks og kodeeksempler

De tre notationer bevarer den samme service, filial, varighed, udbyder, bekræftelsestilstand og falback. URL’er er illustrative.

Bærbar Markdown-direktiv

:::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.
:::

Hugo shortcode

Dette er den tilsigtede adapterkontrakt, ikke en påstand om, at en shortcode allerede findes. Den bruger kun navngivne parametre.

{{< 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 >}}

Hugo-rendereren udskriver stabilt indhold og falback på serveren og indlæser derefter udbyderen i et mærket område.

WordPress-blok

<!-- 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 -->

Den registrerede blok renderer stabilt indhold via PHP og behandler udbyderkode som progressiv forbedring.

Eksempler

Godt: én aftale med en genoprettelig vej

Book en 30-minutters gennemgang af skattedokumenter

Blokken navngiver Downtown-filialen, lokal tidszone, dokumenter der skal medbringes, og at mødet gennemgår dokumenter, men ikke garanterer arkiveringsberettigelse. Knappen “Vælg et gennemgangstidspunkt” åbner en kalender. Nedenfor står der på siden, at bekræftelse ankommer via e-mail, og der oplyses et overvåget telefonnummer med bemandede timer, hvis udbyderen ikke er tilgængelig.

Dette virker, fordi tilpasning er tydelig før dataindtastning, og betydningen overlever uden kalenderen. Planlæggeren ejer tilgængelighed; siden ejer holdbar service-sandhed og genoprettelse.

Dårligt: en kontekstfri iframe

Book nu
En umærket iframe indlæser en udbyderkalender. Filial, tidszone, aftaletype, varighed, gebyr, berettigelse, bekræftelsesstatus og falback-kontakt er fraværende.

Den dårlige version får læsere og udtrækkere til at udlede tilbuddet fra tredjeparts UI. En driftsafbrydelse efterlader et tomt afsnit, og en anmodning kan forveksles med bekræftelse. Reparer det med en HTML-aftalekontrakt, mærket indlejring, bevarede valg, bekræftelsesformulering og falback.

Schema-markup og tilgængelighed

En booking-blok skaber ikke et automatisk schema-krav. Den indeholdende side kan allerede beskrive en synlig virksomhed eller service med en passende LocalBusiness, mere specifik virksomhedstype, Organization eller Service-enhed. Hold disse fakta konsistente med bookingteksten, især navn, lokation, telefonnummer, serviceområde og åbningstider.

ReserveAction kan repræsentere en ægte reservationshandling, når dens mål åbner den synlige, fungerende vej, og handlingen tilhører den beskrevne enhed. Den må ikke antyde, at en tid er ledig, at en anmodning er bekræftet, eller at enhver besøgende er berettiget. Publicer ikke aftaledatoer som Event, behandl ikke almindelige åbningstider som bookbart lager, eller fabriker strukturerede værdier, som siden og planlægningssystemet ikke kan verificere.

Tilgængelighed starter før indlæsning. Brug en rigtig overskrift og en handling, hvis tilgængelige navn inkluderer formålet. Giv en iframe en specifik title, såsom “Vælg en opvaskemaskinereparationstid hos Northside.” Brug aldrig pladsholdertekst som den eneste feltetiket.

Tastaturbrugere skal kunne gå ind, betjene og forlade uden en fokusfælde. En dialog har brug for et navn, indledende fokus, Luk-handling, baggrundsisolering og fokusreturnering. Validering identificerer feltet og korrektionen. Datoangivelser må ikke stole på farve alene, og statusopdateringer skal annonceres.

Hold falback i normal læserækkefølge og synlig uden JavaScript. Flowet skal fungere ved 200 % zoom og smalle bredder. Vis tidszonen og undgå tvetydige numeriske datoer.

Hvis udbyderen svigter med hensyn til tastatur, skærmlæser, kontrast, privatliv eller genoprettelseskrav, tilbyd en tilsvarende assisteret vej. CAPTCHA, betaling og identitetstjek har også brug for tilgængelig genoprettelse.

Skriveregler

  • Skriv en titel på 3–10 ord, der kombinerer en handling med aftalen: “Book en høreprøve,” ikke “Planlæg” eller “Kom i gang.”
  • Skriv ét resumé på 12–35 ord, der navngiver service, format, varighed og lokation, hvor disse fakta kendes.
  • Angiv højst fem berettigelses- eller forberedelsesbetingelser. Opsummer kun beslutningsændrende regler fra længere politikker.
  • Brug specifikke handlingsetiketter på 2–8 ord: “Vælg et konsultationstidspunkt,” “Anmod om et hjemmebesøg” eller “Ring for at arrangere en vurdering.” Undgå “Send,” “Fortsæt” og “Klik her.”
  • Skel mellem øjeblikkelig bekræftelse og aftaleanmodning. Brug aldrig “booket”, når personalegodkendelse stadig kræves.
  • Angiv tidszonen, når læsere kan booke på tværs af zoner, eller aftalen er fjern. Brug en utvetydig skriftlig dato i bekræftelser.
  • Beskriv gebyrer, før læseren vælger et tidspunkt, når et booking-, depositions-, annullerings-, diagnose- eller udeblivelsesgebyr kan forekomme. Skjul ikke en påkrævet betaling inde i udbyderens trin.
  • Hold servicenavn, varighed, lokation, berettigelse, væsentlig forberedelse, bekræftelsesadfærd og falback uden for iframen eller klientsideapplikationen.
  • Navngiv udbyderen før dataoverførsel og forklar overdragelsen uden at love ikke-understøttet privatlivsadfærd.
  • Giv falback-vejen, bemandede timer, svarforventning og aftalekontekst at oplyse.
  • For booking med flere lokationer, navngiv den valgte filial i triggeren, planlæggeren og bekræftelsen. Genbrug aldrig et organisationsdækkende “Book nu”-link uden at forudvælge eller kræve et eksplicit lokationsvalg.
  • Hold nødinstruktioner, klinisk rådgivning, garantier, testimonials, rabatnedtællinger, ikke-relaterede tilbud og en anden leadformular ude af booking-blokken.
  • Skriv ikke statiske “næste ledige”-påstande, medmindre de er genereret fra live-lager og mærket med et hentningstidspunkt. Tilgængelighed kan ændre sig mellem crawl, klik og bekræftelse.
  • Tildel en ejer og gennemgå efter ændringer i åbningstider, lokationer, gebyrer, berettigelse, udbyderadfærd eller optagelsespolitik.

Posttyper, der bruger det

postTypes frontmatter-arrayet driver denne matrix. Inklusion betyder, at siden kan bruge en booking-blok, når en reel aftalehandling findes; det kræver ikke planlægning på hver side.

PosttypeAnvendelseForetrukken placeringPåkrævet kvalifikation
LokationssideAnbefales når filialen modtager aftalerEfter filialservices, adresse eller serviceområde og åbningstiderForudvælg filialen eller kræv et eksplicit filialvalg; vis filialspecifikke falback-oplysninger.
ServicesideAnbefales til direkte bookbare servicesEfter omfang, tilpasning og væsentlige betingelserBevar den navngivne service gennem planlægning og skel mellem en bekræftet tid og en anmodning.
FilialprofilBetinget af en bemandet planlægningsvejEfter filialidentitet og adgangsoplysningerMatch kalender, tidszone, telefon, servicesæt og bekræftelsesvej til den pågældende filial.
VirksomhedsprofilBetingetEfter organisationen og berettigede aftaletyper er tydeligeLed læsere til en eksplicit service og lokation; eksponér ikke en uforklaret organisationsdækkende kalender.

QA-tjekliste

  • Blokken planlægger eller anmoder om en defineret aftale frem for at indsamle en generel henvendelse.
  • Den synlige titel navngiver aftalen, og handlingsetiketten beskriver næste planlægningstrin.
  • Service, varighed, lokation eller serviceområde, tidszone, berettigelse og væsentlige gebyrbetingelser er nøjagtige.
  • Stabile aftalefakta renderes som HTML uden at afhænge af udbyderen, iframen, samtykkemanageren eller JavaScript.
  • Live-tilgængelighed kommer fra det autoritative planlægningssystem og kopieres ikke ind i statisk brødtekst.
  • Den valgte service og lokation bevares fra trigger gennem kalender, validering, bekræftelse og genoprettelse.
  • Siden skelner mellem en øjeblikkelig bekræftelse og en anmodning, som personale skal godkende.
  • En tredjepartsudbyder identificeres før dataoverførsel, og privatlivsformuleringen matcher det faktiske flow.
  • Fejl, ingen tilgængelighed, validering, annullering og ombookingstilstande giver hver især en nyttig næste handling.
  • Et overvåget falback-telefonnummer eller en tilgængelig alternativ vej forbliver synlig, når widget’en fejler.
  • Falback-instruktioner inkluderer bemandede timer eller en realistisk svarforventning.
  • Planlæggeren har et specifikt tilgængeligt navn og fungerer med tastatur, skærmlæser, berøring, zoom og smalle skærme.
  • Fokus går forudsigeligt ind og ud af enhver dialog, og validering sletter ikke tidligere gyldige valg.
  • Datoer og tidspunkter er utvetydige, inkluderer den relevante tidszone og er ikke afhængige af farve alene.
  • Akutte eller væsentlige begrænsninger vises før handlingen og afhænger aldrig af planlæggeren.
  • Ingen konkurrerende planlægger, leadformular, nedtælling eller ikke-relateret kampagne sidder ved siden af den primære handling.
  • Strukturerede data afspejler synlige, verificerede virksomheds- og servicefakta uden at opfinde tilgængelighed eller bekræftelse.
  • Den valgte posttype fremgår af postTypes, og placeringen følger matricen ovenfor.
  • En ejer og gennemgangsudløser findes for indhold, falback-kontakt, udbyderintegration og bekræftelsesadfærd.

FAQ

Kan en booking-widget være den eneste aftaleinformation på en side?

Nej. En tredjeparts-widget kan fejle, kræve samtykke, blokere crawlere eller være ubrugelig med visse hjælpeteknologier. Hold service, lokation, berettigelse, forberedelse, kontaktvej og falback-instruktioner i server-renderet HTML uden for widget’en.

Bør planlægningsværktøjet åbne på siden eller på udbyderens hjemmeside?

Brug en inline- eller modal-planlægger, når den er tilgængelig, hurtig og nem at komme tilbage fra. Brug et tydeligt mærket eksternt link, når udbyderen fungerer mere pålideligt på sit eget domæne. Bevar i begge tilfælde den samme crawlbare kontekst og et ikke-widget-falback på siden.

Har en booking-blok brug for schema-markup?

Ikke automatisk. Den omgivende side kan kvalificere sig til LocalBusiness, Service eller en anden relevant type. Tilføj kun ReserveAction, når handlingsmålet er reelt, stabilt og præcist repræsenterer den synlige booking-vej; opfind aldrig live aftaletilgængelighed i strukturerede data.

Hvordan bør en virksomhed med flere lokationer håndtere booking?

Gør lokationen tydelig, før læseren går ind i planlægningsflowet, bevar den valgte lokation gennem hvert trin, og vis dens adresse, tidszone og falback-kontaktoplysninger i HTML. Send aldrig hver filialside til en ufiltreret organisationsdækkende kalender.

Hvad skal der ske, når der ikke er ledige tider?

Forklar den næste gyldige vej uden at antyde, at virksomheden er lukket: tilbyd en anden lokation, venteliste, telefonnummer, anmodningsformular eller en tydelig dato for at tjekke igen. Bevar den valgte service og lokation, så læseren ikke skal starte forfra.

← All SEO Playbook guides

Klar til at føre det ud i livet?

Gratis tjek · 7-dages prøveperiode · intet kreditkort