ParitLAB
← Lab Notes

คู่มือการใช้งาน · 2026-09-15

เบื้องหลังเว็บสองภาษา: ทำอย่างไรให้คนอ่านและ Google ไม่หลงหน้า

เผยแพร่โดย ParitLAB
บันทึกจากการออกแบบ พัฒนา และทดสอบผลิตภัณฑ์ของเรา

เว็บไซต์สองภาษา, การค้นหา, ประสบการณ์ผู้ใช้

เว็บไซต์สองภาษามีเนื้อหาคล้ายกันโดยตั้งใจ แต่หาก URL และ metadata ไม่สอดคล้องกัน เครื่องมือค้นหาอาจไม่รู้ว่าหน้าใดเป็นภาษาไทย หน้าใดเป็นภาษาอังกฤษ หรือ URL ใดควรเป็นฉบับหลัก ปัญหานี้ชัดขึ้นในเว็บไซต์ PHP ที่ใช้ query string เช่น ?page=notes&lang=th แทนเส้นทางแบบโฟลเดอร์

ParitLAB ใช้ controller เดียวรับชื่อหน้าและภาษา เราจึงรวมการสร้าง URL ไว้ในฟังก์ชันกลาง แล้วให้ title, canonical, language switch, sitemap และข้อมูล structured data อ้างอิงกติกาเดียวกัน วิธีนี้ลดกรณีที่เมนูพาไป URL หนึ่ง แต่ canonical ประกาศอีก URL หนึ่ง

กำหนด URL หลักให้ชัดเจน

หน้าสาธารณะทุกหน้ามี canonical แบบ absolute บน HTTPS และใช้โดเมนเดียวโดยไม่มี www พารามิเตอร์ที่เปลี่ยนเนื้อหาจริง เช่น slug ของซอฟต์แวร์หรือบทความ จะอยู่ใน canonical ส่วนพารามิเตอร์ค้นหา หมวดหมู่ และสถานะภายในไม่ควรสร้างหน้าหลักใหม่โดยไม่จำเป็น

คำขอที่เข้าทาง HTTP, www หรือ /index.php จะถูกพาไป URL รูปแบบเดียวกันก่อน การรวมรูปแบบนี้ช่วยให้ลิงก์ภายใน สถิติ และสัญญาณการจัดอันดับไม่กระจายไปหลายที่

เชื่อมหน้าคู่ภาษาด้วย hreflang

แต่ละหน้าสาธารณะประกาศ alternate สำหรับ th, en และ x-default ทั้งสองภาษาต้องชี้กลับหากัน และเมื่ออยู่ในหน้ารายละเอียด พารามิเตอร์บทความหรือผลิตภัณฑ์ต้องติดไปกับลิงก์เปลี่ยนภาษา มิฉะนั้นผู้ใช้กด EN จากบทความหนึ่งแล้วถูกส่งกลับไปหน้ารวม ซึ่งเป็นประสบการณ์ที่ไม่ต่อเนื่องและทำให้ความสัมพันธ์ระหว่างหน้าคลาดเคลื่อน

Sitemap ต้องสะท้อนข้อมูลที่เผยแพร่จริง

sitemap ของเราไม่ได้เป็นรายการ URL ที่เขียนค้างไว้ แต่สร้างจากหน้าหลัก โปรเจกต์ที่เผยแพร่ และบทความที่มีสถานะเผยแพร่ ทุก URL มีคู่ภาษาและลิงก์ alternate ฉบับร่าง หน้าบัญชี หน้าแอดมิน และหน้าที่ต้องล็อกอินไม่ถูกใส่ในรายการ

จุดที่ต้องระวังคือ robots.txt และ sitemap ต้องใช้ URL เดียวกันจริง สำหรับเว็บไซต์ที่ sitemap อยู่ที่ query URL สามารถระบุ URL นั้นโดยตรงได้ ไม่จำเป็นต้องมีไฟล์ /sitemap.xml ตราบใดที่ตอบเป็น XML ที่เข้าถึงได้และประกาศ Content-Type ถูกต้อง

แยกหน้าสาธารณะกับหน้าระบบ

หน้าเนื้อหา เช่น Home, Software, Store, Lab Notes, About, Terms และ Privacy ใช้ index,follow ส่วน Login, Forgot password, Client Portal และ Admin ใช้ noindex,nofollow และถูกกันไว้ใน robots.txt ด้วย หน้า filter ของ Lab Notes ก็ไม่ควรถูกสร้างเป็นผลค้นหาหลายร้อยแบบ จึงใช้ noindex เมื่อมีคำค้น หมวดหมู่ หรือแท็ก

Structured data ควรตรงกับสิ่งที่เห็น

บทความใช้ BlogPosting พร้อม headline, description, ภาษา, วันที่เผยแพร่ ผู้เขียน และผู้เผยแพร่ ข้อมูลเหล่านี้มาจากบทความเดียวกับที่แสดงบนหน้า ไม่เพิ่มคะแนนรีวิวหรือข้อมูลที่ผู้ใช้มองไม่เห็น หลักการง่าย ๆ คือ structured data มีไว้ช่วยอธิบายเนื้อหา ไม่ใช่สร้างข้ออ้างใหม่เกี่ยวกับเนื้อหา

รายการตรวจสอบก่อนเผยแพร่

การทำ SEO ทางเทคนิคไม่ได้ทดแทนเนื้อหาที่มีประโยชน์ แต่ช่วยให้เนื้อหาที่เราลงมือเขียนถูกค้นพบและจัดกลุ่มได้ถูกต้อง หากกติกา URL รวมอยู่จุดเดียว การเพิ่มหน้าหรือบทความใหม่จะปลอดภัยกว่าการจำแก้ tag แยกทุกตำแหน่ง