Vibe Code a Hotel Website
Free vibe coding prompt to build a WordPress hotel site with booking. Room types, availability calendar, direct reservations, and LodgingBusiness schema. Full hospitality setup.
Plan and produce a complete WordPress site architecture for a boutique
hotel or B&B with direct booking, room management, and OTA parity.
Output should be production-ready.
═══════════════════════════════════════════════════════════════
BUSINESS DETAILS
═══════════════════════════════════════════════════════════════
- Hotel name: [HOTEL NAME]
- City + neighborhood: [LOCATION]
- Type: boutique hotel / B&B / inn / vacation rental property
- Rooms: [N] rooms or suites
- Currency: [USD / EUR / etc.]
- Languages needed: [LIST, e.g., English + Spanish if international]
- Channel manager in use: [YES / NO, if yes, which]
- Existing PMS / OTAs: [Booking.com / Airbnb / direct only]
- Goal: shift from 80% OTA / 20% direct → 50% / 50% to keep more revenue
═══════════════════════════════════════════════════════════════
BRAND
═══════════════════════════════════════════════════════════════
- Brand colors: warm ivory (#f5efe4) + deep terracotta (#a05a3a) + sage
(#7a8b6e) + ink text (#1a1a1a). Override if user provides; AA-contrast.
- Type: high-contrast display serif for headings (Cormorant Garamond,
Fraunces) + Inter for body.
═══════════════════════════════════════════════════════════════
WORDPRESS STACK
═══════════════════════════════════════════════════════════════
- Theme: Astra or Blocksy block theme, OR a hotel-specific theme like
MotoPress's. Recommend Astra + child theme.
- Booking engine: HBook OR MotoPress Hotel Booking OR WP Hotel Booking.
Recommend MotoPress (best UX, deep integration with channel managers).
- Channel manager: SiteMinder or Cloudbeds (for OTA parity)
- Plugins (WP-CLI):
wp plugin install --activate
motopress-hotel-booking
mphb-stripe
wordpress-seo
advanced-custom-fields
wp-rocket
shortpixel-image-optimiser
wpml-multilingual-cms
- Payments: Stripe (with Apple/Google Pay) + deposit policy
═══════════════════════════════════════════════════════════════
DATA MODEL
═══════════════════════════════════════════════════════════════
- CPT `room` (or use MotoPress's accommodation type CPT)
- ACF on room: amenities (checkbox list), max_guests, bed_types
(repeater: count + type), view_type (taxonomy: garden/sea/city),
sqft, base_rate, gallery, virtual_tour_url
- CPT `experience`, concierge-curated activities
- CPT `offer`, packages and seasonal promotions (e.g., "Wine pairing
weekend")
- Taxonomies: `amenity`, `view_type`, `room_category`
═══════════════════════════════════════════════════════════════
SITE MAP
═══════════════════════════════════════════════════════════════
1. Home (with date picker hero)
2. Rooms index + room detail pages
3. Experiences / Things to Do
4. Dining (if hotel has a restaurant)
5. Gallery
6. Offers / Packages
7. Reviews
8. About / Story
9. Find Us / Travel info
10. Book Now (booking engine landing)
11. Manage Booking (lookup by confirmation #)
12. Contact
═══════════════════════════════════════════════════════════════
HOMEPAGE, BLOCK MARKUP
═══════════════════════════════════════════════════════════════
1. Hero with date-picker prominently (check-in / check-out / guests) -
passes to booking engine; sticky on scroll
2. Why choose us (3 USPs, location, amenities, hospitality)
3. Room types preview (3-4 cards, each with photo, name, "From $X/night",
"View" link)
4. Experiences nearby (4 cards: dining, hiking, museum, beach, local
color)
5. Press / Awards strip (typeset names, Travel + Leisure, Condé Nast,
etc., placeholder)
6. Reviews carousel (3 quote cards with ratings)
7. Newsletter signup (with seasonal-offer incentive)
═══════════════════════════════════════════════════════════════
ROOM DETAIL PAGE
═══════════════════════════════════════════════════════════════
- Image gallery (full-bleed lightbox)
- Room name (display serif), max guests, bed configuration
- Amenities checklist (with icons)
- Sqft + view type
- Rate calendar (dynamic from booking engine)
- "Book this room" sticky CTA (mobile)
- 360 / virtual tour embed (if available)
- Reviews specific to this room
- Related rooms ("You might also like")
═══════════════════════════════════════════════════════════════
LOCAL / EXPERIENCES PAGE
═══════════════════════════════════════════════════════════════
- Hero with hotel address + map embed
- Nearby attractions, restaurants, transit (curated by you, not generic
TripAdvisor)
- Concierge tips card (downloadable PDF)
- "Getting here" section: airport, train, car, parking info
- Day trips and self-guided tours
═══════════════════════════════════════════════════════════════
EMAIL FLOWS
═══════════════════════════════════════════════════════════════
- Booking confirmation (immediately after reservation)
- Pre-arrival email (5 days before): directions, parking, check-in info,
WiFi, "what to pack" tips
- Day-of email: check-in window, concierge contact, recommended dinner
spot
- Post-stay email (D+3): "How was your stay?" + Google review prompt +
newsletter signup
- Marketing newsletter (monthly): seasonal offers + local events
═══════════════════════════════════════════════════════════════
SEO STRATEGY
═══════════════════════════════════════════════════════════════
- Schema: LodgingBusiness (with numberOfRooms, amenityFeature,
petsAllowed, starRating), Hotel, BedAndBreakfast, Room
- Local SEO: Google Business Profile must be claimed and verified
- Sitemap with rooms + experiences + offers
- Target keywords: "[Type of hotel] in [City]" + "Where to stay in
[City]" + "[Neighborhood] hotels"
- Open Graph images per room and offer
ADDITIONAL SEO REQUIREMENTS (implement all of these):
On-Page SEO for Every Page:
- Yoast/RankMath meta title template: "[Page Title] | [Site Name]" (under 60 chars)
- Meta description per page: 150-160 chars, include primary keyword + CTA
- Exactly ONE H1 per page — use the real, human headline; keep keywords in the title and meta, not the visible H1
- Logical H2 > H3 heading hierarchy, never skip a level
- Headings should include secondary keywords naturally,
keep the section's real, human label (keywords in title and meta, not stuffed headings)
- Every image must have a descriptive alt attribute with keywords
- Internal links between related content using descriptive anchor text
Structured Data (JSON-LD via Yoast/RankMath + manual where needed):
- Primary schema types: LodgingBusiness, Hotel
- BreadcrumbList on all pages
- FAQPage schema on any page with an FAQ/accordion section
- Article schema on all blog posts (auto via Yoast)
- Validate schema with Google Rich Results Test before launch
Open Graph & Social Sharing:
- og:title, og:description, og:image, og:url on every page
- twitter:card=summary_large_image on every page
- Default OG image set in Yoast; per-page overrides for key landing pages
- OG images should be 1200x630px, branded, with clear text
Content SEO:
- Write real, useful body copy for every page (not just headings and CTAs).
Every major section needs at least 2-3 sentences of descriptive text
that search engines can index.
- Blog content strategy: 10 seed articles targeting long-tail keywords
related to "hotel / B&B". List the titles and target keywords.
- Use the primary keyword once or twice where it reads naturally; keep the rest in titles and meta, never stuffed.
- Every CTA should use descriptive anchor text with the service keyword.
Technical SEO:
- XML sitemap split by post type (auto via Yoast)
- Canonical tags on all pages (auto via Yoast)
- robots.txt: allow all, point to sitemap
- 301 redirects plan for any renamed/moved content
- Breadcrumbs enabled via Yoast + schema
- Clean permalinks: pick one post-permalink base that fits the site (do not force /blog/ on a post-centric site); /%postname%/ is fine for pages
- Lazy load all images below the fold, eager load hero/LCP image
- Core Web Vitals targets: LCP < 2.5s, CLS < 0.1, INP < 200ms
SECURITY, ACCESSIBILITY & HONESTY (required):
- Escape all output (esc_html/esc_url/esc_attr), sanitize all input (sanitize_text_field + wp_unslash), and use a nonce + current_user_can() on every form handler and custom action. Emit JSON-LD with wp_json_encode().
- Target WCAG 2.2 AA: visible :focus-visible states, <label for> on every field, full keyboard operability, and @media (prefers-reduced-motion: reduce) around all motion.
- Never fabricate business data, testimonials, ratings, credentials, or stats; leave labeled {{TODO}} placeholders for anything the user has not supplied.
- PLUGIN INSTALL: some listed plugins are premium or not in the wordpress.org directory, so a single `wp plugin install` will error out. Split the list into free (wp.org) vs premium (upload/license), verify each slug, and note that gallery/group ACF fields and ACF Blocks need ACF Pro.
- Commit to ONE paradigm: a block theme (theme.json + block templates) OR a classic theme/builder — never mix them. If a plugin already owns a post type or feed (inventory, sermons, courses, job listings, podcast feeds), extend it — do not re-declare that CPT or emit a second, conflicting schema block.
Local SEO:
- Full NAP (Name, Address, Phone) in footer, consistent across all pages
- Google Business Profile integration (link in footer + schema)
- Location keywords in at least 3 page headings
- Embedded Google Map on contact/location page
- Target keywords include city/region: "hotel / B&B in [City]"
═══════════════════════════════════════════════════════════════
MULTILINGUAL (if international guests)
═══════════════════════════════════════════════════════════════
- WPML or Polylang
- Translate: all rooms, offers, key static pages
- Currency display: based on visitor's IP
═══════════════════════════════════════════════════════════════
PERFORMANCE
═══════════════════════════════════════════════════════════════
- WP Rocket + ShortPixel + Cloudflare
- Image-heavy site, adaptive images critical
- Hero LCP < 2s
- Mobile-first: most travel research starts on phones
═══════════════════════════════════════════════════════════════
ANTI-PATTERNS TO AVOID
═══════════════════════════════════════════════════════════════
- No fake "Book before midnight!" countdown timers
- No emojis in room names
- No autoplay video with sound in hero
- No fake stock photos of "happy couple in hotel room" with obvious
staging
- No "Voted Best Hotel!" badges without source
- No real OTA logos as images on direct-booking page (avoid linking
to Booking when you want direct booking)
- No script/handwritten fonts
- No popups within first 5s of landing
- No buried "View terms" links, make terms findable
═══════════════════════════════════════════════════════════════
DELIVERABLE
═══════════════════════════════════════════════════════════════
1. Booking plugin choice + justification
2. WP-CLI install commands
3. Room CPT + ACF JSON
4. theme.json
5. Homepage with date-picker block markup
6. Room detail template
7. Email flow specs (5 emails, full copy)
8. Channel manager setup notes (OTA parity)
9. Multilingual setup (if needed)
10. Launch checklist (20 items)
This prompt gives ChatGPT or Claude a full WordPress build plan for a hotel or bed-and-breakfast site with direct booking — room types with real availability, a rate calendar, and a reservation flow that takes deposits without paying a commission to a booking portal. It specifies room-type pages with galleries, an availability checker, a booking engine, and a local-experiences section as Gutenberg block markup on top of MotoPress Hotel Booking. You get a plan for a property that fills rooms from its own site, not just from third-party channels.
What does the hotel and B&B website prompt build?
The plan covers a homepage with a hero and an availability checker, room-type pages with a photo gallery, amenities, and rates, a booking flow that takes dates and a deposit, and a local-experiences section that sells the surrounding area. It specifies guest reviews, a photo gallery, a map with nearby attractions, and an optional multilingual setup. LodgingBusiness structured data is built in with your address, price range, amenities, and check-in times so the property surfaces in local and map results. If you would rather have it built, our WordPress build service ships the same setup for a flat fee.
Who is this hotel and B&B prompt for?
It is written for independent hotel owners, bed-and-breakfast hosts, boutique inns and lodges, and vacation-rental operators who want direct bookings and a smaller cut going to online travel agencies. It assumes a real property with distinct room types and a booking calendar.
What’s inside the prompt?
- A business details block for your property name, room types, rates, and location
- A booking plugin stack led by MotoPress Hotel Booking, with SEO, caching, and an optional translation layer
- A data model for room types, seasonal rates, and amenities
- Gutenberg block markup for the homepage availability checker, room pages, and booking flow
- A guest reviews section, an image gallery, and a local-attractions map
- LodgingBusiness structured data, local SEO setup, and a keyword plan around your area
- Core Web Vitals targets for photo-rich pages and a launch checklist
Frequently asked questions
Does the site take real bookings and deposits directly?
Yes. The booking engine checks live availability against your calendar, holds the dates, and takes a deposit or full payment through Stripe or PayPal — a direct reservation with no commission to a booking portal. The payment processor handles the card data, not your WordPress install.
Can I show different room types with their own rates and availability?
The data model gives each room type its own page, gallery, amenity list, and rate, and each has an independent availability calendar. You can set seasonal pricing and minimum-stay rules per room, which is exactly what a mixed property needs.
Will the property show up in local and map search?
The SEO section adds LodgingBusiness structured data with your address, geo-coordinates, price range, amenities, and check-in and check-out times, plus local SEO setup. That is the markup that feeds Google’s local pack and map results for lodging searches in your area.
Can I sync rates with Booking.com or Airbnb to avoid double bookings?
MotoPress Hotel Booking supports iCal channel syncing, so bookings from Booking.com or Airbnb block those dates on your site and the other way around. The prompt notes where to connect it; the depth of two-way sync depends on the plugin edition and the channel you use.
Which AI tools work with this prompt?
ChatGPT and Claude both return the full build. A booking site has more moving parts than a brochure site, so it is worth skimming the tools we use and what a WordPress build costs before deciding whether to build it yourself.
How to actually run this.
Copy the whole thing
All of it. Do not trim it down, every line is in there for a reason.
Swap in your details
Find the BUSINESS DETAILS part and drop in the real business. Name, what they do, all of it.
Paste and wait
Drop it into Claude for the first pass, or v0 if it is a landing page. Give it a minute.
Clean it up
Tweak the boring 10 percent. Spacing, mobile, that one cringe line. Ship it.
What’s next: from generated code to a website that works
The prompt did the hard 90 percent. What’s left is the boring 10 percent that turns a folder of code into a site people can actually find and trust. Here’s the whole checklist, in order.
1. Buy a domain
Grab your name at a registrar like Namecheap, Cloudflare, or Porkbun — about $10 to $15 a year for a .com. Skip the ten-year prepay and the upsells; you just need the domain and, ideally, the free WHOIS privacy most registrars now include.
2. Put it online
If the AI built you a static site (HTML, CSS, and JavaScript), you can host it for free: drag the folder into Netlify or Vercel, or connect a GitHub repo, then point your domain at it. If it built a WordPress theme, you need WordPress hosting — pick a managed host, install WordPress, upload the theme, and connect the domain. Either way, turn on HTTPS; it’s free and automatic on every modern host.
3. Wire up the parts AI skips
Generated sites almost always ship with a contact form that goes nowhere and a fake “success” message. Connect it to a real endpoint (Formspree, Web3Forms, or a plain mailto link) so leads actually reach you. While you’re in there: add a favicon, swap the placeholder images for your own compressed photos, and open the site on your phone to catch whatever breaks on a small screen.
4. Do the basic SEO and AI-search setup
This is what gets you found on Google and cited by ChatGPT, Perplexity, and AI Overviews. The essentials: a unique title tag and meta description on every page, one clear topic per page, an XML sitemap submitted to Google Search Console, basic structured data (Organization and FAQ schema), and an llms.txt file so AI crawlers can read you. If that reads like a foreign language, our SEO optimization service does it as a flat-fee pass, and our free SEO checklist walks the DIY route step by step.
5. Make it fast
AI builders love shipping four-megabyte images and render-blocking scripts. Compress your images, lazy-load anything below the fold, and run the page through PageSpeed Insights until Core Web Vitals turn green — speed lifts both rankings and conversions, so it’s the rare fix that pays twice. Our speed optimization service handles it if you’d rather not.
6. Get found locally, and measure it
Add analytics (GA4, or a lighter option like Plausible) so you can see what’s working instead of guessing. If you serve a local area, set up a Google Business Profile and use the exact same business name, address, and phone number everywhere — that consistency is what lands you in the map pack and in local AI answers.
7. Keep it alive
A website isn’t set-and-forget, especially on WordPress. Budget for backups, security, and updates so a routine plugin update doesn’t take the site down six months from now. Our care plans cover all of it from $290 a month, or you can do it yourself — you own all the code either way.
When it’s worth handing off
If any of these steps stall you — and hosting, DNS, and SEO stall a lot of people — that’s exactly what we’re for. We build the whole thing at a flat fee, ship it live, and hand you the code on GitHub, having read every line the AI wrote. Or take the free prompts and run with it yourself. Both outcomes are genuinely fine with us.
More from the stash.
Vibe Code a Pediatric Clinic Website
Free vibe coding prompt to build a pediatric clinic website. Appointment booking, parent resources, after-hours info, and structured data. One HTML file for ChatGPT…
Vibe Code a Real Estate Agent Website
Free vibe coding prompt to build a real estate agent website. Featured listings, neighborhood guides, sold properties, and lead capture forms. One HTML file…
Vibe Code a Coffee Shop Website
Free vibe coding prompt to build a specialty coffee shop website. Full drink menu, origin story, daily roast list, and local SEO markup. One…
No free weekend? We will build it for you.
This is the exact prompt we would use. Flat fee, real deadline, code is yours.