Cara Migrasi WordPress ke Hosting Baru Tanpa Downtime
By Yoga · 16 Jul 2026 · 6 min read
Migrasi WordPress ke hosting baru sering kali terasa menakutkan, terutama kalau situsmu sudah ramai pengunjung. Salah langkah bisa bikin situs down berjam-jam. Kabar baiknya, dengan strategi yang tepat, kamu bisa pindah hosting tanpa satu pun pengunjung yang merasakan gangguan.
Panduan ini akan membawa kamu melewati seluruh proses: backup, transfer, konfigurasi database, hingga DNS cutover yang mulus — termasuk penanganan khusus untuk situs berukuran besar (di atas 2 GB).
Persiapan Sebelum Migrasi
Sebelum mulai, pastikan beberapa hal berikut sudah siap:
- Akses cPanel atau SSH ke hosting lama dan baru
- Kredensial database (nama DB, username, password, host)
- Domain masih mengarah ke hosting lama — jangan ubah DNS dulu
- Hosting baru sudah aktif dan domain sudah ditambahkan sebagai addon domain atau parked domain
- Catat nilai TTL DNS domain kamu sekarang (cek via
dig +short yourdomain.comatau tools seperti dnschecker.org)
Tips: Turunkan TTL DNS ke nilai rendah (misalnya 300 detik / 5 menit) minimal 24 jam sebelum rencana cutover. Ini mempercepat propagasi DNS saat kamu akhirnya mengganti nameserver atau A record.
Metode 1: Menggunakan Plugin All-in-One WP Migration
Cocok untuk situs kecil hingga menengah (di bawah 512 MB secara default, bisa diperluas).
Langkah Export di Hosting Lama
- Install dan aktifkan plugin All-in-One WP Migration di WordPress lama.
- Masuk ke menu All-in-One WP Migration → Export.
- Klik Export To → File.
- Tunggu proses selesai, lalu download file
.wpressyang dihasilkan.
Langkah Import di Hosting Baru
- Install WordPress fresh di hosting baru (bisa via Softaculous di cPanel).
- Install plugin yang sama, lalu masuk ke All-in-One WP Migration → Import.
- Upload file
.wpresstadi. - Setelah import selesai, login dengan kredensial dari situs lama (karena database ikut tergantikan).
- Masuk ke Settings → Permalinks, klik Save Changes untuk refresh
.htaccess.
Mengatasi Batas Upload
Jika muncul error karena batas ukuran file, tambahkan baris berikut ke file php.ini atau .htaccess di hosting baru:
; php.ini
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 256M
max_execution_time = 300
Atau via .htaccess:
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 256M
php_value max_execution_time 300
Metode 2: Menggunakan Duplicator
Duplicator lebih andal untuk situs menengah hingga besar karena mendukung chunked transfer.
Membuat Package di Hosting Lama
- Install plugin Duplicator di WordPress lama.
- Masuk ke Duplicator → Packages → Create New.
- Ikuti wizard: beri nama package, klik Next, biarkan scan selesai, lalu klik Build.
- Download dua file yang dihasilkan:
installer.phpdan file arsip.zip.
Instalasi di Hosting Baru
- Buat database baru di cPanel hosting baru (via MySQL Databases).
- Upload
installer.phpdan file.zipke folder root domain di hosting baru via File Manager atau FTP. - Akses
https://domainbaru.com/installer.phpdi browser. - Ikuti wizard: masukkan detail database baru, konfigurasi URL situs, lalu klik Run Deployment.
- Hapus file
installer.phpdandup-installersetelah selesai demi keamanan.
Metode 3: Migrasi Manual via cPanel (Paling Fleksibel)
Metode ini direkomendasikan untuk situs besar (>2 GB) atau kalau kamu ingin kontrol penuh.
Step 1: Backup File WordPress
Login ke cPanel hosting lama, buka File Manager, navigasi ke public_html. Pilih semua file, klik kanan → Compress → pilih format .zip. Download hasil kompresi.
Alternatif lebih cepat via SSH:
cd /home/username/public_html
tar -czf /home/username/wordpress_backup.tar.gz .
Step 2: Backup Database
Di cPanel lama, buka phpMyAdmin, pilih database WordPress, klik tab Export, pilih format SQL, klik Go. Simpan file .sql.
Via SSH (lebih cepat untuk DB besar):
mysqldump -u db_user -p db_name > /home/username/db_backup.sql
Step 3: Upload ke Hosting Baru
Upload file backup ke hosting baru via File Manager atau FTP. Untuk file besar, gunakan SSH dan wget/scp:
# Dari hosting lama ke baru via SCP
scp /home/username/wordpress_backup.tar.gz [email protected]:/home/username/public_html/
# Ekstrak di hosting baru
cd /home/username/public_html
tar -xzf wordpress_backup.tar.gz
Step 4: Import Database
Buat database baru di cPanel hosting baru. Import via phpMyAdmin atau SSH:
mysql -u db_user_baru -p db_name_baru < /home/username/db_backup.sql
Step 5: Update wp-config.php
Edit file wp-config.php di hosting baru, sesuaikan nilai berikut:
define( 'DB_NAME', 'db_name_baru' );
define( 'DB_USER', 'db_user_baru' );
define( 'DB_PASSWORD', 'password_baru' );
define( 'DB_HOST', 'localhost' );
Step 6: Update URL Situs (Jika Domain Berubah)
Jika kamu pindah ke domain berbeda atau perlu mengganti URL sementara, jalankan perintah ini via WP-CLI:
wp search-replace 'https://situlama.com' 'https://situbaru.com' --all-tables
Penanganan Situs Besar (>2 GB)
Situs dengan konten media yang banyak membutuhkan pendekatan khusus:
| Tantangan | Solusi |
|---|---|
| Upload timeout | Gunakan SSH/SCP atau rsync |
| Batas memory PHP | Transfer database via CLI (mysqldump) |
| Plugin upload limit | Pakai Duplicator Pro (chunked upload) |
| File media besar | Sync folder wp-content/uploads terpisah via rsync |
Contoh sinkronisasi folder uploads via rsync (efisien, hanya transfer file yang berubah):
rsync -avz --progress /home/username/public_html/wp-content/uploads/ \
[email protected]:/home/username/public_html/wp-content/uploads/
Dengan rsync, kamu bisa menjalankan sync pertama saat situs masih online, lalu lakukan sync terakhir (delta) sesaat sebelum cutover DNS — meminimalkan window downtime menjadi hitungan detik.
Strategi DNS Cutover Tanpa Downtime
Ini adalah bagian paling krusial. Ikuti urutan ini:
1. Verifikasi Hosting Baru Sebelum Ganti DNS
Sebelum mengubah DNS, tes situs di hosting baru dengan memodifikasi file hosts di komputer lokalmu:
# Windows: C:\Windows\System32\drivers\etc\hosts
# Linux/Mac: /etc/hosts
123.456.789.000 domainmu.com www.domainmu.com
Ganti 123.456.789.000 dengan IP hosting baru. Ini membuatmu bisa melihat situs di hosting baru tanpa mengubah DNS untuk pengunjung lain.
2. Checklist Sebelum Cutover
- Situs tampil normal di hosting baru (via file hosts)
- Login WordPress berhasil
- Form, plugin, dan WooCommerce (jika ada) berfungsi
- SSL/HTTPS aktif di hosting baru
- Email (jika menggunakan hosting) sudah dikonfigurasi
- TTL DNS sudah diturunkan sejak 24 jam lalu
3. Ganti DNS Record
Masuk ke panel DNS domain (biasanya di registrar atau Cloudflare), ubah A Record domain ke IP hosting baru. Jika menggunakan nameserver, ganti ke nameserver hosting baru.
4. Periode Propagasi
Dengan TTL yang sudah diturunkan ke 300 detik, propagasi biasanya selesai dalam 5–30 menit. Selama periode ini:
- Situs lama masih berjalan normal untuk pengunjung yang DNS-nya belum update
- Situs baru sudah aktif untuk pengunjung yang mendapat IP baru
- Keduanya menampilkan konten yang sama (karena migrasi sudah selesai)
Penting: Jangan hapus situs di hosting lama setidaknya 48 jam setelah cutover DNS untuk memastikan semua resolver di dunia sudah mendapat IP baru.
5. Setelah Propagasi Selesai
- Hapus entri di file
hostslokal - Naikkan kembali TTL DNS ke nilai normal (1 jam atau 24 jam)
- Aktifkan caching plugin (LiteSpeed Cache, W3 Total Cache, dll.)
- Lakukan pengujian akhir dari jaringan berbeda (misalnya via mobile data)
Kesimpulan
Migrasi WordPress tanpa downtime bukan sekadar memindahkan file — ini soal timing dan strategi. Kunci utamanya adalah:
- Turunkan TTL DNS jauh sebelum cutover
- Siapkan hosting baru dan verifikasi semuanya berfungsi sebelum mengubah DNS
- Untuk situs besar, gunakan SSH dan rsync daripada mengandalkan plugin
- Jangan terburu-buru menonaktifkan hosting lama
Jika kamu sedang mencari hosting baru yang mendukung proses migrasi dengan mudah — termasuk akses SSH penuh dan cPanel yang familiar — GoCelerus menyediakan layanan hosting berbasis cPanel yang siap menjadi rumah baru bagi situsmu.
Selamat bermigrasi, dan semoga situsmu makin ngebut di hosting baru! 🚀