Skip to main content

กำลังโหลด...

Southern Whale
รับ SEO Audit ฟรี
SEO 9 นาทีอ่าน

เว็บหลายภาษาแต่ SEO ตีกันเอง: ปัญหา Hreflang และวิธีแก้

กรณีศึกษา: เว็บไซต์ 4 ภาษาในภูเก็ตแต่ SEO ตีกันเอง การปรับแต่ง Hreflang เพิ่มอันดับนานาชาติ 160%

การแก้ปัญหา Hreflang สำหรับเว็บไซต์หลายภาษาในภูเก็ต

ธุรกิจในภูเก็ต — โรงแรม รีสอร์ต ทัวร์ อสังหา คลินิก spa — ที่มี customer base ข้ามชาติ มักลงทุนทำเว็บหลายภาษาแล้วเจอปัญหาเดียวกัน: เพิ่มภาษาใหม่แล้ว ranking ของภาษาเดิมตก หรือบางทีหน้าจีนกับหน้ารัสเซียแย่งกันแสดงผลให้ user ผิดภาษา บทความนี้คือมุมมองของทีมเราเมื่อธุรกิจมาบอก “เราทำ 4 ภาษาแล้วทำไม SEO กลับแย่ลง” — เราจะ diagnose อย่างไรและแก้ตรงไหน

ปัญหาที่ธุรกิจ Multilingual Web พบจริง

จากการ audit เว็บ multilingual ในภูเก็ตหลายสิบราย เราเห็นปัญหาทาง technical SEO ที่ซ้ำเดิม 5 เรื่อง

ไม่มี hreflang annotation เลย หรือมีแต่ผิด format — เว็บมี /en/, /zh/, /ru/ แต่ Google ไม่รู้ว่าหน้าแต่ละภาษาเป็น alternate version ของกัน → มอง 4 หน้าเหมือนกัน เป็น duplicate content → ranking ตกทุกภาษา

URL structure ใช้ query parameter (?lang=zh) — แทนที่จะเป็น subdirectory (/zh/) Google มอง ?lang= เป็น parameter ที่ไม่สำคัญ บางครั้ง index หน้าเดียวสำหรับทุกภาษา — ผลคือ search ภาษาจีนได้หน้าภาษาไทย

ใช้ Google Translate widget หรือ machine translation — content ภาษาที่ render ผ่าน JavaScript runtime Google index หน้าเดียว (default language) เท่านั้น ภาษาอื่นเหมือนไม่มี existence

Canonical tag ผิด — ทุกภาษาชี้ canonical กลับไปที่ URL default (เช่น /en/) → Google เข้าใจว่าหน้าอื่นไม่ใช่ canonical version ของ content นั้น = ไม่ index ภาษาอื่นเลย

Sitemap ไม่มี hreflang alternates — แม้หน้าจะมี hreflang ใน HTML แต่ถ้า sitemap.xml ไม่ระบุ language alternate Google ทำ discovery ช้ามาก โดยเฉพาะกับเว็บ 100+ หน้า

ทำไม solution ทั่วไปไม่ได้ผล

WordPress plugin อย่าง WPML, Polylang, Weglot ทำ multilingual ได้แต่ default configuration มักผิด — WPML ตั้ง URL เป็น query string (?lang=) เป็นค่า default, Weglot ใช้ subdomain (en.example.com) ที่ต้อง build authority แยก, Polylang ต้องตั้ง hreflang manual ทุกหน้า ส่วน plugin ที่เป็น machine translation auto-translate ไม่ผ่าน Google native quality bar — ranking ต่ำกว่า native-written content 3–5 เท่า

ส่วน “ทำเว็บแยกต่อภาษา” (3–4 WordPress site แยกกัน) แก้ duplicate content ได้แต่ split SEO authority เป็น 3–4 ส่วน + maintenance cost × 3–4

ถ้าคุณมาใช้บริการเรา จะวิเคราะห์ + แก้ยังไง

เราเริ่มจาก Multilingual SEO Audit 7 วัน — Screaming Frog crawl 5,000+ URL, ตรวจ hreflang implementation (HTML + sitemap + HTTP header), Google Search Console international targeting report, duplicate content detection ข้ามภาษา, language-specific ranking ใน 4–5 ภาษา, canonical chain analysis จากนั้นวางแผน 4 เสา

เสาที่ 1: URL Structure ที่ถูกต้อง ใช้ subdirectory structure (/en/, /zh/, /ru/, /ar/) แทน subdomain หรือ ccTLD — รวม domain authority ใน root, ง่ายต่อ implementation, Google รับรู้ language hint จาก URL path สำหรับ Astro หรือ Next.js — ใช้ i18n routing built-in (Astro: astro:i18n, Next.js: next-intl) ที่ generate static path per language ถ้า migrate จาก WordPress ?lang= → /xx/ ต้อง 301 redirect ครบทุก URL ในแผน migration

เสาที่ 2: Hreflang Annotation ที่สมบูรณ์ ทุกหน้า render <link rel="alternate" hreflang="xx-YY" href="..." /> ครบทุก language version รวม self-reference + x-default ใช้ ISO 639-1 language code + (optional) ISO 3166-1 country code (เช่น en-US, zh-CN, ru-RU) ใส่ใน <head> HTML + เพิ่มใน sitemap.xml ด้วย <xhtml:link> annotation (Google ใช้ทั้งคู่)

