Skip to content

Case study · Hospitality: 4-star all-inclusive resort hotel, Caribbean

Hotel Marien.

Polargate turned the bilingual website of a 349-room Caribbean resort into a fully static, hardened site with structured data for AI search, and keeps it under a monthly care retainer with an automated audit on the first day of every month.

Home page of hotelmarien.com: the Marien Puerto Plata logo and menu over an aerial view of the resort's lagoon pools, blue sun loungers, palm trees and hotel buildings.

At a glance

Client
Hotel Marien
Sector
Hospitality: 4-star all-inclusive resort hotel, Caribbean
Year
2026
Stack
ReactViteTypeScriptTailwind CSSshadcn/uiReact RouterTanStack QuerySupabasePostgreSQLDenoResendVercelNode.jsGA4Search ConsoleGitHubClaudeOpenAI
Hotel Marien on a phone

01 · Hotel Marien

The challenge.

The resort's website looked right and read well for guests. The next step was to make every page just as readable for Google, social networks and AI assistants: its own title, canonical and Open Graph tags per page, a real 404 for unknown addresses, security headers sent by the server, structured data built only on verifiable sources, and a backend of its own instead of the no-code platform the site had been scaffolded on.

For example: 38 Spanish and English routes prerendered as static HTML. Santo Domingo Bay

02 · Hotel Marien

What we built.

Polargate audited the site black-box and white-box across four pillars (security, SEO, structure and AI positioning) and improved it in phases. HTTP security headers sent by the server first, then a proper 404 page and a static head per route, then a full move off the no-code platform onto Polargate's own Supabase project and a static build with vite-react-ssg. All 22 public routes now ship complete HTML in Spanish and English, with schema.org graphs generated from the translation files, llms.txt and llms-full.txt, and a robots policy that lets AI search crawlers in.

From a sun lounger by the pool at sunset, a hand holds a phone with the Hotel Marien mobile site: the logo, the 26°C weather card and the line Tu Escape Caribeño te espera.
Recreated scene with the project's real screen

For example: ~2,500 guest requests handled in four months at Santo Domingo Bay. Estevano

03 · Hotel Marien

The result.

The three priority improvements from the June 2026 audit went live and were verified in production, and the August cycle resolved 33 confirmed findings. The site now serves full HTML per route and per language to Google, social scrapers and AI assistants, runs on infrastructure Polargate controls, and loads a mobile hero image of roughly 98 KB instead of 288 KB. A scheduled audit reviews site and repository on the first day of each month and reports; it never deploys by itself. Polargate claims no traffic or booking figures here: commercial results depend on far more than a website.

public routes prerendered as static HTML
22
mobile hero image, down from about 288 KB
98 KB
social preview image, down from 1.74 MB
136 KB
languages served with bidirectional hreflang (ES/EN)
2
confirmed findings fixed in the August 2026 audit cycle
33
priority improvements live and verified in June 2026
3

For example: 16 indexable URLs, Spanish and English. Hotel Talavera

04 · Hotel Marien

How we did it.

For example: 11 modules delivered in Phase 1. Elite Smart Build

The starting point

Hotel Marien is a 4-star all-inclusive resort with 349 rooms in Puerto Plata, on the north coast of the Dominican Republic. Polargate designed and built its bilingual website, delivered in March 2026, and has run it on a monthly care retainer since. The build included the Paraty Tech booking engine, technical and content SEO, security hardening, hosting and backups, and analytics setup with GA4, Tag Manager and Search Console. Since July 2026 the hotel also runs a branded guest app on Estevano, Polargate's own hotel platform, at marien.estevano.com: an AI concierge, restaurant and spa bookings, room service and incident reporting, with a reception QR poster generated from the hotel's own brand tokens.

What the audit set out

In June 2026 Polargate ran a black-box and white-box audit across four pillars: security, SEO, structure and AI positioning. It set four goals for the next stage of the site:

  • A real 404 for unknown addresses, so search engines only index pages that exist.
  • Security headers sent by the server, so clickjacking protection applies in every browser.
  • Its own title, canonical and Open Graph tags on every page, served in the HTML.
  • Structured data built only on sources anyone can check.

The three priority items went live and were verified in production the same month.

