Cara Migrasi WordPress ke Hosting Baru Tanpa Downtime
By Yoga · 25 Jun 2026 · 3 min read
Migrasi WordPress ke hosting baru sering dianggap menakutkan — takut data hilang, takut situs mati berjam-jam, atau takut pengunjung mendapat error 500 di tengah proses. Kabar baiknya: dengan strategi yang tepat, kamu bisa pindah hosting tanpa satu menit pun downtime yang dirasakan pengunjung.
Panduan ini mencakup tiga metode utama (plugin, semi-manual via cPanel, dan full manual), plus strategi khusus untuk site berukuran besar di atas 2 GB.
Persiapan Sebelum Migrasi
Sebelum memindahkan satu file pun, pastikan hal-hal berikut sudah beres:
- Hosting baru sudah aktif — akun cPanel sudah bisa diakses.
- Nama domain masih mengarah ke hosting lama — jangan ubah DNS dulu!
- Backup lengkap tersedia — selalu ada backup terbaru sebelum memulai proses apapun.
- Catat kredensial database lama — nama DB, username, password, dan host (biasanya
localhost). - TTL DNS sudah diturunkan — idealnya 300 detik (5 menit) sejak 24 jam sebelum migrasi agar propagasi lebih cepat saat cutover.
Mengapa TTL Penting?
TTL (Time To Live) menentukan berapa lama resolver DNS menyimpan cache record lama. Jika TTL masih 86400 (24 jam), perubahan nameserver bisa memakan waktu sehari penuh sebelum semua pengunjung diarahkan ke hosting baru. Dengan menurunkan TTL ke 300 jauh sebelum migrasi, propagasi DNS bisa selesai hanya dalam 5–15 menit.
Metode 1: Menggunakan Plugin All-in-One WP Migration
Cara paling mudah dan cocok untuk site di bawah 512 MB (batas gratis) atau hingga 2 GB dengan ekstensi berbayar.
Langkah-langkah
- Install plugin di WordPress lama: Plugins → Add New → cari "All-in-One WP Migration" → Install & Activate.
- Klik All-in-One WP Migration → Export → Export to File.
- Tunggu hingga file
.wpressselesai dibuat, lalu unduh ke komputer. - Di hosting baru, install WordPress fresh (bisa via Softaculous di cPanel).
- Install plugin yang sama di WordPress baru.
- Klik All-in-One WP Migration → Import → Import from File, lalu upload file
.wpresstadi. - Setelah import selesai, klik Save Permalinks di Settings → Permalinks.
Mengatasi Batas Upload
Jika file melebihi batas upload default (biasanya 128 MB), tambahkan baris berikut ke file php.ini atau .htaccess di hosting baru:
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
Atau minta tim support hosting baru untuk menaikkan limit PHP sementara.
Metode 2: Menggunakan Duplicator
Duplicator lebih fleksibel untuk site menengah dan mendukung migrasi ke subdomain/staging environment — cocok untuk strategi zero-downtime.
Langkah-langkah
- Install plugin Duplicator di WordPress lama.
- Buka Duplicator → Packages → Create New.
- Ikuti wizard: biarkan setting default, lalu klik Build.
- Download dua file:
installer.phpdan file archive.zip. - Di hosting baru, buat database MySQL baru via cPanel (MySQL Databases).
- Upload kedua file ke folder public (
public_htmlatau subdomain) via File Manager atau FTP. - Akses
https://domainbaru.com/installer.phpdari browser. - Masukkan kredensial database baru, ikuti wizard hingga selesai.
- Login ke WordPress baru dan verifikasi semua konten, gambar, dan plugin berfungsi.
Tips: Gunakan subdomain sementara (misalnya
staging.domainbaru.com) agar kamu bisa mengetes situs baru tanpa mengubah DNS domain utama terlebih dahulu.
Metode 3: Migrasi Manual via cPanel (Direkomendasikan untuk Site Besar >2 GB)
Untuk site besar, plugin sering timeout atau gagal di tengah jalan. Cara manual lebih handal karena transfer dilakukan di level server.
Langkah 1: Export Database via phpMyAdmin
- Login cPanel lama → buka phpMyAdmin.
- Pilih database WordPress → klik Export.
- Pilih format SQL, centang Add DROP TABLE, klik Go.
- Simpan file
.sqldi komputer.
Untuk database besar (>500 MB), gunakan mysqldump via SSH agar lebih cepat dan tidak timeout:
mysqldump -u username_db -p nama_database > backup_wordpress.sql
Langkah 2: Download File WordPress
Via SSH di hosting lama (lebih cepat dari FTP):
# Kompres seluruh folder WordPress
cd /home/usernamecpanel/
tar -czf wordpress_backup.tar.gz public_html/
Lalu download file .tar.gz ke komputer, atau transfer langsung antar server:
# Transfer langsung dari server lama ke server baru via SCP
scp wordpress_backup.tar.gz [email protected]:/home/userbaru/public_html/
Langkah 3: Upload & Extract di Hosting Baru
# Di server baru, extract archive
cd /home/userbaru/public_html/
tar -xzf wordpress_backup.tar.gz --strip-components=1
Langkah 4: Import Database
- Buat database dan user baru di cPanel hosting baru.
- Import via phpMyAdmin (untuk file <50 MB), atau via SSH:
mysql -u username_baru -p database_baru < backup_wordpress.sql
Langkah 5: Update wp-config.php
Edit file wp-config.php di hosting baru dan sesuaikan kredensial database:
define( 'DB_NAME', 'database_baru' );
define( 'DB_USER', 'username_baru' );
define( 'DB_PASSWORD', 'password_baru' );
define( 'DB_HOST', 'localhost' );
Langkah 6: Update URL via WP-CLI (Opsional tapi Direkomendasikan)
Jika domain berubah, jalankan perintah ini agar tidak ada broken link:
wp search-replace 'https://domain-lama.com' 'https://domain-baru.com' --all-tables
Strategi DNS Cutover Tanpa Downtime
Ini adalah bagian paling kritis. Berikut urutan yang benar:
Perbandingan Strategi Cutover
| Strategi | Risiko Downtime | Kompleksitas | Cocok untuk |
|---|---|---|---|
| Langsung ubah nameserver | Sedang (maks 5 menit jika TTL sudah rendah) | Rendah | Site kecil-menengah |
| Ubah A Record saja | Rendah | Sedang | Sebagian besar kasus |
| Staging + cutover terencana | Sangat rendah | Tinggi | Site e-commerce/enterprise |
Urutan Cutover yang Aman
- Pastikan situs baru sudah 100% berfungsi di hosting baru (test via file hosts atau preview URL dari cPanel).
- Aktifkan SSL di hosting baru sebelum mengubah DNS.
- Set TTL ke 300 di DNS lama minimal 24 jam sebelum hari H.
- Pada hari cutover, ubah A Record atau Nameserver ke hosting baru.
- Pantau propagasi via dnschecker.org — tunggu hingga mayoritas lokasi sudah hijau.
- Jangan nonaktifkan hosting lama selama 24–48 jam setelah cutover sebagai fallback.
- Setelah propagasi selesai, kembalikan TTL ke nilai normal (3600 atau 86400).
Mengetes Situs Baru Sebelum DNS Diubah
Tambahkan entri berikut ke file hosts di komputer lokal untuk memaksa browser mengakses hosting baru tanpa mengubah DNS:
# Windows: C:\Windows\System32\drivers\etc\hosts
# Mac/Linux: /etc/hosts
123.456.789.10 domain-kamu.com www.domain-kamu.com
Ganti 123.456.789.10 dengan IP hosting baru. Setelah selesai testing, hapus entri ini.
Checklist Pasca Migrasi
Setelah DNS sudah propagasi dan semua pengunjung mengarah ke hosting baru, lakukan verifikasi:
- Semua halaman dan postingan dapat diakses
- Gambar dan media tampil dengan benar
- Plugin dan tema berfungsi normal
- Form kontak dan WooCommerce (jika ada) berjalan
- SSL/HTTPS aktif dan tidak ada mixed content warning
- Google Search Console sudah diupdate (jika domain berubah)
- Backup pertama di hosting baru sudah dibuat
Rekomendasi Hosting
Keberhasilan migrasi juga bergantung pada kualitas hosting baru. Pastikan hosting barumu mendukung akses SSH, versi PHP terkini, dan limit PHP yang bisa dikonfigurasi — fitur yang umumnya tersedia di layanan hosting berkualitas seperti GoCelerus, yang menawarkan hosting cPanel dengan dukungan teknis responsif untuk membantu proses migrasi berjalan lancar.
Kesimpulan
Migrasi WordPress ke hosting baru tanpa downtime bukan hal yang mustahil. Kuncinya ada tiga:
- Persiapan matang — backup lengkap, TTL diturunkan lebih awal.
- Pilih metode yang sesuai — plugin untuk site kecil, manual untuk site besar.
- Strategi cutover DNS yang terencana — test dulu sebelum ubah DNS, dan jangan matikan hosting lama terlalu cepat.
Dengan mengikuti langkah-langkah di atas, pengunjung situsmu tidak akan merasakan gangguan sedikit pun selama proses migrasi berlangsung.