ทำ SEO เว็บสองภาษาไทย-อังกฤษบน Next.js ให้ถูกต้อง
hreflang, canonical และ sitemap ที่ทำผิดกันบ่อย พร้อมวิธีตรวจว่าทำถูกแล้วจริง
เว็บสองภาษาที่ทำ SEO ผิดจะเจอปัญหาเดียวกันเสมอ คือ Google เลือกแสดงหน้าภาษาที่ผู้ใช้ไม่ต้องการ หรือแย่กว่านั้นคือมองว่าสองหน้าเป็นเนื้อหาซ้ำกันแล้วเลือกจัดอันดับให้แค่หน้าเดียว
จุดเริ่มต้นคือโครงสร้าง URL ที่ชัดเจน การใช้ path prefix อย่าง /th และ /en ตรงไปตรงมากว่าการใช้ subdomain หรือ query string และทำให้ทุกหน้ามีที่อยู่เดียวต่อหนึ่งภาษา
ต่อมาคือ hreflang ซึ่งต้องประกาศครบทุกภาษารวมถึงตัวมันเอง และต้องมี x-default สำหรับผู้ใช้ที่ภาษาไม่ตรงกับที่เรามี ข้อผิดพลาดที่พบบ่อยที่สุดคือ hreflang ชี้ไปยัง URL ที่ redirect หรือคืน 404 ซึ่ง Google จะเพิกเฉยทั้งชุด
เรื่อง canonical ต้องระวังว่าแต่ละหน้าชี้กลับมาที่ตัวเอง ไม่ใช่ชี้ไปหาหน้าภาษาหลัก การทำแบบหลังจะบอก Google ว่าหน้าภาษาอังกฤษไม่ควรถูก index
สำหรับ sitemap นั้น Next.js รองรับการประกาศ alternates.languages ในไฟล์ sitemap.ts โดยตรง ผลลัพธ์จะออกมาเป็น xhtml:link ให้อัตโนมัติ ไม่ต้องพึ่งไลบรารีภายนอก
วิธีตรวจที่ได้ผลจริงคือดู HTML ที่เซิร์ฟเวอร์ส่งออกมาจริง ๆ ไม่ใช่ดูใน DevTools หลัง JavaScript ทำงาน เพราะ crawler บางตัวอ่านเฉพาะ HTML ชุดแรกเท่านั้น
