ย้าย WordPress ไปโฮสติ้งใหม่

ไม่ว่าจะเป็นการย้ายโฮสติ้งเพราะต้องการประสิทธิภาพที่ดีขึ้น ราคาถูกกว่า หรือ Support ที่ดีกว่า — การ Migrate WordPress ถ้าทำไม่ถูกต้องอาจทำให้เว็บล่มได้หลายชั่วโมง และที่น่ากลัวกว่าคืออาจกระทบ SEO อันดับ Google ด้วย

บทความนี้จะพาคุณทำ WordPress Migration แบบ Zero-Downtime ครอบคลุมทุกวิธี ตั้งแต่ Plugin ฟรีจนถึง Manual ที่ให้ควบคุมได้เต็มที่ พร้อม Checklist ก่อนและหลัง Migrate

สำคัญ: ก่อน Migrate ทุกครั้ง ต้อง Backup ข้อมูลทั้งหมดก่อนเสมอ AsiaGB Backup เซิร์ฟเวอร์ทุกวันที่ 1 และ 15 ของเดือน แต่ควรมี Backup ของตัวเองก่อน Migrate ด้วย

1. ทำไมต้อง Migrate WordPress?

สาเหตุหลักที่เว็บไซต์ต้องย้ายโฮสติ้งมีหลายประการ ได้แก่:

2. Checklist เตรียมตัวก่อน Migrate

การเตรียมพร้อมก่อน Migrate คือขั้นตอนที่สำคัญที่สุด ถ้าข้ามขั้นตอนนี้ไปอาจเกิดปัญหาแก้ยากภายหลัง

#รายการสถานะ
1Backup ไฟล์ทั้งหมดบนโฮสติ้งเก่าบังคับ
2Export 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

  1. ติดตั้ง Plugin Duplicator จาก WordPress.org ที่โฮสติ้งเก่า
  2. ไปที่ Duplicator → Packages → Create New
  3. กำหนดชื่อ Package และคลิก Next รอระบบ Scan
  4. ถ้าผ่าน Scan ทั้งหมด (สีเขียว) คลิก Build — รอ Package สร้างเสร็จ
  5. Download ไฟล์ 2 ไฟล์: installer.php และ *_archive.zip
  6. Upload ทั้ง 2 ไฟล์นี้ขึ้นโฮสติ้งใหม่ผ่าน File Manager หรือ FTP
  7. สร้าง Database ใหม่บนโฮสติ้งใหม่ (DirectAdmin: Databases → MySQL Management)
  8. เข้าหน้า http://yourdomain.com/installer.php แล้วทำตามขั้นตอน
  9. กรอก DB Credential ใหม่ คลิก Test Database ถ้า OK คลิก Next
  10. รอระบบ Restore เสร็จ แล้วคลิก Admin Login

เคล็ดลับ: Duplicator ฟรีรองรับไฟล์สูงสุด 500MB ถ้าเว็บใหญ่กว่านั้น ต้องใช้ Duplicator Pro หรือเปลี่ยนมาใช้วิธี Manual แทน

4. วิธีที่ 2 — All-in-One WP Migration

All-in-One WP Migration เป็น Plugin ที่ใช้งานง่ายมาก เหมาะสำหรับมือใหม่ที่ไม่ต้องการยุ่งกับ Database หรือ FTP เลย

วิธีการ Export

  1. ติดตั้ง All-in-One WP Migration ที่โฮสติ้งเก่า
  2. ไปที่ All-in-One WP Migration → Export → Export To → File
  3. รอไฟล์ .wpress สร้างเสร็จ แล้ว Download มาเก็บไว้

วิธีการ Import

  1. ติดตั้ง WordPress ใหม่บนโฮสติ้งใหม่ (ผ่าน Softaculous ใน DirectAdmin)
  2. ติดตั้ง All-in-One WP Migration บน WordPress ใหม่
  3. ไปที่ All-in-One WP Migration → Import → Upload
  4. Upload ไฟล์ .wpress ที่ Download ไว้ (อาจต้องเพิ่ม Upload Limit ก่อน)
  5. รอ Import เสร็จ ระบบจะ Redirect ให้ Login ใหม่

