Portfolio / Hotel site and SEO
Every OTA booking arrives with a commission.
First Class is a mid-range hotel in Laureles – Estadio, the quiet side of Medellín almost nobody searches for because everyone types «El Poblado». It lived off Booking and its peers, paying a commission per guest. We built its site and its search strategy: a booking engine in the first screen, six rooms priced in dollars and pesos, content written by travel intent, and local SEO in two languages.

01The brief
The hotel filled up. So did the commission.
A mid-range hotel's problem is rarely occupancy: it is whose guest it is. When every booking comes through an OTA, the hotel pays for each night, does not know the guest before they arrive, and cannot offer them anything different from what they already saw inside the platform's search.
The brief was to build the direct channel: a site where the traveller can see the room, the price and the available dates and book right there; and a search strategy that brings them in without the middleman. With one extra difficulty: the hotel is in Laureles, and half the world searches Medellín by typing «El Poblado».
Before: what the OTA decided
- 01Who saw the hotel, and in what order
- 02Which photos and which copy showed
- 03Which price was compared against which
- 04The commission on every night
- 05The guest's email address
- 06Whether they could rebook without a middleman
Our role
Design and build of the whole site, the room and amenity architecture, the booking engine integration, the copy in two languages, and the search strategy — keywords, on-page, content and local SEO.
02Architecture
Three decisions before the first photograph.
A hotel site competes with an OTA interface the traveller already knows by heart. It only wins by answering the same things, faster and with less noise.
Dates in the first screen.
Guests, check-in, check-out and a book button, sitting on top of the photograph. It is exactly what the traveller opened the page for, and burying it under three welcome sections hands the booking back to the platform.
Priced in dollars and pesos.
Six rooms, each with its rate in both currencies, its bed, its size and what it includes. International travellers compare in dollars and locals pay in pesos: the site makes nobody do the maths.
Laureles, not El Poblado.
The location is explained rather than assumed: steps from the Atanasio Girardot stadium, near Calle 70, with the neighbourhood described as what it is — quieter and better connected. That is the real objection of someone who has never been.
03The idea
What this project had to settle.
An OTA doesn't sell your hotel. It sells a list your hotel happens to be inside.
Inside a platform, the guest compares twenty identical cards and decides on price and stars. On your own site they decide on something else: because they understood the neighbourhood, saw the whole room, read what breakfast includes, and learned they can bring the dog at no extra charge.
So this was not «make a nice website»: it was building the listing the OTA does not let you tell, and putting it where the traveller is searching — one query in Google, in Spanish or English, typed on a phone a month before the trip.
AppearConvinceBook
04The system
From the search to the direct booking.
The whole route, from the query the traveller types to the night the hotel bills without a middleman.
WordPress · Elementor
Site and contentRank Math
On-page SEO and markupBooking engine
Dates and availabilityLocal SEO
Laureles and aroundGPTranslate
Spanish and EnglishWhatsApp
The doubt before paying
- 01
The query
«Hotel in Laureles Medellín», «hotels near the stadium», «pet friendly hotel Medellín». Queries with buying intent, not inspiration: whoever types them has already decided to travel.
- 02
A result of your own
Every query has a page worked for it: titles and descriptions written one by one, ordered headings, and URLs that say what they hold before they open.
- 03
The doubt, settled
FAQs marked up as structured data, so the answer — location, breakfast, parking, pets — can appear straight in the search results.
- 04
Content that teaches
Articles by trip type: long stays, wedding guests, near the airport, what to expect from a mid-range hotel. Each answers a real situation and leads to the same place.
- 05
The room
A page per room with photography, bed, amenities, description and the rate in both currencies. The traveller sees what they are booking, not a cropped thumbnail.
- 06
The dates
The home search and every room's button lead to the same place: pick check-in, check-out and guests, and confirm real availability.
- 07
The direct booking
The night is billed with no commission and the hotel keeps the guest's contact: the difference between renting out a bed and having a customer.
- 08
The return
Content in both languages, WhatsApp in view and reviews worked on: next time the traveller types the hotel's name into search, not the category.
Six rooms · two currencies · two languages · one channel of your own
05SEO
Show up where the trip gets decided.
In hospitality, SEO does not compete against other hotels: it competes against Booking. The only way to win traffic is to answer specific questions better.
The neighbourhood as the argument.
Laureles – Estadio is worked as territory: proximity to the Atanasio Girardot, to Calle 70 and to the malls, with the comparison against El Poblado made explicit for anyone arriving cold.
A page per situation.
A wedding, a long stay, a layover near the airport, a business trip: each reason to travel gets its own content, because each one asks different questions before booking.
What the search engine needs.
Per-page metadata, headings in order, clean URLs, images with alt text, FAQs with FAQ markup, and the site served in two languages with a structure of its own.
06The site
What is published.
Figures for the structure, not campaigns: what a traveller finds today on firstclasshotelmedellin.com.
- 6
- Rooms with their own page and rate
- 2
- Currencies: dollars and pesos, no conversions
- 2
- Languages with their own structure
- 5
- Amenities included, no surcharge
07Visual system
Terracotta rose on warm paper.
Booking · Buttons · Price
- HEX
- #C9505C
- RGB
- 201 · 80 · 92
Legible accent in text
- HEX
- #B23F4B
- RGB
- 178 · 63 · 75
Headings and header
- HEX
- #241A1B
- RGB
- 36 · 26 · 27
Section backgrounds
- HEX
- #F8EDEE
- RGB
- 248 · 237 · 238
Room copy and details
- HEX
- #6E5F60
- RGB
- 110 · 95 · 96
08Typography
A serif that welcomes, a sans that charges.
Libre Baskerville
Aa Bb Cc — 0123456789
Regular 400 · Italic · Bold 700
Mulish
Aa Bb Cc — 0123456789
Regular 400 · Medium 500
Mulish · small caps
Aa Bb Cc — 0123456789
SemiBold 600
Your ideal stay in Medellín
clamp(34–56) · -1% · 400/italicComforts that elevate your experience
clamp(24–38) · 0 · 700Premium Penthouse · $300 usd / $1,200,000 cop
clamp(17–22) · 0 · 700An impeccable suite with a living room, kitchenette and private jacuzzi; a spacious room combining sophistication and comfort for a longer stay.
16 / 27 · 0 · 400Breakfast included · Pet friendly · Parking
12 / 16 · 10% · 60009The site
What someone looking for a bed in Medellín sees.

