SEO สำหรับการย้ายเว็บไซต์: การทำ 301 mapping และการรักษาทราฟฟิกเมื่อย้ายโดเมน แพลตฟอร์ม หรือโครงสร้าง
1. การย้าย 3 ประเภทและระดับความเสี่ยง
การย้ายเว็บไซต์ไม่ได้ทำร้าย SEO เท่ากันหมด เริ่มจากดูว่าคุณอยู่ประเภทไหน แล้วค่อยตัดสินใจว่าจะลงทุนแค่ไหน
| ประเภทการย้าย | การเปลี่ยน URL | รอบส่งต่อน้ำหนัก | ระดับความเสี่ยง | การดำเนินการหลัก |
|---|---|---|---|---|
| เปลี่ยนโดเมน (example.com → new.com) | เปลี่ยนทั้งหมด | 2 ถึง 6 สัปดาห์ | สูง | Change of Address + 301 ทั้งหมด |
| เปลี่ยนแพลตฟอร์ม (Shopify → พัฒนาเอง / WordPress → Next.js) | เปลี่ยนเป็นส่วนใหญ่ | 2 ถึง 4 สัปดาห์ | ปานกลางถึงสูง | map ทีละรายการ + ส่ง sitemap ใหม่ |
| เปลี่ยนโครงสร้างไดเรกทอรี (/blog/ → /insight/) | เปลี่ยนบางส่วน | 1 ถึง 2 สัปดาห์ | ปานกลาง | 301 แบบ regex เป็นชุด |
| เปลี่ยนเป็น HTTPS หรือเพิ่ม www | เปลี่ยนโปรโตคอล/ซับโดเมน | ภายใน 1 สัปดาห์ | ต่ำ | 301 ทั้งเว็บไปยังโปรโตคอลใหม่ |
| เปลี่ยนแค่ดีไซน์ ไม่เปลี่ยน URL | ไม่เปลี่ยน | ไม่มี | ต่ำ | ไม่ต้อง 301 เน้นประสิทธิภาพและเนื้อหา |
จุดที่สวนทางสัญชาตญาณ: การย้ายที่ดูเหมือน “เล็ก” อย่างเปลี่ยนเป็น HTTPS หรือเพิ่ม www ถ้าเขียน 301 ผิดจนมีทั้งเวอร์ชัน https และ http อยู่คู่กัน ต้นทุนจากการแยกน้ำหนักในระยะยาวสูงกว่าการรีแบรนด์เนื้อหาหนึ่งครั้งมาก การตั้งค่า HTTPS และ HSTS เป็นเงื่อนไขทางเทคนิคของการย้ายประเภทนี้
2. วาดตาราง 301 mapping อย่างไร: ตั้งแต่ T-30 วันถึงวัน T
ตาราง mapping ไม่ใช่สิ่งที่มาเติมทีหลังหลังเปิดเว็บ แต่เป็น deliverable หลักที่ต้องเริ่มทำ 30 วันก่อนเปิด
| จังหวะเวลา | การดำเนินการ | แหล่งข้อมูล | เกณฑ์ผ่าน |
|---|---|---|---|
| T-30 วัน | ดึง URL ทั้งหมดของเว็บเก่า | XML sitemap + crawl ด้วย Screaming Frog | ครอบคลุม 100% ของ URL ที่ถูก index |
| T-28 วัน | ซ้อนทับข้อมูลคลิก 12 เดือนล่าสุดจาก GSC | รายงานประสิทธิภาพใน Search Console | URL ที่มีคลิกทำเครื่องหมายลำดับความสำคัญทั้งหมด |
| T-21 วัน | ซ้อนทับข้อมูลลิงก์ภายนอก | ลิงก์ใน Ahrefs / Google Search Console | URL ที่มีลิงก์ภายนอกห้ามปล่อย 404 ตามอำเภอใจ |
| T-14 วัน | map 1:1 ทีละรายการ | ทีมเนื้อหา + SEO ทำร่วมกัน | URL ที่มีคลิก 100% มีปลายทางใหม่ |
| T-7 วัน | รีวิวตาราง mapping ทางเทคนิค | ฝ่ายพัฒนา + ฝ่ายปฏิบัติการ | ไม่มี 301 วนลูป ไม่มีปลายทาง 404 |
| วัน T | เปิดใช้ 301 + แจ้งการเปลี่ยนแปลง | ตั้งค่าเซิร์ฟเวอร์ + GSC Change of Address | สุ่มตรวจ 50 รายการ ต้อง 301 ไปหน้าที่ถูกต้องทั้งหมด |
ตัวอย่างสถานการณ์: เว็บ B2B อุตสาหกรรมแห่งหนึ่งย้ายจากโดเมนเก่าไปโดเมนแบรนด์ใหม่ โดยเว็บเก่ามี 2,300 URL ทีมไม่ได้ทำ mapping ทีละรายการ แต่ทำ 301 แบบเหมารวมตามไดเรกทอรี: /products/ ทั้งหมดกระโดดไป /products/ ของเว็บใหม่, /blog/ ทั้งหมดกระโดดไป /insight/ หลังเปิดใช้งาน 4 สัปดาห์พบว่าทราฟฟิกบล็อกของเว็บใหม่มีเพียง 40% ของเว็บเก่า สาเหตุคือ URL บทความบล็อกเก่าแบ่งไดเรกทอรีตามหัวข้อ ส่วนเว็บใหม่แบ่งตามปีที่เผยแพร่ การ 301 ระดับไดเรกทอรีจึงชี้บทความทั้งหมดไปที่หน้าปี ส่งผลให้ความเกี่ยวข้องเชิงหัวข้อหายไป วิธีที่ถูกต้องคือทำ mapping ทีละรายการ 2,300 รายการใช้เวลา 2 คน-วันก็เสร็จ
หลักการ mapping คือ “หัวข้อ 1:1”: หน้าสินค้าเก่า → หน้าสินค้าใหม่; บทความบล็อกเก่า → บทความที่เกี่ยวข้องที่สุดบนเว็บใหม่; หน้าเก่าที่ไม่มีเนื้อหาใหม่รองรับ ให้ 301 ไปหน้าหมวดหมู่ ไม่ใช่หน้าแรก การ 301 ทุก URL เก่าไปหน้าแรกคือข้อผิดพลาดที่พบบ่อยที่สุด
สาม 6 สิ่งที่ต้องทำในวันเปิดใช้งาน
| การดำเนินการ | เครื่องมือ | ทำไมต้องทำในวันนั้น |
|---|---|---|
| สุ่มตรวจ 50 รายการ mapping 301 | Screaming Frog / Redirect Path | ถ้าตั้งค่าผิด แก้ได้ในวันนั้น ปล่อยไว้หนึ่งสัปดาห์ก็เสีย crawl budget ไปหนึ่งสัปดาห์ |
| 提交 Change of Address | Search Console | สัญญาณการย้ายจาก Google โดยตรง ช่วยให้ถูก crawl ใหม่เร็วขึ้น |
| ส่ง sitemap ใหม่ | Search Console | ให้ Google ค้นพบโครงสร้าง URL ใหม่ตั้งแต่แรก |
| ปิดการ crawl สถานะล็อกอินของเว็บเก่า | robots.txt / noindex เว็บเก่า | ป้องกันไม่ให้เว็บเก่าถูก crawl ต่อ |
| แจ้งแหล่งลิงก์ภายนอกสำคัญ | อีเมล / LinkedIn | ไดเรกทอรีและพาร์ตเนอร์อัปเดตลิงก์ไปโดเมนใหม่ |
| ติดตามคิวข้อผิดพลาดใน GSC | Search Console | 7 วันแรกดูวันละครั้ง ถ้า 404 พุ่งขึ้นให้จัดการทันที |
การเปลี่ยนโดเมนอย่าลืมยืนยัน Google Analytics, Search Console และบัญชีโฆษณาทั้งหมดไปยังโดเมนใหม่ ไม่งั้นข้อมูลจะเริ่มจาก 0การมอนิเตอร์และแจ้งเตือนเว็บไซต์ ตัวชี้วัดต้องตั้งค่าไว้ก่อนการย้าย เพื่อให้มี baseline ไว้เปรียบเทียบหลังการย้าย
สี่ วิธีตัดสินว่าสำเร็จหรือไม่ที่ T+60 วัน
| ตัวชี้วัด | ช่วงสุขภาพดี | สัญญาณเตือน | จัดการทันที |
|---|---|---|---|
| คลิกจากธรรมชาติ | T+60 ฟื้นกลับมาเกิน 90% ของเว็บเก่า | T+60 ยังต่ำกว่า 50% ของเว็บเก่า | ตรวจสอบ mapping 301 ทีละรายการอีกครั้ง |
| อัตราการครอบคลุมดัชนี | สัดส่วนหน้าที่ถูกจัดทำดัชนี ≥ 90% | “crawled – currently not indexed” จำนวนมาก | ตรวจสอบคุณภาพเนื้อหาและ crawl budget |
| ห่วงโซ่ 301 | 0 รายการ | มี redirect ตั้งแต่ 2 ฮอปขึ้นไป | รวมให้เป็น 301 ตรง |
| จำนวน 404 | หลัง T+30 ทรงตัวในระดับต่ำ | เพิ่มขึ้นต่อเนื่อง | 导出 GSC 404 报告补 301 |
| Core Web Vitals | หลังการย้ายไม่ลดลง | LCP แย่ลงเกิน 0.5 วินาที | ทดสอบประสิทธิภาพแพลตฟอร์มใหม่ย้อนหลัง |
ตัวอย่างสถานการณ์ที่สอง: เว็บ B2B แห่งหนึ่งย้ายจาก WordPress ไป Next.js หลัง T+30 วัน ทราฟฟิกธรรมชาติลดลง 35% ทีมคิดจะ rollback ตรวจรายงาน coverage ใน GSC พบว่าหน้าที่ถูกจัดทำดัชนีลดจาก 1,800 ของเว็บเก่าเหลือ 600 สาเหตุคือ sitemap ของเว็บใหม่ส่งเฉพาะหน้าสินค้า บทความบล็อกหายไปทั้งหมด หลังส่ง sitemap เพิ่ม สองสัปดาห์ต่อมาจำนวนดัชนีกลับมาเป็น 1,700 และทราฟฟิกฟื้นเป็น 92% ของเว็บเก่า กรณีนี้แสดงว่า: ทราฟฟิกลดหลังการย้ายให้ดูที่ดัชนีก่อน อย่ารีบ rollback
ห้า ข้อผิดพลาดที่พบบ่อยและเส้นแดง
| วิธีที่พบบ่อย | ผลที่ตามมา | วิธีที่ถูกต้อง |
|---|---|---|
| 301 ทุก URL เก่าไปหน้าแรกใหม่ | เสี่ยง soft 404 และหน้าแรกถูกเจือจางความเกี่ยวข้อง | ธีมแมปแบบ 1:1 เฉพาะหน้าที่ไม่มีคู่กันจึงไปหน้าหมวดหมู่ |
| หลังย้ายเว็บ 301 ของเว็บเก่าเก็บไว้ 3 เดือนแล้วปิด | น้ำหนักจากลิงก์ภายนอกหายไป | 301 ของเว็บเก่าต้องเก็บไว้อย่างน้อย 12 เดือน |
| เปลี่ยนโดเมนแล้วลืมแก้ canonical | เนื้อหาโดเมนใหม่กับโดเมนเก่าซ้ำกัน | canonical ของหน้าใหม่ชี้ไปที่โดเมนใหม่เอง |
| เปลี่ยนแพลตฟอร์มแล้วลืมย้าย structured data | ผลลัพธ์ rich media หายทั้งหมด | ย้าย Schema ไปพร้อมเทมเพลตและตรวจสอบ regression |
| วันย้ายเว็บแก้ robots.txt ห้าม crawler เก็บข้อมูล | Google หยุด crawl ทั้งหมด | เปิด robots ไว้ตามเดิม แค่ลบการบล็อกสถานะล็อกอินของเว็บเก่า |
ระหว่างย้ายเว็บ Schema ต้องตรวจ regression ไปด้วย structured data Schema ถ้าเทมเพลตไม่ได้สืบทอดไปยังแพลตฟอร์มใหม่ ผลลัพธ์ rich media จะหายไปภายใน 4 ถึง 8 สัปดาห์หลังย้ายเว็บ เว็บหลายภาษาต้องตรวจ Hreflang การรองรับหลายภาษา ว่าย้ายไปพร้อมโครงสร้าง URL หรือไม่ด้วย
หก วิธีเก็บ baseline ข้อมูลก่อนและหลังย้ายเว็บ
ถ้าไม่มี baseline ก่อนย้ายเว็บ หลังย้ายก็บอกไม่ได้ว่าที่ตกคือความผันผวนปกติหรืออุบัติเหตุ ต้องแช่แข็งข้อมูลสำคัญของเว็บเก่าเป็น snapshot ตั้งแต่ T-30 วัน แล้วเทียบทุกสัปดาห์หลังย้าย
| ตัวชี้วัด baseline | เวลาที่แช่แข็ง | ความถี่ในการเทียบ | เกณฑ์แจ้งเตือนความผิดปกติ |
|---|---|---|---|
| คลิกและอิมเพรสชันธรรมชาติใน GSC | ค่าเฉลี่ย 12 สัปดาห์ ณ T-30 วัน | ทุกวันจันทร์ | แจ้งเตือนเมื่อเทียบสัปดาห์ก่อนตกเกิน 20% |
| จำนวนหน้าที่ถูก index | T-30 วัน | ทุกสัปดาห์ | แจ้งเตือนเมื่อตกเกิน 15% จาก baseline |
| อันดับคีย์เวิร์ดหลัก | 100 คำ ณ T-30 วัน | ทุกสองสัปดาห์ | แจ้งเตือนเมื่อ 10 คำแรกหลุดจาก 20 อันดับแรก |
| จำนวนลิงก์ภายนอกและ anchor text | ส่งออกจาก Ahrefs ณ T-30 วัน | ทุกเดือน | แจ้งเตือนเมื่อลิงก์ภายนอกหายเกิน 10% |
| Core Web Vitals | ค่าเฉลี่ย CrUX ณ T-30 วัน | ทุกสองสัปดาห์ | แจ้งเตือนเมื่อ LCP แย่ลงเกิน 0.5 วินาที |
ตาราง baseline นี้ต้องสร้างให้เสร็จก่อนวัน T หลังย้ายเว็บสัปดาห์แรกดูวันละครั้ง ตั้งแต่สัปดาห์ที่สองดูสัปดาห์ละครั้ง หลายทีมกว่าจะรู้ว่าทราฟฟิกตกก็สองสัปดาห์หลังย้าย พอกลับไปตรวจถึงพบว่าไม่ได้เก็บ baseline ไว้เลย ตัดสินใจได้แค่ตามความรู้สึก พอเก็บ baseline ไว้ การตรวจรับที่ T+60 จึงมีข้อมูลรองรับ ไม่ใช่เดาสุ่มว่า “ดูเหมือนจะกลับมาแล้ว”
ขอเตือนอีกเรื่อง ระหว่างย้ายเว็บอย่าทำ redesign เปลี่ยนเทมเพลต หรือเพิ่มฟีเจอร์ใหม่พร้อมกัน แก้ทีละตัวแปรเท่านั้น มีปัญหาเมื่อไหร่จะได้รู้ว่าต้นเหตุมาจาก 301 หรือเทมเพลตใหม่ แยกงานแก้เนื้อหา ปรับประสิทธิภาพ และปรับ Schema ไปทำหลังย้ายเว็บ 30 วันเป็นรอบ ๆ จะตามหาสาเหตุง่ายขึ้นมาก
ระหว่างย้ายเว็บต้องจับตา server log ด้วย ตั้งแต่วัน T ถึง T+14 วัน ดูปริมาณ request ที่เป็น 404 และ 5xx วันละครั้ง ถ้า 404 ของ URL ประเภทใดประเภทหนึ่งพุ่งขึ้น ส่วนใหญ่คือตารางแมปตกหล่นไปชุดหนึ่ง ถ้า 5xx พุ่งขึ้น ส่วนใหญ่คือการตั้งค่าเซิร์ฟเวอร์ของเว็บใหม่มีปัญหา ไม่เกี่ยวกับ SEO แต่ก็อันตรายพอ ๆ กัน เอาล็อกแจ้งเตือนกับรายงาน GSC ไว้บนแดชบอร์ดเดียวกัน ให้ทีมวิศวกรรมและทีม SEO ใช้มุมมองชุดเดียวกัน อย่าต่างคนต่างดู
หลังการย้ายเสร็จ อย่าปิดเซิร์ฟเวอร์เว็บไซต์เก่าทันที ควรเก็บ 301 ของเว็บเก่าไว้อย่างน้อยสิบสองเดือน ในระหว่างนั้นให้ล็อกอินเข้า GSC ของโดเมนเก่าดูทราฟฟิกออร์แกนิกเดือนละครั้ง รอจนทราฟฟิกเป็นศูนย์ติดต่อกันสองเดือน แล้วค่อยยืนยันกับทีมปฏิบัติการว่าปิดเว็บเก่าได้ หากปิดเว็บเก่าก่อนกำหนด น้ำหนักของลิงก์ภายนอกจะขาดสะบั้นในทันที ความพยายามสามเดือนก่อนหน้าอาจสูญเปล่า
FAQ คำถามที่พบบ่อย
เปลี่ยนโดเมนต้องใช้ Change of Address ไหม?
หลังย้ายแล้วทราฟฟิกตกเท่าไรถือว่าปกติ?
ต้องเก็บ 301 ของเว็บเก่านานแค่ไหน?
ทำไมการทำ 301 แบบเหมารวมตามโฟลเดอร์จึงไม่พอ?
ตอนย้ายต้องส่ง sitemap ใหม่ไหม?
หลังย้ายแล้วผลลัพธ์แบบ rich result หายไปทำอย่างไร?
ทิ้งท้าย
การย้ายเว็บไซต์เป็นหนึ่งในไม่กี่ปฏิบัติการของ SEO ที่ย้อนกลับไม่ได้ หากตั้งค่า 301 ผิดพลาด น้ำหนักที่หายไปต้องใช้เวลา 3 ถึง 6 เดือนกว่าจะสะสมกลับมาได้ มองมันเป็นการปล่อยงานวิศวกรรม ไม่ใช่การส่งมอบงานดีไซน์
ลงมือ 3 ขั้นตอน: T-30 วัน ส่งออก URL ทั้งหมดจากเว็บเดิม แล้วนำไปรวมกับข้อมูล GSC และลิงก์ภายนอก; T-14 วัน ทำตารางแมปแบบ 1:1 ให้เสร็จและผ่านการรีวิวทางเทคนิค; T+60 วัน ตรวจรับเทียบกับตัวชี้วัด 5 ข้อ ข้อไหนไม่ผ่านก็แก้ทีละข้อ
ประโยคเดียวที่จำได้ขึ้นใจ: ผลแพ้ชนะของการย้ายเว็บตัดสินกันตั้งแต่ 30 วันก่อนเปิดตัว — ตารางแมป 301 คือสิ่งที่ต้องส่งมอบหลัก ส่วนวันเปิดตัวเป็นแค่การทำตามตาราง