ข้อจำกัด: All-in-One WP Migration ฟรีรองรับ Import สูงสุด 512MB หากไฟล์ใหญ่กว่านั้น ต้องซื้อ Extension เพิ่ม หรือเปลี่ยนวิธี

10. เปรียบเทียบ 3 วิธี Migration — ข้อดีข้อเสีย

เพื่อให้ตัดสินใจเลือกวิธีได้ง่ายขึ้น ตารางด้านล่างเปรียบเทียบทั้ง 3 วิธีตามมิติสำคัญ

มิติ Duplicator All-in-One Manual FTP
ความยากง่ายง่ายมากปานกลาง
ขนาดเว็บสูงสุด (ฟรี)500 MB512 MBไม่จำกัด
ต้องการทักษะ FTPเล็กน้อยไม่จำเป็นจำเป็น
ควบคุมได้เต็มที่ปานกลางน้อยเต็มที่
ค่าใช้จ่ายฟรี / Proฟรี / Extensionฟรี
เหมาะกับเว็บไซต์ทั่วไปมือใหม่เว็บใหญ่ / มือโปร

11. การรักษา SEO ระหว่างและหลัง Migration

การย้าย WordPress ถ้าทำไม่ถูกต้องอาจทำให้อันดับ Google ร่วงลงชั่วคราวหรือถาวรได้ ขั้นตอนต่อไปนี้ช่วยลดความเสี่ยงด้าน SEO ให้น้อยที่สุด

ก่อน Migration

ระหว่าง Migration

หลัง Migration

12. SSL Certificate บนโฮสติ้งใหม่

หนึ่งในสิ่งที่ลืมทำบ่อยที่สุดหลัง Migration คือการตั้งค่า SSL บนโฮสติ้งใหม่ ถ้าไม่มี SSL เว็บจะแสดง "Not Secure" และ Google จะลดอันดับ ด้วย

SSL ใน DirectAdmin (AsiaGB)

  1. ล็อกอินเข้า DirectAdmin → ไปที่ Advanced Features → SSL Certificates
  2. เลือก Free & automatic certificate from Let's Encrypt
  3. ติ๊ก checkbox สำหรับโดเมน www และ non-www ทั้งคู่
  4. คลิก 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 ทั่วไป755Owner รัน ผู้อื่นอ่าน
wp-content/uploads/755ต้องเขียนได้สำหรับ Upload
ไฟล์ PHP/HTML ทั่วไป644ห้ามให้ Execute แก่ทุกคน
wp-config.php600 หรือ 640ป้องกันผู้อื่นอ่าน Password
.htaccess644WordPress แก้ไขได้เอง

ใน DirectAdmin สามารถแก้ Permission ผ่าน File Manager → คลิกขวาที่ไฟล์/โฟลเดอร์ → Change Permissions หรือใช้ FTP Client เช่น FileZilla แล้ว Right-click → File permissions

5. วิธีที่ 3 — Manual (Export DB + FTP)

วิธี Manual เหมาะสำหรับผู้ที่ต้องการควบคุมทุกขั้นตอน หรือมีเว็บขนาดใหญ่ที่ Plugin ทำไม่ได้

ขั้นตอน Export ไฟล์

  1. ล็อกอิน cPanel หรือ DirectAdmin ของโฮสติ้งเก่า
  2. ไปที่ File Manager เปิดโฟลเดอร์ public_html
  3. เลือกไฟล์ทั้งหมด → Compress เป็น ZIP
  4. Download ZIP มาเก็บไว้ใน Local

ขั้นตอน Export Database

  1. เปิด phpMyAdmin ที่โฮสติ้งเก่า
  2. เลือก Database ของ WordPress → คลิก Export
  3. เลือก Format: SQL, กด Export → Download ไฟล์ .sql

ขั้นตอน Import บนโฮสติ้งใหม่

  1. สร้าง Database ใหม่บน DirectAdmin → Databases → MySQL Management
  2. Upload ไฟล์ทั้งหมดผ่าน FTP หรือ File Manager ไปที่ public_html
  3. เปิด 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 ชั่วโมง) ให้ทดสอบรายการต่อไปนี้:

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 →