The challenge
The heritage district in Songkhla province sits on the UNESCO World Heritage Tentative List (since 2019, alongside Phuket and Satun), with Sino-European + Sino-Portuguese houses from the Rama V era that people still live in, a craft community making silverware + mooncakes + batik passed down through generations, and a food culture fusing Thai-Chinese-Malay-Portuguese that is uniquely Thai. The client is a non-profit founded by district operators + local authorities + the provincial chamber of commerce to promote sustainable heritage tourism.
The current member network covers a wide range of operators: heritage homestays (1-8 rooms each), cafes + restaurants, craft workshops (silver, batik, mooncakes, weaving), heritage tour guides (TH/EN/MY/CN speaking), cultural event organisers. All are small operators without marketing budget or digital capability. Average revenue per member THB 35,000-180,000/month.
In discovery the board shared the pain: tourists searching “Songkhla Old Town” or Songkhla heritage on Google find only Wikipedia (outdated information) + 8-10 year-old travel blog articles (stale content + stale photos + stale business listings) + a few Lonely Planet pieces recommending the place but with no booking link. There’s no active destination marketing website aggregating all members + showing real-time availability + booking integration. Visitors who decide to come have to search per-property and contact one-by-one, turning trip planning into 6-10 hours of work — most give up and go to Penang or Melaka instead (where heritage tourism is more developed).
Worse, the target markets for Songkhla heritage are Malaysia (driving from Bukit Kayu Hitam border) + Singapore (1.5h flight to Songkhla) + China (direct flights from Kunming + Guangzhou) + Indonesia (ferry from Medan). All want high-quality multilingual content, but currently no website serves this market. The TAT + municipal sites have only TH + EN and the content isn’t aligned with the heritage tourism segment.
Why the previous solutions failed
The board had tried 3 paths, all of which failed. First: asking TAT (Tourism Authority of Thailand) to build a central site twice in 2022-2023 — TAT set up a landing page within tat.or.th but the design was generic + not heritage-specific + content was static + no updates + no booking integration + no proper multilingual (EN + CN existed but via Google Translate). ROI 0, traffic of 80-120 sessions/month.
Second: ran a Facebook page + Instagram account for Songkhla heritage for 12 months. The chamber’s marketing intern posted 3-4 times per week. Followers grew to 18,000 with strong early engagement but no attribution back to a booking funnel — no link in bio to an aggregator booking + members received no direct leads from social effort.
Third: listed on Klook + Tripadvisor Experiences for heritage tours for 8 months. Tour bookings did grow by 12-18/month — but commission ran 22-30% + tour-guide members mostly lacked the digital capability to manage the platform — so most members weren’t active + Klook listings didn’t cover homestays + craft workshops + restaurants, which are the majority of members.
The common gap across TAT + social + Klook: none was a destination marketing aggregator specific to heritage tourism needing multilingual + specialised Schema + aggregator booking + member onboarding + content authority.
Southern Whale’s approach
After 6 hours of discovery with the board (8 members) + a 2-day onsite walking tour with a heritage guide + interviews with multiple members, we set four pillars.
Pillar 1 — Technical foundation specialised for destination marketing. Astro + Cloudflare APAC edge + Sanity headless CMS. The reasoning: a destination marketing site has heavy content (200+ pages) + multilingual where static site generation performs best. Astro generates static HTML + caches at Cloudflare edge 300+ cities for <50ms latency in every target market. Sanity CMS lets the board admin + content team update member listings + events + content themselves (non-technical user friendly) + multi-author workflow + version control. R2 stores 800+ heritage images + audio guide MP3 + walking route GPX files. Cloudflare Workers handle booking integration proxying.
Pillar 2 — Multilingual SEO 4 languages TH/EN/MY/CN. Clear target markets: TH for Thai tourists from Bangkok + Chiang Mai + Phuket + Krabi; EN for Western tourists flying via Bangkok; MY for Malaysian tourists driving across the border; CN for Chinese tourists flying direct. Full hreflang setup per locale + Search Console verification per language. Native translators are heritage enthusiasts (essential — heritage terminology + cultural reference is sensitive); MY translator based in Penang (a nearby heritage city); CN translator in Hong Kong + Singapore who understands Sino-heritage context.
Pillar 3 — Heritage pillar content hub. Built 6 pillar clusters, every article multilingual: 1) Architecture guide (Sino-European, Sino-Portuguese, shophouse, public-access heritage buildings); 2) Food culture (Hokkien noodles Songkhla style, Khao Yam Tai, Som Tam Pla Ra Songkhla, Hokkien desserts, Halal Thai-Malay fusion); 3) Festival + event (Songkhla Hae Lor, Vegetarian Festival, Sino-Portuguese Heritage Day, Loy Krathong); 4) Walking route + itinerary (1-day, 2-day, 3-day heritage walking tour + map + audio guide); 5) Craft workshop (Mark Mark Wong silverwork, Saen Suk batik, Tae Ngow mooncakes, weaving); 6) Day trips from Songkhla (food tours, Songkhla Lake, local sites, beach, museum). See our SEO services.
Pillar 4 — Aggregator booking + multi-currency + member onboarding. Built an aggregator booking platform unifying the member network in a single interface: homestay booking (real-time availability + multi-night + room category), heritage tour booking (scheduled group tour + custom private), craft workshop booking (slot-based + group size limit), restaurant reservation (LINE OA + WhatsApp redirect to member direct). Multi-currency in 6 currencies (THB/MYR/SGD/USD/EUR/CNY) via Stripe + Omise + PromptPay + WeChat Pay. Member dashboard letting members update availability + price + photos themselves. Multiple rounds of member onboarding workshops.
How we worked (week-by-week)
Week 1-2: Discovery + onsite walking tour + member interviews. Board meeting 6 hours; 2-day walking tour with heritage guides covering multiple heritage buildings; interviews with multiple members on business model + customer base + tech capability + content available; audit existing online presence (Facebook, IG, TAT page, individual member websites if any); competitor benchmark across 8 heritage destinations (Penang George Town, Melaka, Hoi An Vietnam, Yogyakarta, Phuket Old Town, Ayutthaya, Sukhothai); keyword research 280+ keywords across 10 clusters split by 4 languages.
Week 3-6: Build + migration + CMS. Built Astro site, dozens of main pages + member detail pages + heritage building pages + article pages. Set up Sanity Studio + multi-author workflow + role-based access. Implemented aggregator booking + Stripe + Omise + multi-currency. Set up Cloudflare Pages + R2 + Workers. Reshot 400+ heritage images (architecture detail, food, craft, festival, people), hiring a local heritage photographer for 6 days. Recorded audio guides for multiple buildings (TH + EN + MY + CN native voice over) + walking route GPX files.
Week 7-9: Content hub + multilingual. Wrote 40 starter articles TH primary + native rewrite EN/MY/CN with separate translators per language (160 total versions). Implemented full Schema markup TouristAttraction + LodgingBusiness + Event + Place + Article + FAQPage + LocalBusiness + Person (guide + craftsperson).
Week 10: Member onboarding workshops + training. Multiple workshop rounds teaching Sanity profile updates, photo upload, availability calendar, response to booking inquiry, LINE OA setup, payment receipt. Built SOP + runbook + 18 video tutorials (Thai + EN + MY + CN).
Week 11: GBP + launch + citations. Set up Google Business Profile for the destination + member listings (linking GBP to Google Maps + site). Submitted local citations to 35+ tourism directories + heritage organisations (UNESCO, ICOMOS Thailand, TAT, AmCham, MATTA). 3-day soft launch + hard launch + 72-hour monitoring.
Week 12: Performance monitoring + optimisation. Set up GA4 + Search Console + member dashboard reporting + booking analytics. Built 12-week content calendar. Backlink outreach to travel blogs + heritage publications (Lonely Planet, Time Out, CNN Travel, Heritage Asia).
Ongoing, months 2-6: 8 articles/month × 4 languages (32 versions/month). Weekly GBP posts. Festival + event calendar monthly updates. Quarterly member workshops (digital marketing skill, photography, customer service). Monthly performance dashboard report to board + members.
Obstacles and pivots
Obstacle 1: Slow member adoption, especially craft workshop owners. Week 6 post-onboarding, most craft members hadn’t logged into the Sanity dashboard to update availability. Most are 55-72 years old, 2nd-3rd generation craftspeople who never used computers. Pivot: created a “buddy system” pairing the chamber’s marketing intern + 4 heritage management students as digital assistants who helped craft members update content + reply to booking inquiries via WhatsApp/LINE (member sends message → assistant types it into the system). Adoption rate hit 100% after 6 weeks.
Obstacle 2: Google Maps API cost spike. In month 3 post-launch, traffic grew and Google Maps API cost shot up to THB 38,000/month — 800% over budget allocation. Pivot: migrated from Google Maps Embed API to Mapbox + custom map style matching heritage aesthetic + walking route + audio guide markers. Cost dropped to THB 4,200/month + UX improved (Mapbox interaction is smoother + offline support).
Obstacle 3: MY traffic spike but low month-2 booking conversion. MY organic traffic +400% but MY bookings only 8/month (vs estimate 25). Analysis: MY visitors were reading content 12-18 minutes (high intent) but dropping at the booking page because there was no Touch n Go eWallet or DuitNow QR option that MY customers use as primary. Pivot: integrated Touch n Go + DuitNow QR via Boost API (regional payment aggregator) + added MYR pricing + cross-border banking option. MY bookings grew 4.2x in 6 weeks.
Post-launch and ongoing
5 months post-launch: organic visitors +540% (80 → 510 bookings/month); MY market traffic +820% (42 → 386 sessions); total organic traffic +1,640% (320 → 5,580 sessions/month); member average revenue +62% (active members on the site +95%, passive members +28%); booking aggregator processed 510 bookings/month for THB 4.2M/month revenue through the site.
Lessons learned for destination marketing + heritage tourism: 1) Multilingual MY is critical for heritage destinations in Southern Thailand — the MY market is severely underserved + revenue per visitor is high. 2) Member onboarding needs a buddy system for craft + elderly members who don’t use digital tools. 3) Regional payment (Touch n Go MY, DuitNow MY, WeChat Pay CN, GrabPay SG) is essential for ASEAN tourism conversion. 4) Full Schema TouristAttraction + LodgingBusiness + Event + Place + Person produces Google rich snippets that boost visibility 3-4x. 5) Audio guide MP3 + walking route GPX files are growth signals most heritage destinations skip, letting us outrank competitors with equal content but no multimedia.
The client is in month 7 of retainer, has signed Year 2 extension, and the board is discussing Phase 2 to extend the same playbook to a heritage destination in another province + onboard additional members in the Songkhla heritage district. See other tourism case studies or our web development services.