Naar de inhoud

AI-zoeken · 6 min lezen

Zo krijg je jouw hotel aanbevolen door ChatGPT.

Een assistent beveelt de hotels aan die hij kan lezen, dus de kamers en de reviews moeten in de HTML van elke taal staan.

Door Pedro CiordiaGepubliceerd

Een reiziger met rugzak spreekt in zijn telefoon bij de stenen boogingang van een hotel in een oude binnenstad, terwijl een piccolo een koffer naar binnen draagt

Kort gezegd

Wil je dat ChatGPT jouw hotel aanbeveelt, dan moeten je pagina's leesbaar zijn zonder JavaScript: geprerenderde HTML per route en per taal, schema.org-data voor Hotel en HotelRoom die de zichtbare tekst weerspiegelt, echte reviews en vragen op de pagina, een boekingsmotor die de inhoud niet verbergt, en dezelfde naam, adres en coördinaten op Google Bedrijfsprofiel en de externe vermeldingen. Polargate bouwt hotelsites zo.

Een reiziger opent ChatGPT en typt: "rustig viersterrenhotel bij het strand in Puerto Plata, goed ontbijt, gezinskamers". De assistent noemt drie of vier hotels met per hotel één regel argumentatie. Jouw hotel staat in dat lijstje of niet, en niemand heeft tien blauwe links geopend om te kiezen. Hieronder staat wat dat werkelijk bepaalt, gebaseerd op de hotelsites die Polargate bouwt en onderhoudt in Spanje en het Caribisch gebied.

Hoe een assistent een hotel kiest

Assistenten bouwen dat antwoord uit drie bronnen: een webindex (ChatGPT en Copilot leunen op Bing, de AI-onderdelen van Google gebruiken de index van Google), hun eigen crawlers die jouw pagina's ophalen, en wat de rest van het web over je zegt op Google Maps, TripAdvisor en Booking.

Twee eigenschappen van die crawlers bepalen het grootste deel van de uitkomst:

  • Ze halen ruwe HTML op en voeren geen JavaScript uit. GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot en de crawlers van Meta lezen wat je server stuurt, niet wat React daarna rendert.
  • In snelle antwoordmodi lezen ze weinig: de title, de H1 en ongeveer de eerste tweehonderd tekens daarna. Een videoheader en een slogan van drie woorden geven ze niets om te citeren.

Je pagina's moeten bestaan zonder JavaScript

Bijna elke hotelsite van de afgelopen vijf jaar is een single page application: de server stuurt een lege schil en de kamers, restaurants en tarieven verschijnen pas als de browser de bundle uitvoert. Voor een AI-crawler is die pagina leeg.

De oplossing is prerendering: een echt HTML-bestand per route en per taal, gegenereerd tijdens de build. Bij de site van een Caribisch resort die we prerenderden, worden nu 38 Spaanse en Engelse routes als statische HTML geserveerd, gecontroleerd met JavaScript uit. Bij een tweede hotelsite staan nu 22 publieke routes als echte HTML online, elk met eigen title, description, canonical en hreflang.

Prerendering moet je ook controleren. Onze audits controleren of elk kamertype in de geprerenderde HTML staat, of de headerafbeelding vanaf de eerste weergave zichtbaar is en of de tellers echte cijfers tonen. Voor een machine is een pagina zonder dat dun en halfleeg.

Drie controles voor vandaag

  • Laad de pagina met JavaScript uitgeschakeld. Verdwijnt er een kamer, een tarief of een restaurant, dan bestaat het niet.
  • Vraag de pagina op zoals een bot dat doet, met curl -A "OAI-SearchBot" https://jouwhotel.nl/kamers, en lees de HTML die terugkomt.
  • Controleer of er aan de rand niets is dat die user agents blokkeert. Botbescherming die een AI-crawler een challenge voorschotelt haalt je uit het antwoord, geruisloos.

Gestructureerde data voor het hotel, de kamers en de restaurants

Met schema.org geef je een machine een ondubbelzinnige feitenkaart. Weet wat dat wel en niet oplevert: een Ahrefs-onderzoek uit 2026 met 1.885 pagina's met toegevoegde markup tegenover 4.000 controlepagina's vond geen noemenswaardige stijging in AI-citaties door schema alleen, en de FAQ-rich results van Google zijn in mei 2026 gestopt. Gestructureerde data wint de aanbeveling niet. Het haalt dubbelzinnigheid weg, en dubbelzinnigheid is precies wat een hotel buiten het antwoord houdt.