What we rebuilt

  • HTTP security headers sent by the server: CSP with frame-ancestors none, X-Frame-Options DENY, HSTS with preload, nosniff, Referrer-Policy and Permissions-Policy.
  • A static head per route first, then a full static build with vite-react-ssg on Vite, React and TypeScript, with Tailwind and shadcn/ui in the interface. All 22 public routes now ship complete HTML in Spanish and English, with bidirectional hreflang and a single route source in code.
  • A full exit from the no-code platform onto Polargate's own Supabase project: the contact form as a Deno edge function with CORS restricted to the hotel domain, a server-side honeypot, forced RLS on the messages table, and delivery through Resend from a verified sending subdomain.
  • Schema.org graphs generated from the i18n files: Hotel, five HotelRoom nodes, five Restaurant nodes, the spa, FAQPage, BreadcrumbList and a WebPage node with dateModified and speakable. Plus llms.txt and llms-full.txt, and a robots policy that welcomes AI search crawlers and blocks bandwidth scrapers.
  • The hotel's real TripAdvisor score and two visible guest reviews, linked to its verified TripAdvisor, Booking and Google Maps profiles.

How it runs now

The site is hosted on Vercel with DNS in Route 53, and analytics run through GA4, Tag Manager and Search Console behind consent. Performance work brought the mobile hero image down from about 288 KB to about 98 KB with srcset, and the social preview image from 1.74 MB to 136 KB. On the first day of every month, a scheduled Claude routine reviews the live site and the repository across AI search, Core Web Vitals, breakage and security, verifies each finding adversarially, and reports. It deploys nothing on its own. Polargate reviews the findings, applies the fixes, and sends the hotel's management a maintenance report in plain language.

FAQ

Questions about this project.

How long did this take?
Polargate delivered the website in March 2026. The June 2026 improvements were audited and shipped in three phases: security headers and per-route heads went live the day of the audit, and the structured data and hardened contact form a week later. The August 2026 cycle, which moved the site off the no-code platform and rebuilt it as a static site, ran as one sprint. After that it is a monthly rhythm.
Can you do this with our booking engine?
Yes. Marien's site works with the Paraty Tech booking engine the hotel already used, and Polargate did not replace it. The approach carries over to other engines: the website stays the fast, indexable layer that answers questions and hands over qualified traffic, and we keep the handover clean so consent, analytics and tracking survive the jump into the engine.
Our site was built on a no-code platform. Can it be rescued, or do we start over?
Usually it can be rescued. With Marien, Polargate kept the design and the code, removed the platform's tooling, moved the database and functions to a Supabase project the client owns, switched the build to static generation, and repointed the environment variables by API. The site stayed live throughout. Starting over only makes sense when the underlying product or content has to change too.
Will this make our hotel show up in ChatGPT and Google's AI answers?
Nobody can guarantee that, and Polargate does not. What we can do is remove the reasons an assistant would skip you: complete HTML per route instead of an empty shell, one clear answer under each heading, structured data that matches the visible text, llms.txt, and a robots policy that lets the search and answer crawlers in. Citation still depends on authority and freshness, which take time.
What does the monthly maintenance actually include?
On the first of each month an automated audit reviews the live site and the repository across AI search, Core Web Vitals, broken things and security, and verifies each finding before reporting it. Polargate then decides what to fix, applies it, verifies it in production, and sends the hotel a report in plain language. Content requests, such as re-editing photos, are handled in the same cycle. The audit never deploys on its own.

For example: 2 languages live on the site, Spanish and English. Global Dynamic Security Group

Next project

Hotel Talavera.

Hotels and hospitality

A bilingual hotel website that crawlers and AI assistants can read

For example: 536/536 translation keys present in each of the three languages. Estepona Golf

Get started

Tell us what you want to build.

Websites, apps, custom systems and AI for companies that need them in production in weeks. Fill in the form or book a 30 minute call: a senior engineer answers within 48 business hours with a first take on scope, timeline and price.

What do you need?
Budget
When

At least ten characters.

Answer in writing within 48 business hours. No newsletter, no automatic sequence.

Rather answer the full brief?

First step

Discovery Sprint

Two weeks to close scope, architecture and price before anything is built.

No price list. You get a private quote, in writing, after a short call.

Then, to build, always at a fixed price

Not ready yet?

AI-native digital studio for mid-market companies

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