เสาที่ 3: Canonical Strategy ที่ถูกต้อง แต่ละ language version มี canonical ชี้ไปตัวเอง (self-referential) — ไม่ใช่ชี้ไป default URL หน้า /en/about → canonical = /en/about (ไม่ใช่ /about) นี่ตรงข้ามกับสิ่งที่หลายเว็บทำผิด

เสาที่ 4: Content Localization (ไม่ใช่แค่ Translation) Native translator (ไม่ใช่ machine) แปลทุกหน้า + local cultural adaptation — เช่นหน้า “Wedding Package” สำหรับ market CN ต้องเข้าใจว่า engagement photo สำคัญกว่าใน workflow แต่งงานจีน, market RU เน้น orthodox ceremony option, market AR ต้องระบุ halal-friendly catering ใส่ schema inLanguage + availableLanguage + knowsLanguage (สำหรับ business) + Service.areaServed ตามภาษา

Tech Stack: เราแนะนำ Astro สำหรับ multilingual เพราะ static generation + i18n routing built-in ทำให้แต่ละ language version เป็น static HTML file Google index ได้ทันที + LCP ≤ 1.5s ทุกภาษา deploy บน Cloudflare Pages ที่มี global edge ทำให้ user ใน RU/CN/AR/EU โหลดเร็ว 80–150ms latency ไม่ใช่ 300–500ms

กระบวนการทำงาน (week-by-week)

สัปดาห์ 1: Full Multilingual Audit Screaming Frog crawl, hreflang validator (Merkle, Sitebulb), GSC international report, ranking baseline ทุกภาษา × 30+ keyword

สัปดาห์ 2: URL + Hreflang Strategy URL taxonomy plan, 301 redirect map (ถ้า migrate), hreflang matrix document, canonical strategy

สัปดาห์ 3–4: Implementation URL refactor → subdirectory, hreflang annotation HTML + sitemap, canonical fix, language switcher UX (ไม่ใช่ auto-redirect by browser language — Google ranking signal เสีย)

สัปดาห์ 5: Content Localization Native translator handoff ทุก critical page, local keyword research ต่อภาษา, cultural adaptation, language-specific schema

สัปดาห์ 6: GSC + Sitemap Submission Submit per-language sitemap, set international targeting (ถ้าใช้ subdirectory + ccTLD geo-targeting), validate hreflang report ใน GSC

สัปดาห์ 7–8: Monitor + Iterate Track indexing per language, ranking trend, fix hreflang error ที่ GSC report, manual review per-country SERP

ระยะยาว: Content publishing schedule ที่ครอบคลุมทุกภาษา (ไม่ใช่ EN-only แล้วแปลทีหลัง), monthly hreflang validation, quarterly competitor benchmark per market

Pitfalls ที่ต้องระวัง

อย่าใช้ auto-redirect by browser language — Google bot ถูก redirect ไปภาษาเดียวเสมอ ทำให้ index ภาษาอื่นไม่ได้ ใช้ language switcher manual แทน ระวัง hreflang return tag — ทุก language version ต้อง reference กลับมาที่ตัวเอง ถ้า A → B แต่ B ไม่ → A Google ignore ทั้งคู่ อย่าใช้ hreflang="th-TH" กับ hreflang="th" ผสมกันในเว็บเดียว — เลือกแบบใดแบบหนึ่ง consistency ระวัง mixed content language ในหน้าเดียว — เช่นหน้า /zh/ มี navigation จีนแต่ blog content อังกฤษ Google สับสน อย่าใช้ Google Translate widget — content render ผ่าน JS, Google bot ไม่ index ต้องเป็น server-rendered HTML จริง ระวัง duplicate hreflang ใน HTTP header + HTML + Sitemap — ใส่ที่เดียวพอ ถ้าใส่หลายที่และไม่ตรง Google ใช้ priority HTTP > HTML > Sitemap ทำให้ debug ยาก

Expected Outcomes + ขั้นตอนต่อไป

จากการแก้ multilingual SEO ในเว็บภูเก็ต ผลที่ realistic ภายใน 8–12 สัปดาห์: international organic traffic เพิ่ม 100–250%, ranking ภาษา CN/RU/AR ที่ก่อนหน้าไม่ติดเลย เข้า top 10–20 สำหรับ keyword หลัก, bounce rate ลด 25–40% (เพราะ user เจอภาษาถูก), conversion rate ดีขึ้น 30–80% (จาก traffic ที่ qualified กว่า) เพราะการ load native language ทำให้ user trust เพิ่ม

หากเว็บหลายภาษาของคุณกำลังเจอปัญหานี้ เริ่มที่ SEO Audit สำหรับ multilingual technical audit หรือดู Web Development สำหรับ rebuild ที่มี i18n architecture ถูกต้องตั้งแต่ต้น

คีย์เวิร์ดที่เกี่ยวข้อง

hreflang, multilingual SEO, ภูเก็ต, international SEO, duplicate content