ย้าย Hosting ทำอย่างไร Checklist ครบถ้วนไม่ให้เว็บล่ม
How to migrate web hosting safely: complete step-by-step guide, backup, DNS, and checklist to prevent downtime.
สารบัญ
ทำไมต้องย้าย Hosting
เหตุผลที่คนย้าย Hosting ได้แก่: Hosting เดิมช้า, ราคาแพงเกินไป, Support ไม่ดี, ต้องการ Feature ใหม่ที่ Hosting เดิมไม่มี, ต้องการ Server Location ต่างกัน, Hosting เดิมมี Uptime ต่ำบ่อย หรือ Contract หมดและได้ราคาดีกว่า
Common hosting migration reasons: slow performance, overpayment, poor support, needed features unavailable, different server location requirements, frequent downtime at current host, or contract expiration with better deal elsewhere.
- Hosting ช้า: เว็บโหลดช้า ผู้ใช้หนีออก
- ราคาแพง Renewal: ไปหาที่ถูกกว่า
- Support ไม่ดี: ไม่ตอบ ไม่แก้ปัญหา
- Feature ใหม่: ต้องการ PHP ใหม่ หรือ NVMe
- Uptime ต่ำ: ล่มบ่อยเกินไป SLA ไม่ผ่าน
Checklist ก่อนย้าย Hosting
ก่อนย้ายต้องทำ: 1. ลด TTL DNS เป็น 300 วินาที 2. Backup ไฟล์และ Database 3. สมัคร Hosting ใหม่ 4. Set Up Hosting ใหม่ 5. Upload ไฟล์และ Import Database 6. ทดสอบบน Staging 7. เปลี่ยน DNS 8. รอ Propagate 9. ตรวจสอบอีกครั้ง
Pre-migration checklist: 1. Reduce DNS TTL to 300 seconds 2. Backup files and database 3. Sign up for new hosting 4. Set up new hosting 5. Upload files and import database 6. Test on staging 7. Change DNS 8. Wait for propagation 9. Final verification.
- Step 1: ลด TTL DNS เป็น 300 วิ ล่วงหน้า 24-48 ชั่วโมง
- Step 2: Backup ทุกอย่าง
- Step 3-4: สมัครและตั้งค่า Hosting ใหม่
- Step 5: Upload File + Import DB
- Step 6-9: Test, DNS Change, Verify
Backup ไฟล์และ Database
Backup ครบถ้วนก่อน Migration เสมอ Download ไฟล์ทั้งหมดผ่าน FTP หรือ cPanel Backup Export Database ผ่าน phpMyAdmin หรือ mysqldump บันทึก Email ถ้าต้องการย้าย Email ด้วย และ Screenshot Settings สำคัญต่างๆ
Always complete backup before migration. Download all files via FTP or cPanel backup. Export database via phpMyAdmin or mysqldump. Back up email if migrating it too. Screenshot important settings.
- Download ไฟล์ผ่าน FTP: ทั้ง /public_html/
- Export DB: phpMyAdmin → Export → SQL
- Download Email: ถ้าย้าย Email ด้วย
- Screenshot: cPanel Settings, DNS Zone, SSL
- เก็บ Backup ไว้นอก Computer: Cloud/External Drive
เตรียม Hosting ใหม่
สมัคร Hosting ใหม่และตั้งค่าเบื้องต้น สร้าง Database และ User สำหรับ Application ถ้าใช้ WordPress ตั้งค่า Database Name, User, Password ให้ตรงกับ wp-config.php ตั้งค่า PHP Version ให้ตรงกับเดิม ขอ SSL Certificate
Sign up for new hosting and complete basic setup. Create database and user for your application. For WordPress, configure database name, user, and password matching wp-config.php. Set matching PHP version and request SSL certificate.
- สมัคร Plan ที่เหมาะสม
- สร้าง Database + User + Password
- ตั้ง PHP Version ให้ตรงกับ Hosting เดิม
- ขอ SSL: Let's Encrypt ฟรีผ่าน cPanel
- Note: Hostname ใหม่ ตั้งค่า FTP Credential
Migrate ไฟล์และ Database
Upload ไฟล์ทั้งหมดไปที่ Hosting ใหม่ผ่าน FTP หรือ File Manager สำหรับ WordPress ให้ Import Database ผ่าน phpMyAdmin แล้วแก้ไข wp-config.php ให้ชี้ Database ใหม่ อาจต้องแก้ URL ใน Database ถ้า Domain เปลี่ยน
Upload all files to new hosting via FTP or File Manager. For WordPress, import database through phpMyAdmin, then update wp-config.php to point to the new database. May need to update URLs in database if domain changes.
- Upload ผ่าน FTP: ทั้ง public_html/
- Import DB: phpMyAdmin → Import → SQL File
- แก้ wp-config.php: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST
- URL ไม่เปลี่ยน: ไม่ต้องแก้ Database
- URL เปลี่ยน: ใช้ WP-CLI หรือ Search-Replace Tool
ทดสอบก่อนเปลี่ยน DNS
ก่อนเปลี่ยน DNS ทดสอบเว็บบน Hosting ใหม่โดยแก้ hosts file บนเครื่องของคุณ เพิ่ม Entry: [IP ใหม่] yourdomain.com ทดสอบว่าหน้าโหลดถูก Email ทำงาน Form ส่งได้ Login ได้ ถ้าทุกอย่างโอเคจึงเปลี่ยน DNS
Before changing DNS, test the website on new hosting by modifying your hosts file. Add: [new IP] yourdomain.com. Test page loading, email, forms, and login. Only change DNS when everything works correctly.
- แก้ hosts file: Windows C:\Windows\System32\drivers\etc\hosts
- Mac/Linux: /etc/hosts
- เพิ่ม: 1.2.3.4 yourdomain.com
- ทดสอบผ่าน Browser: ควรโหลดจาก Hosting ใหม่
- ลบ hosts entry หลังทดสอบเสร็จ
เปลี่ยน DNS และรอ Propagate
เมื่อมั่นใจว่า Hosting ใหม่พร้อม เปลี่ยน DNS ที่ Domain Registrar: เปลี่ยน A Record ชี้ไป IP ใหม่ หรือเปลี่ยน Nameserver ไป Hosting ใหม่ รอ DNS Propagate 1-24 ชั่วโมง (ลด TTL ก่อนหน้าช่วยให้เร็วขึ้น)
When confident new hosting is ready, change DNS at domain registrar: update A Record to new IP or change Nameservers to new hosting. Wait 1-24 hours for DNS propagation (pre-reducing TTL speeds this up).
- เปลี่ยน A Record: ชี้ IP ใหม่
- หรือเปลี่ยน Nameserver: ไป Hosting ใหม่
- TTL 300 วิ ที่ลดไว้ก่อน: Propagate เร็วขึ้น
- ตรวจสอบ: whatsmydns.net ดู Propagate ทั่วโลก
- ระหว่าง Propagate: Hosting เก่ายังทำงาน
Email Migration
ถ้า Email อยู่บน Hosting เดิมด้วย ต้องย้าย Email ก่อนเปลี่ยน MX Record Export Email ผ่าน IMAP Backup ที่ Mail Client Import เข้า Hosting ใหม่ หรือพิจารณาย้ายไปใช้ Google Workspace แทน Hosting Email เลยในโอกาสนี้
If email is on the old hosting, migrate email before changing MX Records. Export email via IMAP backup in your mail client, import to new hosting. Or use this opportunity to migrate to Google Workspace instead.
- Export Email: ผ่าน Thunderbird IMAP Backup
- Import: ผ่าน Thunderbird ไปยัง Hosting ใหม่
- MX Record: เปลี่ยนหลัง Email พร้อม
- พิจารณา: ย้ายไป Google Workspace เลยในโอกาสนี้
- ทดสอบ: ส่ง Email ทดสอบหลัง MX Record เปลี่ยน
หลัง Migration เสร็จ
ตรวจสอบทุกอย่างหลัง Migration: เว็บทำงานถูกต้อง, HTTPS ทำงาน, Email รับส่งได้, Form ส่งได้, Database ทำงาน, Image ทุกรูปโหลด, Payment Gateway ทำงาน (ถ้ามี) เก็บ Hosting เดิมไว้อีก 1 เดือนก่อนยกเลิก เผื่อต้องการ Rollback
Post-migration verification: website works correctly, HTTPS works, email sends/receives, forms work, database functions, all images load, payment gateways work (if any). Keep old hosting for 1 month before canceling in case rollback is needed.
- ตรวจสอบ HTTPS: ไม่มี Mixed Content
- ทดสอบ Form: ส่ง Email จาก Contact Form
- ตรวจ Database: Data ครบถ้วน
- ตรวจ Image: รูปทุกรูปโหลดถูกต้อง
- เก็บ Hosting เก่า 30 วัน ก่อนยกเลิก