1. ปัญหาที่ลูกค้าเจอ
ลูกค้าเป็น PADI 5-Star IDC Dive Center ที่มีออฟฟิศหลักในจังหวัดชุมพร (สำหรับ pickup + briefing ก่อนข้ามฟาก) และ dive center ปลายทางในเขตจังหวัดสุราษฎร์ธานี ให้บริการตั้งแต่ Discover Scuba Diving 1 วัน, Open Water Diver 3-4 วัน ไปจนถึง Divemaster Internship 2 เดือน รับนักเรียนเฉลี่ยหลายสิบถึงร้อยคน/เดือน high season (พ.ย.-มี.ค.)
ปลายทาง dive ในเขตจังหวัดสุราษฎร์ธานีเป็นตลาด PADI certification ที่ใหญ่ที่สุดในโลก — มี dive school จำนวนมากแข่งกันรับนักเรียนปีละกว่า 40,000 คน ลูกค้ารายนี้แม้จะได้ PADI 5-Star IDC (ระดับสูงสุดที่ฝึก instructor ได้) แต่กลับสู้คู่แข่งระดับ Big 4 ที่ครอง organic search ทั้งหมดไม่ได้ จึงจำใจพึ่ง platform กลางอย่าง Divezone, ScubaEarth, PADI Travel ที่หัก commission 12-18% ต่อคอร์ส
ปัญหาในตลาด dive คือ “decision cycle” ยาวมาก — นักเรียนทั่วไป research 4-8 สัปดาห์ก่อนจอง อ่านรีวิว 15-20 แห่ง เปรียบเทียบราคา อ่าน blog เรื่อง “Best Dive School in Southern Thailand” “Open Water Course Cost Comparison” “What to Expect on Your First Dive” การไม่มี content ตอบโจทย์ช่วงนี้แปลว่าเสียโอกาสสร้าง brand awareness ตั้งแต่ top-of-funnel
เว็บเดิม WordPress + Divi page builder โหลด 5.8s บน mobile (นักท่องเที่ยว 75% browse จาก mobile), multilingual ใช้แค่ Google Translate widget ที่แปลเพี้ยน (เช่น “Open Water Diver” แปลเป็น “นักดำน้ำเปิดน้ำ”) ทำให้ทั้ง SEO และ user experience เสีย เมื่อนักเรียนชาวเยอรมัน/สวีเดน/อเมริกัน landing บนหน้าก็ bounce ทันที
อีกประเด็นคือทีม instructor + admin ตอบคำถาม Facebook + Instagram DM 80+/วัน คำถามซ้ำ “What’s included in Open Water course?”, “Total cost with accommodation?”, “Schedule for next month?”, “Do I need to swim?”, “Age requirement?” admin บอกว่าใช้เวลา 4-5 ชั่วโมง/วันแค่ตอบคำถามซ้ำๆ
2. ทำไม Solution เดิมไม่ได้ผล
ลูกค้าจ้าง freelancer SEO ภาษาไทยมาก่อน เดือนละ 18,000 บาท 8 เดือน ผลคือไม่มี keyword English ติดเลย — เพราะตลาด dive ทางใต้ลูกค้า 85% เป็นต่างชาติ ไม่ใช่ตลาดไทย freelancer คนนั้นไม่เข้าใจ persona และเขียนแต่ content Thai ที่ไม่มี search demand (keyword Thai search volume ต่ำกว่า keyword EN หลายเท่า)
ลอง PADI Travel partner program จ่ายค่าสมาชิก $200/เดือน + commission 15% ต่อ booking แต่ traffic ที่ได้คือคนที่ “ตัดสินใจแล้วว่าจะมาเรียน” — ไม่ใช่ awareness phase แปลว่าสู้ราคาอย่างเดียว ทำให้กำไรต่อหัวต่ำ
ลอง Google Ads keyword PADI brand CPC 35-55 บาท conversion rate 0.9% เพราะ landing page WordPress โหลดช้า bounce rate 72% CAC ออกมาที่ 2,100 บาท/inquiry — และ inquiry-to-booking rate แค่ 22% แปลว่า CAC จริงต่อ booking ~9,500 บาท ขณะที่ Open Water course ราคา 12,000 บาท margin ติดลบ
WordPress + Divi เป็น stack ที่ผิดสำหรับ multilingual SEO — เพราะ Divi page builder generate DOM bloat ทำให้ Core Web Vitals แย่ และ multilingual plugin อย่าง WPML/Polylang สร้าง URL structure ที่ Google สับสน หลายหน้า canonical ชี้ผิดทำให้ duplicate content issue
3. แนวทางของ Southern Whale (4 Pillars)
Pillar 1: True Multilingual Architecture — เลือก Astro static site กับ astro-i18n library, แต่ละภาษามี URL structure ของตัวเอง: /en/courses/open-water/, /de/kurse/open-water/, /sv/kurser/open-water/, /th/หลักสูตร/open-water/ พร้อม hreflang tags + Schema InLanguage Thai เป็น default แล้ว expand ไป English, German, Swedish ตามตลาดหลักของลูกค้า (จากข้อมูล past booking ลูกค้า English 45%, German 18%, Swedish 12%, Thai 10%, อื่นๆ 15%)
Pillar 2: Content Hub “Learn to Dive in Southern Thailand” — สร้าง 25 บทความเริ่มต้นแบ่ง 3 cluster (1) Awareness: “Is Southern Thailand Right for You?”, “Gulf vs Andaman for Diving”, “Best Time to Dive Southern Thailand” (2) Consideration: “How to Choose a Dive School”, “PADI vs SSI vs RAID Certification”, “What’s Included in Open Water Course” (3) Decision: “Pre-Arrival Checklist”, “What to Pack for Diving Trip”, “Day-by-Day Course Schedule”
Pillar 3: Course Landing Pages + Booking — 6 course pages (Discover Scuba, Open Water, Advanced Open Water, Rescue, Divemaster, IDC) แต่ละหน้ามี real-time schedule + booking calendar (Cal.com API integrate กับ Google Calendar ภายใน) + Stripe Checkout multi-currency (USD, EUR, GBP, SEK, THB) + Schema Course markup ให้ติด Google Course Rich Result
Pillar 4: Email automation + GBP — Mailgun-driven sequence (1) immediate booking confirmation (2) 7-day pre-arrival pre-course material + medical form + packing list (3) 1-day pre-arrival meeting point + WhatsApp group invite (4) post-course PADI certification card delivery + review request ลด admin workload ตอบ pre-trip questions ลง 50%
Tech rationale: Astro vs Next.js — เลือก Astro เพราะ 95% ของ traffic เป็น read-only content + course info ที่ไม่เปลี่ยนบ่อย Astro ส่ง zero JS โดย default LCP <1.2s ส่วน booking flow ใช้ Astro island hydrate React component เฉพาะ booking widget Cal.com + Stripe widget ใน specific section host บน Cloudflare Pages
4. กระบวนการทำงาน (Week-by-Week)
Week 1-2: Discovery + Multilingual Strategy Stakeholder interview เจ้าของ + head instructor + admin lead, persona mapping 5 personas (first-time backpacker, experienced diver upgrading, instructor candidate, vacation diver, dive enthusiast), keyword research 4 languages (Thai 60 keywords, English 180 keywords, German 70 keywords, Swedish 45 keywords), competitor analysis content depth ของคู่แข่งระดับ top-tier
Week 3-4: Design + Wireframe Mood board design (สีน้ำเงิน-เทอร์ควอยซ์เน้นความเป็น dive brand), wireframe 6 course pages + 25 content articles + booking flow, photography brief สำหรับรูป underwater ของลูกค้า (เคยมี 200+ รูปแต่ไม่จัดระเบียบ)
Week 5-6: Astro Build + Content Astro project setup กับ astro-i18n, build 6 course landing + 25 article (Thai translation 8 บทความ, English original 13 บทความ, German 5 บทความ, Swedish 4 บทความ), photo optimization ผ่าน R2
Week 7: Booking + Payment Integrate Cal.com API + Stripe multi-currency + Mailgun email sequence (course confirmation + pre-arrival 7-day series), Schema markup Course + LocalBusiness + Review aggregateRating
Week 8: SEO Foundation + Migration Sitemap + robots.txt + hreflang validation, 301 redirect 38 URLs จาก WordPress เก่า, GBP optimization (categories: Scuba Diving Instructor + Tourist Information Center), citations submission ไป 25 dive directory + travel platform
Week 9: UAT + Launch UAT กับ team 5 sessions, fix 14 bugs (3 high - Stripe webhook, hreflang error, mobile booking widget; 11 medium), soft launch 40% traffic 3 วัน, full launch + monitoring
หลัง launch 6-month retainer ทำ content monthly 5 บทความ rotation (Thai 1 + English 2 + German 1 + Swedish 1), backlink outreach ไป dive blog ต่างประเทศ 10-15/เดือน, GBP post รายสัปดาห์
5. Obstacles + Pivots
Obstacle 1: ขาด writer ภาษา German/Swedish ที่เข้าใจ scuba — เริ่มต้นใช้ AI translation พบว่า terminology dive ผิดบ่อย (“buoyancy” แปลเป็น “ลอยตัว” ใน Thai แต่ German แปลเป็น “Schwimmkraft” ซึ่งไม่ใช่คำที่ diver ใช้) แก้โดยจ้าง native speaker ที่เป็น diver (German ผ่าน upwork PADI Divemaster ที่สวิตเซอร์แลนด์, Swedish ผ่าน Facebook group dive expat) review + rewrite ทุกบทความก่อน publish คอสต์เพิ่ม 25,000 บาทแต่ quality ต่างกันมาก
Obstacle 2: PADI brand guideline compliance — PADI มี brand guideline เข้มงวดเรื่องการใช้โลโก้ + การพูดถึง certification level + ห้ามใช้คำว่า “Best PADI Dive School” — review content ทุกบทกับ PADI Regional Manager ก่อน publish ใช้เวลาเพิ่ม 1 สัปดาห์ในการ approval
Obstacle 3: Stripe SEK currency settlement ใช้เวลานาน 8 วัน — Swedish diver จองด้วย SEK แต่ Stripe settle เป็น THB ช้า แก้โดยเปิด Stripe Atlas EU entity สำหรับ EUR/SEK settlement ใน Europe + convert มาไทยรายเดือน lower FX cost 1.8%
Obstacle 4: Google Course Rich Result เข้มงวด — submit Schema Course markup แล้วไม่ติด Rich Result 3 สัปดาห์ — เช็คใน Search Console พบ Google ต้องการ provider verification + course duration + course mode (in-person/online) เพิ่ม structured data 6 properties สัปดาห์ที่ 4 ติด Rich Result keyword “open water course southern thailand” ได้ snippet position
6. Post-launch + Ongoing
ผลภายใน 6 เดือน:
- Organic traffic 380 → 9,500/เดือน (+2,400%) แบ่งเป็น EN 5,800, TH 1,400, DE 1,500, SE 800
- Direct course booking +320% platform dependency ลดจาก 70% เหลือ 38%
- German market booking +680%, Swedish +420% (ก่อนหน้านี้แทบ 0%)
- DM/inquiry response 4 ชั่วโมง → 18 นาที (FAQ + pre-arrival email reduce inbound 50%)
- ติด Google Course Rich Result 4 keyword
- LCP 5.8s → 1.1s
- Inquiry-to-booking conversion rate 22% → 41% (เพราะ content educate ก่อน contact)
Lessons learned: ตลาด dive certification ต้องการ “depth of content” ไม่ใช่ keyword stuffing — Google ranking content ที่ตอบครบทุก sub-question ของ search intent ดีกว่า content สั้นที่ optimize keyword หนัก บทความ “Open Water Course Cost Breakdown” 2,800 คำของเราติดอันดับ 2 (สูงกว่าคู่แข่งระดับ top-tier ที่ content 800 คำ) เพราะตอบครบตั้งแต่ราคาคอร์ส + accommodation + equipment rental + tax + tips + extra dive package
อีกบทเรียนคือ multilingual ที่ทำจริงไม่ใช่ Google Translate — German diver bounce rate จาก 78% (Google Translate widget) เหลือ 32% (native translation by Diver-writer) ความแตกต่างคือ trust signal
Ongoing engagement: ปัจจุบัน retainer client เดือนที่ 9 — เพิ่ม content sub-cluster “Tech Diving Southern Thailand” + “Freediving Course” สัปดาห์หน้าเริ่ม discuss phase 2 - mobile app สำหรับ student progress tracking + dive log + certification card digital ดู case studies อื่น ที่ใช้ playbook คล้ายกัน