Wat je voor een hotel minimaal publiceert:

  • Hotel met statutaire naam, adres, coördinaten, telefoon, sterrenklasse, voorzieningen en sameAs naar je geverifieerde vermeldingen op Google Maps, TripAdvisor en Booking.
  • Eén HotelRoom per kamertype, met bezetting, oppervlakte in vierkante meters en een prijsrange die klopt met de zichtbare pagina.
  • Restaurant per outlet, EventVenue voor zalen en bruiloften met echte capaciteiten, HealthAndBeautyBusiness voor de spa.
  • ReserveAction die naar de URL van de boekingsmotor wijst, zodat de assistent weet waar geboekt wordt.
  • BreadcrumbList en een WebPage-node met een dateModified die alleen verandert als de tekst verandert.

Twee regels, allebei met schade en schande geleerd. Markeer nooit iets dat niet zichtbaar op de pagina staat: verborgen prijzen en verzonnen openingstijden zijn in strijd met het beleid van Google. En verzin nooit een beoordeling. Op de hotelsites die wij onderhouden is de beoordeling het echte TripAdvisor-cijfer van het hotel, als zichtbare tekst naast de markup.

Talen, reviews en vragen in zichtbare tekst

Reizigers vragen in hun eigen taal, dus elke taal heeft een eigen URL met eigen geprerenderde inhoud: /habitaciones en /en/rooms, niet één pagina die de teksten tijdens runtime omwisselt. Zet er wederkerige hreflang plus x-default bij en stel het lang-attribuut van de html per route in. Dat laatste klinkt als een detail, maar schermlezers en crawlers leunen erop. Redirect nooit op Accept-Language of IP-adres zonder crawlers uit te zonderen, anders zien de engines altijd maar één taal van je site.

Geef de assistent daarna iets om te citeren:

  • Echte reviews in de paginatekst, met bron, naast het gemiddelde van het platform waar ze vandaan komen.
  • Een vragenpagina die geschreven is zoals gasten het echt vragen. Eén van onze hotelsites publiceert 27 echte vragen in zes groepen, in native <details>-elementen zodat het antwoord in de HTML staat of het accordeon nu open of dicht is, met bijpassende FAQPage-markup.
  • Onder elke vraag een direct antwoord van 40 tot 70 woorden dat op zichzelf staat: inchecken vanaf 15:00 uur, luchthaven op 20 minuten rijden, all-inclusive dekt deze vier restaurants.

Een boekingsmotor die de pagina niet verbergt

De boekingsmotor is de meest voorkomende zelf toegebrachte wond. Drie patronen om te vermijden:

  • Hij neemt de pagina over. Opent de beschikbaarheidswidget bij het laden als schermvullende laag, of bestaat het kamerdetail alleen binnen de iframe van de motor, dan staat niets daarvan in jouw HTML: inhoud in een iframe van een derde is van die derde.
  • Hij blokkeert het renderen van de pagina. Een zware widget die vóór de header laadt kost je Core Web Vitals en levert de crawler een traag, leeg document. Laad hem uitgesteld, na de inhoud.
  • De tarieven bestaan alleen daarbinnen. Publiceer een indicatieve prijsrange in je eigen HTML ("tweepersoonskamers vanaf X EUR per nacht, all-inclusive") en laat de actuele prijs met datums aan de motor over.

Op de sites die wij beheren is de motor een globale widget die uitgesteld initialiseert en zichzelf verbergt zolang er een dialoog open staat, met een ReserveAction in de gestructureerde data die ernaar wijst. De pagina leest nog steeds goed zonder de motor.

Hetzelfde hotel, overal hetzelfde geschreven

Een assistent stelt jouw hotel samen uit veel bronnen. Spreken die elkaar tegen, dan word je een paar zwakke entiteiten in plaats van één duidelijke.

  • Maak één feitenkaart: statutaire naam, handelsnaam, adres, coördinaten, telefoon, categorie en één zin beschrijving. Neem die letterlijk over in de footer van de site, Google Bedrijfsprofiel, Bing Places, TripAdvisor, Booking en de vermelding van je keten.
  • Controleer of de coördinaten kloppen met de echte ingang.
  • Verifieer het domein in Bing Webmaster Tools en dien de sitemap in. ChatGPT en Copilot putten uit de index van Bing, en Search Console alleen laat je dat niet zien.
  • Ping IndexNow bij elke productiedeploy en zet echte lastmod-datums uit de inhoud in de sitemap, nooit de builddatum.
  • Schrap claims die je niet kunt onderbouwen. Wij haalden "tot 200 gasten" en een globale "5/5" van een hotelsite af omdat geen enkele bron ze staafde.