The city panorama, the promise in three lines and — on top of everything — the date search: guests, check-in, check-out and book, without scrolling once.

Six types with photo, bed, amenities, description and the rate in dollars and pesos. Every card closes with a booking button of its own.

WiFi, parking, breakfast, air conditioning and pets at no surcharge: what an OTA shows as tiny icons is a section here.

The Premium Penthouse with its view and its jacuzzi, presented as a piece of its own: in a mid-range hotel, the suite is what lifts the average ticket.

Hotel bookings get decided on a phone, usually at night with several tabs open: the date search fits the first screen.
10The outcome
A channel the hotel actually controls.
The hotel now has what the platform used to provide: its full listing, its price in both currencies, its neighbourhood explained, its questions answered, and a booking engine of its own in the first screen, in Spanish and English. Every booking through it arrives with no commission and with the guest's contact details.
And the search work continues: content by travel intent — weddings, long stays, layovers near the airport — is what wins queries the OTA does not cover, and every new article pushes toward the same booking engine. In hospitality that is not won in a month: it is won by publishing.
Stack
- 01WordPress · Elementor Pro
- 02ElementsKit · booking addons
- 03Booking engine with live dates
- 04Rank Math · on-page SEO
- 05FAQs with FAQ markup
- 06GPTranslate · Spanish and English
- 07Breeze · cache and speed
- 08WhatsApp · the pre-booking question
What this case does not claim
No Google rankings and no booking figures are quoted: those are measured in Search Console and in the hotel's own system, and we do not publish numbers we have not verified. What is shown is what was built — site, content, markup and a direct channel — all of which can be checked by opening it.
More work
If your customers find you inside somebody else's list, you're renting your own business.
Hotels, restaurants, clinics, workshops: wherever a platform mediates the relationship, it charges for every customer and keeps their details. A site that answers the same questions — and shows up when someone types them — turns that commission into margin.
Tell us about your project