Cara Migrasi WordPress ke Hosting Baru Tanpa Downtime
By Yoga · 31 May 2026 · 6 min read
Migrasi WordPress ke hosting baru seringkali terasa menakutkan — bayangan situs mati berjam-jam, data hilang, atau pengunjung menemukan halaman error pasti tidak menyenangkan. Kabar baiknya: dengan strategi yang tepat, proses ini bisa dilakukan hampir tanpa downtime sama sekali.
Panduan ini akan memandu kamu langkah demi langkah, mulai dari memilih tools, memindahkan file dan database, hingga strategi cutover DNS yang aman.
Persiapan Sebelum Migrasi
Sebelum menyentuh satu file pun, lakukan persiapan berikut:
- Catat spesifikasi hosting lama: versi PHP, ekstensi aktif (misalnya
ionCube,imagick), batas upload, dan konfigurasi.htaccess. - Pastikan hosting baru siap: akun cPanel sudah aktif, domain sudah diarahkan atau subdomain sementara sudah disiapkan.
- Backup penuh situs saat ini — ini adalah jaring pengaman utama kamu.
- Nonaktifkan plugin caching (LiteSpeed Cache, W3 Total Cache, dll.) agar tidak ada file cache yang ikut terbawa.
Buat Subdomain Staging di Hosting Baru
Trik utama agar tidak ada downtime adalah bekerja di balik layar terlebih dahulu. Buat subdomain sementara di hosting baru, misalnya staging.domainmu.com, lalu arahkan ke direktori tempat kamu akan menginstal WordPress.
Dengan cara ini, kamu bisa memverifikasi situs sudah berjalan sempurna di hosting baru sebelum mengubah DNS.
Metode 1: Menggunakan Plugin All-in-One WP Migration
Cocok untuk situs berukuran di bawah 512 MB (batas gratis). Antarmukanya ramah pemula.
Langkah Export dari Hosting Lama
- Instal dan aktifkan plugin All-in-One WP Migration di WordPress lama.
- Masuk ke menu All-in-One WP Migration → Export → Export To → File.
- Tunggu proses selesai, lalu unduh file
.wpresske komputer.
Langkah Import ke Hosting Baru
- Instal WordPress baru di hosting baru (misalnya melalui Softaculous di cPanel).
- Instal plugin yang sama, lalu masuk ke Import → Upload.
- Unggah file
.wpresstadi. - Setelah selesai, login dengan kredensial lama dan verifikasi semua halaman berjalan.
Catatan: Jika ukuran file melebihi batas upload, naikkan nilai
upload_max_filesizedanpost_max_sizediphp.iniatau melalui cPanel → PHP Configuration.
Metode 2: Menggunakan Duplicator Pro
Duplicator lebih fleksibel untuk situs menengah hingga besar dan mendukung multisite.
Membuat Package di Situs Lama
- Instal plugin Duplicator di WordPress lama.
- Masuk ke Duplicator → Packages → Create New.
- Ikuti wizard: scan akan mendeteksi potensi masalah (file besar, izin folder, dll.).
- Klik Build — plugin akan menghasilkan dua file:
installer.phpdanarchive.zip.
Instalasi di Hosting Baru
- Upload kedua file (
installer.phpdanarchive.zip) ke direktori tujuan via FTP atau File Manager cPanel. - Buka browser dan akses
http://staging.domainmu.com/installer.php. - Ikuti wizard instalasi: masukkan kredensial database baru yang sudah kamu buat di cPanel → MySQL Databases.
- Installer akan mengekstrak file, mengimpor database, dan memperbarui URL secara otomatis.
-- Duplicator menjalankan ini secara otomatis, tapi jika manual:
UPDATE wp_options SET option_value = 'https://staging.domainmu.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://staging.domainmu.com' WHERE option_name = 'home';
Metode 3: Migrasi Manual via cPanel (Paling Fleksibel)
Metode ini paling andal untuk semua ukuran situs dan memberikan kontrol penuh.
Step 1 — Backup File WordPress
Login ke cPanel hosting lama, buka File Manager, masuk ke public_html, lalu pilih semua file dan klik Compress (format .zip). Setelah selesai, unduh file zip tersebut.
Alternatif via SSH/terminal:
cd /home/usernamemu
tar -czf backup-wordpress.tar.gz public_html/
Step 2 — Backup Database via phpMyAdmin
- Masuk ke phpMyAdmin di cPanel lama.
- Pilih database WordPress kamu.
- Klik tab Export → metode Quick → format SQL → klik Go.
- Simpan file
.sqldi komputer.
Step 3 — Upload ke Hosting Baru
- Buat database baru di cPanel baru melalui MySQL Databases. Catat nama database, username, dan password-nya.
- Upload file zip WordPress ke
public_htmlhosting baru via File Manager, lalu Extract. - Import file
.sqltadi via phpMyAdmin di hosting baru.
Step 4 — Update wp-config.php
Edit file wp-config.php di hosting baru dan sesuaikan kredensial database:
define( 'DB_NAME', 'nama_database_baru' );
define( 'DB_USER', 'user_database_baru' );
define( 'DB_PASSWORD', 'password_baru' );
define( 'DB_HOST', 'localhost' );
Step 5 — Update URL di Database
Jika domain berubah, jalankan query berikut di phpMyAdmin atau gunakan plugin Better Search Replace:
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://situlama.com', 'https://situbaru.com') WHERE option_name IN ('siteurl', 'home');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://situlama.com', 'https://situbaru.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://situlama.com', 'https://situbaru.com');
Menangani Situs Besar (>2 GB)
Situs dengan ukuran di atas 2 GB membutuhkan pendekatan berbeda:
| Tantangan | Solusi |
|---|---|
| Timeout saat upload | Gunakan FTP client (FileZilla) atau rsync via SSH |
| Limit upload phpMyAdmin | Import via SSH: mysql -u user -p database < backup.sql |
| Plugin tidak bisa handle | Gunakan Duplicator Pro atau WP Migrate DB Pro |
| File media sangat besar | Sync folder wp-content/uploads/ terpisah via rsync |
Teknik rsync untuk Transfer Besar
# Dari server lama ke server baru via SSH
rsync -avz --progress /home/usernamelama/public_html/ user@ip-hosting-baru:/home/userbaru/public_html/
rsync akan mentransfer hanya file yang berubah, sehingga bisa dijalankan beberapa kali — terakhir kali dijalankan tepat sebelum cutover untuk menyinkronkan perubahan terbaru.
Strategi DNS Cutover Tanpa Downtime
Ini adalah bagian paling krusial. Berikut strategi yang direkomendasikan:
1. Turunkan TTL DNS Jauh-Jauh Hari
Sebelum migrasi, masuk ke panel DNS kamu dan turunkan nilai TTL record A domain menjadi 300 detik (5 menit). Lakukan ini minimal 24 jam sebelum cutover agar cache DNS di seluruh dunia sudah kedaluwarsa.
2. Verifikasi Situs di Hosting Baru Terlebih Dahulu
Gunakan file hosts di komputer kamu untuk "memaksa" browser mengakses hosting baru tanpa mengubah DNS publik:
# Edit file hosts di:
# 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. Setelah verifikasi selesai, hapus kembali baris ini.
3. Lakukan Cutover di Jam Sepi
Pilih waktu traffic terendah (biasanya dini hari, pukul 01.00–03.00 WIB). Ubah record A domain ke IP hosting baru. Karena TTL sudah rendah, propagasi akan berlangsung dalam hitungan menit untuk sebagian besar pengguna.
4. Pertahankan Hosting Lama Sementara
Jangan langsung matikan atau hapus hosting lama. Biarkan aktif selama 48–72 jam setelah cutover sebagai fallback jika ada masalah yang tidak terduga.
5. Pantau dengan Tools Monitoring
- dnschecker.org — memantau propagasi DNS global secara real-time.
- UptimeRobot — monitoring uptime gratis setiap 5 menit.
- Google Search Console — pantau apakah ada error crawling setelah migrasi.
Checklist Pasca-Migrasi
Sebelum menutup laptop, pastikan semua item ini sudah dicentang:
- Semua halaman utama dapat diakses tanpa error
- Gambar dan media tampil dengan benar
- Form kontak dan WooCommerce (jika ada) berfungsi
- SSL/HTTPS aktif dan redirect berjalan benar
- Plugin caching sudah diaktifkan kembali dan di-flush
- File
wp-config.phptidak bisa diakses publik - Backup pertama di hosting baru sudah dibuat
- Google Search Console & Analytics masih melacak data
Penutup
Migrasi WordPress yang berhasil bukan tentang kecepatan, melainkan tentang perencanaan. Dengan mempersiapkan subdomain staging, memilih metode transfer yang sesuai ukuran situs, dan menerapkan strategi DNS cutover yang matang, kamu bisa memindahkan situs tanpa pengunjung menyadarinya.
Jika kamu sedang mencari hosting baru yang ramah untuk proses migrasi — dengan akses SSH, dukungan cPanel penuh, dan PHP versi terbaru — GoCelerus menyediakan layanan shared hosting dan VPS yang bisa menjadi tujuan migrasi kamu berikutnya.
Selamat bermigrasi, dan semoga zero downtime! 🚀