ไม่ว่าจะเป็นการย้ายโฮสติ้งเพราะต้องการประสิทธิภาพที่ดีขึ้น ราคาถูกกว่า หรือ Support ที่ดีกว่า — การ Migrate WordPress ถ้าทำไม่ถูกต้องอาจทำให้เว็บล่มได้หลายชั่วโมง และที่น่ากลัวกว่าคืออาจกระทบ SEO อันดับ Google ด้วย
บทความนี้จะพาคุณทำ WordPress Migration แบบ Zero-Downtime ครอบคลุมทุกวิธี ตั้งแต่ Plugin ฟรีจนถึง Manual ที่ให้ควบคุมได้เต็มที่ พร้อม Checklist ก่อนและหลัง Migrate
สำคัญ: ก่อน Migrate ทุกครั้ง ต้อง Backup ข้อมูลทั้งหมดก่อนเสมอ AsiaGB Backup เซิร์ฟเวอร์ทุกวันที่ 1 และ 15 ของเดือน แต่ควรมี Backup ของตัวเองก่อน Migrate ด้วย
1. ทำไมต้อง Migrate WordPress?
สาเหตุหลักที่เว็บไซต์ต้องย้ายโฮสติ้งมีหลายประการ ได้แก่:
- โฮสติ้งช้า — เวลาโหลดหน้าเว็บนานเกิน 3 วินาที ทำให้ผู้ใช้หนีและ Google ลดอันดับ
- ราคาแพงเกินไป — ต้องการเปลี่ยนไปใช้โฮสติ้งที่คุ้มค่ากว่า เช่น AsiaGB เริ่มต้น 500 บาท/ปี
- Support ไม่ดี — ติดต่อแก้ปัญหาได้ยาก รอนาน
- ขยายขนาด — เว็บโตขึ้น ต้องการ Resource มากขึ้น
- เปลี่ยน Control Panel — ย้ายมาใช้ DirectAdmin ที่ใช้งานง่ายกว่า
2. Checklist เตรียมตัวก่อน Migrate
การเตรียมพร้อมก่อน Migrate คือขั้นตอนที่สำคัญที่สุด ถ้าข้ามขั้นตอนนี้ไปอาจเกิดปัญหาแก้ยากภายหลัง
| # | รายการ | สถานะ |
|---|---|---|
| 1 | Backup ไฟล์ทั้งหมดบนโฮสติ้งเก่า | บังคับ |
| 2 | Export Database (MySQL) ล่าสุด | บังคับ |
| 3 | จดบันทึก Credential ทั้งหมด (DB name, user, password) | บังคับ |
| 4 | ตรวจสอบ PHP Version ของโฮสติ้งใหม่ (ต้องรองรับ WordPress) | บังคับ |
| 5 | ตรวจสอบ Storage ที่เพียงพอบนโฮสติ้งใหม่ | แนะนำ |
| 6 | ลด TTL ของ DNS เหลือ 300 วินาที ล่วงหน้า 24-48 ชั่วโมง | แนะนำ |
| 7 | จดบันทึก Nameserver เก่าไว้กรณีต้องย้ายกลับ | แนะนำ |
| 8 | ตรวจสอบ Plugin และ Theme ว่าเป็น Version ล่าสุดทั้งหมด | แนะนำ |
3. วิธีที่ 1 — ด้วย Plugin Duplicator
Duplicator เป็น Plugin ที่นิยมที่สุดสำหรับการ Migrate WordPress มีผู้ใช้งานกว่า 1.5 ล้านเว็บ วิธีนี้เหมาะสำหรับผู้เริ่มต้นเพราะทำงานได้ค่อนข้างอัตโนมัติ
ขั้นตอนการใช้ Duplicator
- ติดตั้ง Plugin Duplicator จาก WordPress.org ที่โฮสติ้งเก่า
- ไปที่ Duplicator → Packages → Create New
- กำหนดชื่อ Package และคลิก Next รอระบบ Scan
- ถ้าผ่าน Scan ทั้งหมด (สีเขียว) คลิก Build — รอ Package สร้างเสร็จ
- Download ไฟล์ 2 ไฟล์:
installer.phpและ*_archive.zip - Upload ทั้ง 2 ไฟล์นี้ขึ้นโฮสติ้งใหม่ผ่าน File Manager หรือ FTP
- สร้าง Database ใหม่บนโฮสติ้งใหม่ (DirectAdmin: Databases → MySQL Management)
- เข้าหน้า
http://yourdomain.com/installer.phpแล้วทำตามขั้นตอน - กรอก DB Credential ใหม่ คลิก Test Database ถ้า OK คลิก Next
- รอระบบ Restore เสร็จ แล้วคลิก Admin Login
เคล็ดลับ: Duplicator ฟรีรองรับไฟล์สูงสุด 500MB ถ้าเว็บใหญ่กว่านั้น ต้องใช้ Duplicator Pro หรือเปลี่ยนมาใช้วิธี Manual แทน
4. วิธีที่ 2 — All-in-One WP Migration
All-in-One WP Migration เป็น Plugin ที่ใช้งานง่ายมาก เหมาะสำหรับมือใหม่ที่ไม่ต้องการยุ่งกับ Database หรือ FTP เลย
วิธีการ Export
- ติดตั้ง All-in-One WP Migration ที่โฮสติ้งเก่า
- ไปที่ All-in-One WP Migration → Export → Export To → File
- รอไฟล์
.wpressสร้างเสร็จ แล้ว Download มาเก็บไว้
วิธีการ Import
- ติดตั้ง WordPress ใหม่บนโฮสติ้งใหม่ (ผ่าน Softaculous ใน DirectAdmin)
- ติดตั้ง All-in-One WP Migration บน WordPress ใหม่
- ไปที่ All-in-One WP Migration → Import → Upload
- Upload ไฟล์
.wpressที่ Download ไว้ (อาจต้องเพิ่ม Upload Limit ก่อน) - รอ Import เสร็จ ระบบจะ Redirect ให้ Login ใหม่
ข้อจำกัด: All-in-One WP Migration ฟรีรองรับ Import สูงสุด 512MB หากไฟล์ใหญ่กว่านั้น ต้องซื้อ Extension เพิ่ม หรือเปลี่ยนวิธี
10. เปรียบเทียบ 3 วิธี Migration — ข้อดีข้อเสีย
เพื่อให้ตัดสินใจเลือกวิธีได้ง่ายขึ้น ตารางด้านล่างเปรียบเทียบทั้ง 3 วิธีตามมิติสำคัญ
| มิติ | Duplicator | All-in-One | Manual FTP |
|---|---|---|---|
| ความยาก | ง่าย | ง่ายมาก | ปานกลาง |
| ขนาดเว็บสูงสุด (ฟรี) | 500 MB | 512 MB | ไม่จำกัด |
| ต้องการทักษะ FTP | เล็กน้อย | ไม่จำเป็น | จำเป็น |
| ควบคุมได้เต็มที่ | ปานกลาง | น้อย | เต็มที่ |
| ค่าใช้จ่าย | ฟรี / Pro | ฟรี / Extension | ฟรี |
| เหมาะกับ | เว็บไซต์ทั่วไป | มือใหม่ | เว็บใหญ่ / มือโปร |
11. การรักษา SEO ระหว่างและหลัง Migration
การย้าย WordPress ถ้าทำไม่ถูกต้องอาจทำให้อันดับ Google ร่วงลงชั่วคราวหรือถาวรได้ ขั้นตอนต่อไปนี้ช่วยลดความเสี่ยงด้าน SEO ให้น้อยที่สุด
ก่อน Migration
- จดบันทึก URL สำคัญทุก URL ที่ติด Google Top 10 ไว้ก่อน เพื่อใช้เปรียบเทียบหลัง Migration
- ทำ Screaming Frog Crawl ของเว็บเดิมเพื่อเก็บ Redirect Chain ที่มีอยู่ทั้งหมด
- Export Google Search Console data — Queries, Pages, Impressions — เป็น CSV ไว้ก่อน
ระหว่าง Migration
- อย่าเปลี่ยน URL structure — ถ้าเว็บเดิมใช้ Permalink แบบ
/sample-post/ให้คงไว้เหมือนเดิม - ตรวจสอบว่า robots.txt บนโฮสติ้งใหม่ไม่ได้ block Googlebot ไว้ (เกิดได้ในช่วง Staging)
- ทดสอบ Canonical Tag ทุกหน้า — ต้องชี้ไปที่ Domain ถูกต้อง ไม่ใช่ IP Address
หลัง Migration
- Submit Sitemap ใหม่ใน Google Search Console ทันทีหลัง DNS Propagate
- ใช้ URL Inspection Tool ตรวจหน้าสำคัญ 5-10 หน้าแรกว่า Google Fetch ได้ปกติ
- ตรวจ Core Web Vitals ด้วย PageSpeed Insights บนโฮสติ้งใหม่ — LCP ควรต่ำกว่า 2.5 วินาที
- ติดตาม Google Search Console ทุกวันใน 2 สัปดาห์แรก มองหา Crawl Error หรืออันดับที่ผิดปกติ
12. SSL Certificate บนโฮสติ้งใหม่
หนึ่งในสิ่งที่ลืมทำบ่อยที่สุดหลัง Migration คือการตั้งค่า SSL บนโฮสติ้งใหม่ ถ้าไม่มี SSL เว็บจะแสดง "Not Secure" และ Google จะลดอันดับ ด้วย
SSL ใน DirectAdmin (AsiaGB)
- ล็อกอินเข้า DirectAdmin → ไปที่ Advanced Features → SSL Certificates
- เลือก Free & automatic certificate from Let's Encrypt
- ติ๊ก checkbox สำหรับโดเมน www และ non-www ทั้งคู่
- คลิก Save — ใบ Cert จะถูก Issue ภายใน 5-10 นาที
Force HTTPS ใน WordPress
หลังได้ SSL แล้ว ให้เปิด Force HTTPS เพื่อให้ทุก HTTP Request ถูก Redirect ไป HTTPS อัตโนมัติ ทำได้โดยเพิ่มโค้ดใน .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
หรือเพิ่มใน wp-config.php ก่อนบรรทัด "That's all, stop editing!"
define('FORCE_SSL_ADMIN', true);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS'] = 'on';
13. ตรวจสอบ Permission ไฟล์และโฟลเดอร์
Permission ที่ไม่ถูกต้องเป็นสาเหตุอันดับต้นๆ ที่ทำให้ WordPress ทำงานผิดปกติหลัง Migration โดยเฉพาะปัญหา Upload รูปภาพไม่ได้ หรือ Plugin ไม่ทำงาน
| ไฟล์/โฟลเดอร์ | Permission ที่ถูกต้อง | หมายเหตุ |
|---|---|---|
| โฟลเดอร์ WordPress ทั่วไป | 755 | Owner รัน ผู้อื่นอ่าน |
| wp-content/uploads/ | 755 | ต้องเขียนได้สำหรับ Upload |
| ไฟล์ PHP/HTML ทั่วไป | 644 | ห้ามให้ Execute แก่ทุกคน |
| wp-config.php | 600 หรือ 640 | ป้องกันผู้อื่นอ่าน Password |
| .htaccess | 644 | WordPress แก้ไขได้เอง |
ใน DirectAdmin สามารถแก้ Permission ผ่าน File Manager → คลิกขวาที่ไฟล์/โฟลเดอร์ → Change Permissions หรือใช้ FTP Client เช่น FileZilla แล้ว Right-click → File permissions
5. วิธีที่ 3 — Manual (Export DB + FTP)
วิธี Manual เหมาะสำหรับผู้ที่ต้องการควบคุมทุกขั้นตอน หรือมีเว็บขนาดใหญ่ที่ Plugin ทำไม่ได้
ขั้นตอน Export ไฟล์
- ล็อกอิน cPanel หรือ DirectAdmin ของโฮสติ้งเก่า
- ไปที่ File Manager เปิดโฟลเดอร์
public_html - เลือกไฟล์ทั้งหมด → Compress เป็น ZIP
- Download ZIP มาเก็บไว้ใน Local
ขั้นตอน Export Database
- เปิด phpMyAdmin ที่โฮสติ้งเก่า
- เลือก Database ของ WordPress → คลิก Export
- เลือก Format: SQL, กด Export → Download ไฟล์
.sql
ขั้นตอน Import บนโฮสติ้งใหม่
- สร้าง Database ใหม่บน DirectAdmin → Databases → MySQL Management
- Upload ไฟล์ทั้งหมดผ่าน FTP หรือ File Manager ไปที่
public_html - เปิด phpMyAdmin บนโฮสติ้งใหม่ → เลือก Database ใหม่ → Import ไฟล์
.sql
6. อัปเดต wp-config.php
หลังย้ายไฟล์และ Database แล้ว จำเป็นต้องแก้ไขไฟล์ wp-config.php ให้ตรงกับ Credential ของโฮสติ้งใหม่
// แก้ไขส่วนนี้ใน wp-config.php
define('DB_NAME', 'ชื่อ_database_ใหม่');
define('DB_USER', 'ชื่อ_user_ใหม่');
define('DB_PASSWORD', 'รหัสผ่าน_ใหม่');
define('DB_HOST', 'localhost'); // ส่วนใหญ่เป็น localhost
บน DirectAdmin สามารถแก้ไข wp-config.php ได้จาก File Manager → คลิกขวา → Edit
7. ตั้งค่า DNS และทดสอบด้วย hosts file
ก่อนเปลี่ยน DNS จริง แนะนำให้ทดสอบเว็บบนโฮสติ้งใหม่ก่อนด้วยการแก้ไข hosts file บนเครื่องตัวเอง เพื่อให้เห็นเว็บใหม่โดยที่ผู้เยี่ยมชมคนอื่นยังเห็นเว็บเก่าอยู่
# เพิ่มใน hosts file (Windows: C:\Windows\System32\drivers\etc\hosts)
# (Mac/Linux: /etc/hosts)
123.456.789.000 yourdomain.com www.yourdomain.com
# เปลี่ยน 123.456.789.000 เป็น IP ของโฮสติ้งใหม่
หลังทดสอบเสร็จแล้วว่าเว็บทำงานได้ปกติ ค่อยเปลี่ยน Nameserver จริงที่ Registrar ของโดเมน
8. ทดสอบหลัง Migrate
หลัง DNS Propagate แล้ว (อาจใช้เวลา 1-48 ชั่วโมง) ให้ทดสอบรายการต่อไปนี้:
- เปิดหน้าหลัก — โหลดได้ปกติ ไม่มี Error
- ทดสอบ Login เข้า WordPress Admin (
/wp-admin) - ตรวจสอบ SSL Certificate ยังทำงานอยู่ (กุญแจสีเขียวใน Browser)
- เปิดหน้าอื่นๆ — Post, Page, Archive — ทุกหน้าโหลดได้
- ทดสอบ Form ต่างๆ (Contact, WooCommerce Checkout)
- ตรวจสอบรูปภาพว่าแสดงผลครบถ้วน
- ใช้ Google Search Console ตรวจ Crawl Errors
- ทดสอบความเร็วด้วย PageSpeed Insights
9. ปัญหาที่พบบ่อยและวิธีแก้
หน้าขาวหรือ 500 Internal Server Error
สาเหตุส่วนใหญ่คือ PHP Error หรือ Plugin Conflict ให้เปิด WordPress Debug Mode เพื่อดู Error Log
รูปภาพไม่แสดง
ตรวจสอบว่า Upload ไฟล์ใน wp-content/uploads/ ครบหรือไม่ และตรวจสอบ Permission ของโฟลเดอร์ (ควรเป็น 755)
Redirect Loop
ตรวจ wp-config.php ว่ามีการ Force HTTPS ถูกต้อง และตรวจ .htaccess ว่า Redirect Rules ไม่ขัดกัน
Plugin ทำงานผิดปกติ
บาง Plugin เก็บ Absolute Path ไว้ใน Database ให้รัน Search & Replace ด้วย Plugin Better Search Replace เพื่อเปลี่ยน URL เก่าเป็น URL ใหม่
SEO Tip: หลัง Migrate เสร็จ ให้ Submit Sitemap ใหม่ใน Google Search Console และตรวจสอบ Index Status ภายใน 1 สัปดาห์ เพื่อให้แน่ใจว่า Google ยังเห็นเว็บของคุณครบ
Hosting WordPress ที่ Migrate ง่าย รองรับ DirectAdmin
AsiaGB Hosting ใช้ DirectAdmin พร้อม Softaculous สำหรับติดตั้ง WordPress ง่าย ราคาเริ่มต้น 500 บาท/ปี รองรับ PHP หลายเวอร์ชัน และ SSL ฟรี
ดูแพ็กเกจ Hosting →