1. The situation
Hotels in certain parts of Phuket sit on a fundamentally different business mix from the beachfront tourist strip — the core customers aren’t short-stay leisure travellers but corporate guests attending meetings downtown, business travellers visiting Phuket factories, and long-stay guests staying 2-4 weeks for extended assignments. That mix accounts for nearly 60% of annual revenue.
But when we audited the websites of mid-sized hotels in Phuket province, the pattern repeated — the site is designed like a resort, with a swimming-pool image up top, homepage copy about “tropical paradise”, and no section telling you how many minutes the hotel is from Bangkok Hospital Phuket or how close it is to Central Phuket Floresta — the exact information corporate guests want most.
Mobile UX was generally unusable — 6-9 second load times, booking buttons buried under animations, and a booking engine on a different system from the PMS, causing routine over-bookings during high season.
The client had tried two paths before talking to us — six months on TripAdvisor ads with negative ROI from high commission and low-quality traffic, plus hiring students to write blogs that contained no search intent — Google Search Console showed just 12 impressions a week.
Shared goal: lift direct bookings 200% within 6 months.
2. Why off-the-shelf solutions don’t work
The cheap WordPress booking plugins most agencies recommend rarely sync with Cloudbeds or SiteMinder channel managers — rooms booked via Agoda don’t disappear from the hotel’s calendar, so the reservation team has to fix over-bookings by upgrading or relocating guests for free.
Generic SEO agencies in Bangkok don’t understand the Phuket market — they target the same keywords as beachfront hotels (“hotel Phuket beach”, “Phuket beachfront stay”) when downtown hotels’ actual customers search for “hotel near Phuket Hospital”, “long stay Phuket”, “hotel near Central Floresta” or the Chinese equivalent “普吉 商务 酒店”.
3. Our approach
We chose not to use WordPress from the outset — the stack was Astro + Cloudbeds API + Cloudflare Workers. Astro pre-renders every room page as static HTML so Core Web Vitals pass immediately, Cloudbeds API delivers real-time inventory directly (no plugin), and Cloudflare Workers proxy the API calls with rate limiting.
Four strategy pillars:
- Trilingual content TH/EN/CN — not Google Translate, but each locale rewritten to match its market’s search intent. CN was a priority because mid-tier Chinese tourists more often stay downtown than at the beach.
- Booking funnel optimisation — steps down from 7 to 3, inline calendar, WeChat Pay support.
- Local SEO targeting the corporate cluster — keywords matching corporate/long-stay pain points: “hotel near Phuket Hospital”, “monthly stay Phuket”, “near Central Floresta”, “near Phuket government complex”.
- Full Schema markup — Hotel + LocalBusiness + Review + FAQPage to unlock rich snippets.
Before technical work began, we ran a 2-hour discovery workshop with the GM and reservation team to map the real customer journey — and found a touchpoint every previous agency had ignored: corporate bookers check whether the business centre has a printer/scanner in the room before deciding.
4. Week-by-week
Weeks 1-2: Discovery and audit Full Lighthouse, GSC and GA4 review — found 47 pages with duplicate titles and 23 with broken canonicals. Keyword research across 150 terms split into 4 clusters (corporate, long-stay, Chinese tourist, leisure). Competitor mapping across 8 mid-sized hotels in the province.
Weeks 3-4: Design system and build foundation Built the Figma design system around a hierarchy corporate guests can scan — the “distance from landmark” section sits above-the-fold on every room page. Began the Astro rebuild integrating Cloudbeds API via Cloudflare Workers; tested the booking flow in staging.
Weeks 5-7: Content hub Wrote 15 cornerstone articles in 3 languages (45 total versions). Examples: “Phuket city vs beach — which to stay in for business”, “Long-stay guide for Chinese businesspeople in Phuket”, “Where to eat near Central Floresta”. CN articles used a native translator (no AI) because this market is sensitive to tone.
Weeks 8-9: Schema + GBP + citations Deployed Schema Hotel + LocalBusiness + Review + FAQPage. Full Google Business Profile optimisation — 80 photos uploaded, every Q&A answered, weekly Posts. Built 35 local citations in relevant directories (including a WeChat mini-program directory).
Week 10: Launch and soft transition 301 redirect map for every legacy URL, 3-day soft launch before hard cutover, real-user metric monitoring for 72 hours. The 4-month retainer began immediately.
5. Real-world obstacles
Cloudbeds API rate limit during Chinese New Year — during CNY, availability queries surged and hit the API rate limit within 30 minutes. Fixed by adding a caching layer on Cloudflare KV — inventory responses cached for 60 seconds on date ranges more than 7 days out (high-demand range stayed real-time).
Owner wanted to keep the old WordPress blog — 200+ legacy articles the owner was attached to and didn’t want to migrate. Solved by spinning up blog.example.com as a subdomain on WordPress, with the main site example.com on Astro, cross-linking the two systems and setting canonicals correctly to prevent SEO leakage.
Translation quality issue — initially used a professional translator agency, but the CN output was too formal-mainland for the mid-tier tourist audience. Hired a native CN copywriter based in Phuket as well (extra THB 18,000 cost) to rewrite the tone toward something more approachable — the best ROI investment of the project.
6. Post-launch and ongoing
At month 4 post-launch:
- Direct bookings up +230% vs the pre-engagement baseline.
- Organic traffic from the Chinese market +480% — top-5 ranking for the “普吉酒店” cluster and related long-tails.
- Direct bookings from Chinese customers = 35% of total direct bookings.
Lessons learned to pass on: Mid-sized Phuket hotels need Chinese content far more than people assume — most agencies do only TH/EN and say “we’ll add CN later”. But the data from this project shows the CN market is the #1 growth driver for direct bookings in this province. If we were starting again, we would build the CN content from Week 1, not bolt it on later.