Niets hiervan is een truc en niets komt met een garantie op positie: niemand kan je een plek beloven in een antwoord dat elke keer opnieuw wordt gegenereerd. Wat je er wel mee krijgt, is een hotel dat een machine kan lezen, correct kan beschrijven en kan citeren. Polargate start dit werk met een Discovery Sprint tegen een vaste prijs, bouwt daarna, en blijft daarna controleren met een maandelijkse CARE-retainer, want de crawlers, de boekingsmotor en je eigen kameraanbod veranderen allemaal.

Jouw situatie

Vertel ons over je project.

In een kort gesprek vertellen we hoe dit voor jouw project werkt, en daarna krijg je een schriftelijke offerte.

Bijvoorbeeld: 23 Postgres-tabellen met verplichte row-level security. Elite Smart Build

FAQ

Vragen over dit artikel.

Waarom noemt ChatGPT mijn hotel niet als iemand naar hotels vraagt?
Meestal omdat je pagina's onzichtbaar zijn voor de crawlers: ze lezen ruwe HTML en voeren geen JavaScript uit, dus een single page application geeft ze een lege schil. Bij een Caribisch resort dat Polargate overnam waren vóór de prerendering maar 4 van de ongeveer 30 ingediende pagina's geïndexeerd. Prerender elke route en elke taal en bekijk de pagina daarna met JavaScript uit.
Zorgt schema-markup ervoor dat ChatGPT mijn hotel aanbeveelt?
Op zichzelf niet. Een Ahrefs-onderzoek uit 2026 met 1.885 pagina's met markup tegenover 4.000 controlepagina's vond geen noemenswaardige stijging in AI-citaties. Toch is het de moeite waard: Hotel, HotelRoom en Restaurant halen dubbelzinnigheid weg over kamers, prijzen en locatie. Markeer alleen wat zichtbaar op de pagina staat en publiceer nooit een beoordeling die je niet kunt onderbouwen.
Kan mijn boekingsmotor mijn zichtbaarheid in AI schaden?
Ja, op drie manieren: als hij als schermvullende laag opent, als kamer- en prijsdetails alleen binnen zijn iframe bestaan, of als hij vóór je inhoud laadt. Wat in een iframe van een derde staat, hoort niet bij jouw HTML. Houd kamers, beschrijvingen en een indicatieve prijsrange in je eigen pagina's, laad de motor uitgesteld en wijs er een ReserveAction naartoe.
Heb ik per taal een aparte pagina nodig voor mijn hotelsite?
Ja. Elke taal heeft een eigen URL met eigen geprerenderde inhoud nodig, wederkerige hreflang plus x-default en het juiste lang-attribuut. Een pagina die de teksten tijdens runtime omwisselt geeft crawlers hooguit één taal. Redirect ook niet op browsertaal of IP-adres zonder crawlers uit te zonderen, anders zien de engines maar één versie van je site.

Bijvoorbeeld: 15 pagina's in het huisstijlhandboek. Global Dynamic Security Group

Lees verder

Meer uit de studio.

Roept een stuk een vraag op over je eigen project, dan beantwoorden we die in een kort gesprek.

Bijvoorbeeld: 327 tweetalige pagina's in de door Search Console geaccepteerde sitemap. KD.tech

Beginnen

Vertel ons wat je wilt bouwen.

Websites, apps, systemen op maat en AI voor bedrijven die ze binnen weken in productie nodig hebben. Vul het formulier in of plan een gesprek van 30 minuten: een senior engineer antwoordt binnen twee werkdagen met een eerste inschatting van scope, planning en prijs.

Wat heb je nodig?
Budget
Wanneer

Minstens tien tekens.

Schriftelijk antwoord binnen twee werkdagen. Geen nieuwsbrief, geen automatische mails.

Liever de volledige briefing?

Eerste stap

Discovery Sprint

Twee weken om scope, architectuur en prijs vast te leggen voordat er iets wordt gebouwd.

Geen prijslijst. Je krijgt na een kort gesprek een schriftelijke offerte op maat.

Daarna, om te bouwen, altijd tegen een vaste prijs

Nog niet zover?

AI-native digitale studio voor middelgrote bedrijven

POLARGATE, S.L. · CIF B24895005
Calle Electrónica 6, 28027 Madrid, Spanje