Cara Menggunakan All-in-One WP Migration di WordPress: Panduan Teknis Lengkap
All-in-One WP Migration adalah plugin WordPress yang membuat serialisasi seluruh situs Anda — database, unggahan media, tema, plugin, dan konfigurasi inti — menjadi satu arsip .wpress yang portabel, yang kemudian dapat diimpor ke instalasi WordPress mana pun tanpa manipulasi database manual. Ini adalah cara tercepat untuk melakukan migrasi situs lengkap atau pencadangan titik waktu tertentu tanpa menyentuh phpMyAdmin, SSH, atau dump SQL mentah.
Panduan ini melampaui klik-tayang dasar. Panduan ini mencakup alur kerja migrasi lengkap, batasan teknis kritis yang menyebabkan sebagian besar impor gagal, penyetelan konfigurasi PHP, perilaku serialisasi URL, dan langkah-langkah validasi pasca-migrasi yang sering dilewati dan kemudian menyebabkan insiden produksi.
Apa yang Sebenarnya Dilakukan Plugin di Balik Layar
Sebelum menyentuh dasbor, memahami mekanisme internal plugin mencegah kejutan selama migrasi besar.
Saat Anda memicu ekspor, All-in-One WP Migration melakukan urutan berikut:
- Melakukan dump database MySQL WordPress ke file SQL datar di dalam direktori kerja sementara.
- Membuat serialisasi semua data objek PHP dalam database (opsi, konfigurasi widget, meta postingan) dan menulis ulang URL absolut ke token placeholder sehingga dapat ditulis ulang saat impor.
- Mengemas
wp-content/uploads, file tema aktif, dan direktori plugin bersama dump SQL. - Membungkus semuanya ke dalam arsip
.wpress, yang merupakan format khusus — bukan ZIP atau TAR standar — dengan header manifes tersendiri.
Saat impor, prosesnya dibalik: arsip dibongkar, SQL diputar ulang terhadap database baru, dan token placeholder URL diganti dengan URL situs baru. Langkah penulisan ulang URL inilah yang membuat plugin menangani perubahan domain dengan baik tanpa memerlukan proses wp-cli search-replace terpisah — meskipun Anda tetap harus memverifikasinya, seperti yang dibahas di bagian pasca-migrasi.
Langkah 1: Instal Plugin di Situs Sumber
Masuk ke dasbor WordPress Anda yang sudah ada dan navigasikan ke Plugins > Add New. Cari All-in-One WP Migration, instal, dan aktifkan. Versi gratis sudah cukup untuk situs di bawah ambang batas ukuran unggahan server Anda (biasanya 128 MB hingga 512 MB tergantung konfigurasi PHP host).
Tidak diperlukan konfigurasi setelah aktivasi. Plugin langsung mendaftarkan dirinya di bilah sisi kiri.
Langkah 2: Ekspor Situs Web Anda
Navigasikan ke All-in-One WP Migration > Export di bilah sisi dasbor.
Klik Export To dan pilih File. Plugin akan mulai mengemas situs Anda. Untuk situs tipikal di bawah 500 MB, ini membutuhkan waktu 30 detik hingga 3 menit. Untuk situs multi-gigabyte dengan pustaka media besar, rencanakan 10 hingga 20 menit.
Yang disertakan dalam ekspor:
- Dump database MySQL lengkap (semua tabel dengan prefiks yang dikonfigurasi)
- Direktori
wp-content/uploads - Tema aktif dan tidak aktif di
wp-content/themes - Semua plugin yang terinstal di
wp-content/plugins
wp-config.php sengaja dikecualikan karena alasan keamanan — wp-config.php milik situs tujuan sendiri dipertahankan saat impor
Yang dikecualikan secara default:
Komentar spam
Revisi postingan
Tema yang tidak digunakan dan plugin yang dinonaktifkan (dapat dikonfigurasi melalui tombol Advanced Options)
Log kesalahan dan direktori cache
Bagian Advanced Options memungkinkan Anda mengecualikan tabel, jalur file, atau jenis postingan tertentu. Gunakan ini untuk menghapus cache transien atau tabel log besar sebelum ekspor, yang secara signifikan mengurangi ukuran arsip.
Setelah pengemasan selesai, klik Download untuk menyimpan file .wpress secara lokal. Simpan di tempat yang aman — file ini adalah cadangan situs lengkap Anda.
Langkah 3: Siapkan Lingkungan Tujuan
Jika Anda bermigrasi ke server baru, Anda memerlukan instalasi WordPress bersih di tujuan sebelum mengimpor. Sebagian besar lingkungan hosting terkelola menyediakan penginstal WordPress satu klik. Jika Anda bekerja di lingkungan VPS Hosting, Anda dapat menginstal WordPress secara manual atau menggunakan tumpukan panel kontrol.
Instalasi WordPress tujuan tidak perlu cocok dengan sumber dalam hal tema, plugin, atau konten — impor akan menimpa semuanya. Namun, hal-hal berikut harus sudah ada:
WordPress inti terinstal dan dapat diakses melalui dasbor adminnya
Pengguna database memiliki hak istimewa CREATE, DROP, INSERT, UPDATE, DELETE, dan ALTER pada database target
Versi PHP kompatibel dengan plugin Anda (periksa versi PHP situs sumber Anda di Tools > Site Health)
Direktori wp-content dapat ditulis oleh proses server web
Penting: Domain atau subdomain situs tujuan tidak perlu cocok dengan sumber. Plugin menulis ulang URL selama impor. Namun, jika Anda bermigrasi ke domain yang sama persis (misalnya, berpindah antar server), waktu propagasi DNS penting — jangan perbarui DNS sampai impor diverifikasi.
Langkah 4: Instal Plugin di Situs Tujuan
Ulangi proses instalasi pada instans WordPress baru: Plugins > Add New, cari All-in-One WP Migration, instal, dan aktifkan.
Langkah ini sering diabaikan ketika orang menyiapkan instalasi WordPress baru dan mengasumsikan plugin sudah ada. Plugin tidak akan ada — proses impor mengharuskan plugin sudah aktif di tujuan.
Langkah 5: Tingkatkan Batas Ukuran Unggahan Sebelum Mengimpor
Ini adalah titik kegagalan yang paling umum. Versi gratis All-in-One WP Migration mengikuti batas unggahan PHP server. Jika file .wpress Anda melebihi batas tersebut, impor akan gagal secara diam-diam atau menampilkan kesalahan yang tidak jelas.
Periksa batas Anda saat ini dengan navigasi ke All-in-One WP Migration > Import. Plugin menampilkan ukuran unggahan maksimum langsung di layar tersebut.
Untuk meningkatkannya, gunakan salah satu metode berikut tergantung pada tingkat akses server Anda:
Metode 1: Edit php.ini secara langsung (direkomendasikan untuk VPS dan server dedicated)
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
Mulai ulang PHP-FPM atau Apache setelah menyimpan:
sudo systemctl restart php8.1-fpm
# or for Apache with mod_php:
sudo systemctl restart apache2
Metode 2: Override melalui .htaccess (lingkungan shared hosting)
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 512M
php_value max_execution_time 300
Metode 3: Override melalui wp-config.php
@ini_set('upload_max_filesize', '512M');
@ini_set('post_max_size', '512M');
@ini_set('memory_limit', '512M');
Setelah menerapkan perubahan, segarkan halaman Import di plugin untuk mengonfirmasi batas baru sudah tercermin. Jika Anda menggunakan paket Shared Web Hosting, hubungi host Anda untuk meningkatkan batas PHP di tingkat server, karena override .htaccess mungkin dibatasi.
Alternatif untuk situs yang sangat besar: Gunakan plugin gratis dikombinasikan dengan ekstensi “Basic” resmi, atau unggah file .wpress langsung ke wp-content/ai1wm-backups/ melalui FTP/SFTP dan kemudian pilih dari layar Import. Ini sepenuhnya melewati batasan ukuran unggahan HTTP.
Langkah 6: Impor Arsip
Di situs tujuan, navigasikan ke All-in-One WP Migration > Import.
Klik Import From > File dan pilih arsip .wpress Anda. Plugin akan mengunggah file dan kemudian memulai proses pemulihan. Bilah kemajuan melacak operasi.
Yang terjadi selama impor:
Arsip .wpress dibongkar ke direktori sementara di bawah wp-contentwp-content ditimpa dengan versi yang diarsipkanwp-config.php)Ketika impor selesai, Anda akan melihat dialog konfirmasi. Klik Proceed (atau Restore tergantung versi plugin) untuk mengonfirmasi penggantian database. Tindakan ini tidak dapat dibatalkan tanpa cadangan terpisah dari database tujuan.
Anda akan langsung keluar setelah impor selesai. Ini adalah perilaku yang diharapkan — database sekarang berisi akun pengguna dari situs sumber. Masuk menggunakan kredensial dari situs sumber Anda.
Langkah 7: Flush Permalink
Setelah masuk kembali, navigasikan ke Settings > Permalinks. Jangan ubah pengaturan apa pun. Cukup gulir ke bawah dan klik Save Changes.
Ini memaksa WordPress untuk meregenerasi aturan penulisan ulang .htaccess untuk lingkungan baru. Melewati langkah ini mengakibatkan semua URL postingan dan halaman mengembalikan kesalahan 404 meskipun konten ada di database.
Jika Anda menjalankan Nginx alih-alih Apache, tidak ada file .htaccess. Anda harus memastikan blok server Nginx Anda menyertakan direktif try_files WordPress standar:
location / {
try_files $uri $uri/ /index.php?$args;
}Langkah 8: Daftar Periksa Validasi Pasca-Migrasi
Migrasi tidak selesai sampai setiap item dalam daftar ini diverifikasi. Melewati validasi adalah cara situs yang rusak mencapai produksi.
Integritas URL dan domain:
- Kunjungi Settings > General dan konfirmasi bahwa WordPress Address dan Site Address mencerminkan URL tujuan yang benar
- Jalankan pemeriksaan search-replace: instal WP-CLI di server dan jalankan
wp search-replace 'olddomain.com' 'newdomain.com' --dry-rununtuk menangkap URL yang terlewat oleh plugin dalam data terserialisasi - Periksa peringatan konten campuran di alat pengembang browser jika bermigrasi dari HTTP ke HTTPS
Pengujian fungsional:
- Uji semua menu navigasi dan tautan internal
- Kirim setidaknya satu formulir kontak dan verifikasi pengiriman
- Uji alur checkout WooCommerce jika berlaku
- Verifikasi lampiran media dimuat dengan benar (gambar rusak sering mengindikasikan penulisan ulang URL yang terlewat di tabel
wp_posts)
Keamanan dan konfigurasi:
- Konfirmasi SSL Certificates Anda aktif dan HTTPS diberlakukan di domain tujuan
- Tinjau
wp-config.phpdi tujuan — kredensial database, statusWP_DEBUG, dan salt harus mencerminkan lingkungan baru, bukan sumber - Regenerasi kunci keamanan WordPress melalui Settings > General atau dengan mengganti konstanta salt di
wp-config.phpmenggunakan generator kunci rahasia WordPress
Caching:
- Bersihkan semua lapisan caching: object cache (Redis/Memcached), plugin page cache (WP Rocket, W3 Total Cache), dan cache CDN apa pun
- Nonaktifkan dan aktifkan kembali plugin caching untuk memaksanya mendeteksi jalur lingkungan baru
Perbandingan: All-in-One WP Migration vs. Metode Migrasi Alternatif
| Metode | Keahlian Teknis yang Diperlukan | Menangani Situs Besar | Penulisan Ulang URL | Biaya | Terbaik Untuk |
|---|---|---|---|---|---|
| — | — | — | — | — | — |
| All-in-One WP Migration (gratis) | Rendah | Dibatasi oleh batas unggahan | Otomatis | Gratis | Situs kecil hingga menengah |
| All-in-One WP Migration (premium) | Rendah | Ya (tanpa batas ukuran) | Otomatis | Berbayar | Ukuran situs apa pun |
| WP-CLI + rsync + mysqldump | Tinggi | Ya | Manual (`search-replace`) | Gratis | Pengembang, situs besar |
| Duplicator Pro | Menengah | Ya | Semi-otomatis | Berbayar | Agensi, multisite |
| Manual (phpMyAdmin + FTP) | Tinggi | Ya | Manual | Gratis | Skenario kontrol penuh |
| cPanel/Plesk backup restore | Menengah | Ya | Tidak ada (domain sama) | Termasuk dengan host | Migrasi dalam host yang sama |
Bermigrasi ke VPS atau Server Dedicated
Jika Anda berpindah dari shared hosting ke lingkungan VPS Hosting atau Dedicated Servers, alur kerja All-in-One WP Migration identik, tetapi pengaturan server tujuan memerlukan perhatian tambahan:
- Instal tumpukan LAMP atau LEMP (Apache/Nginx, MySQL/MariaDB, PHP)
- Konfigurasikan virtual host yang mengarah ke root dokumen WordPress
- Buat database MySQL dan pengguna khusus dengan hak istimewa yang sesuai
- Instal inti WordPress sebelum menjalankan impor plugin
- Konfigurasikan pengaturan pool PHP-FPM agar sesuai atau melebihi persyaratan sumber daya situs sumber
Untuk tim yang lebih suka antarmuka panel kontrol terkelola, VPS dengan cPanel secara signifikan mengurangi overhead konfigurasi server — cPanel menyediakan penginstal WordPress satu klik, pengalih versi PHP, dan manajer file yang menyederhanakan pengaturan pra-impor.
Kesalahan Umum dan Cara Memperbaikinya
“Import failed: could not extract archive”
Ini biasanya berarti file .wpress rusak, unggahan terputus, atau ruang disk di tujuan tidak mencukupi. Verifikasi ukuran file cocok dengan aslinya, periksa ruang disk yang tersedia dengan df -h, dan unggah ulang melalui SFTP langsung ke wp-content/ai1wm-backups/.
“Maximum execution time exceeded”
Direktif PHP max_execution_time terlalu rendah untuk ukuran impor. Tingkatkan ke 300 atau 600 detik di php.ini atau .htaccess seperti yang ditunjukkan di atas.
“The uploaded file exceeds the upload_max_filesize directive”
Batas ukuran unggahan belum ditingkatkan, atau perubahan tidak diterapkan ke file konfigurasi PHP yang benar. Jalankan php -i | grep upload_max_filesize dari baris perintah untuk mengonfirmasi php.ini mana yang aktif.
php -i | grep upload_max_filesize
php -i | grep "Loaded Configuration File"White screen of death setelah impor
Aktifkan WP_DEBUG sementara di wp-config.php untuk menampilkan kesalahan PHP yang sebenarnya:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);Kemudian periksa /wp-content/debug.log untuk kesalahan spesifik. Penyebab umum adalah plugin yang tidak kompatibel dengan versi PHP tujuan atau kehabisan batas memori.
Gambar rusak setelah migrasi
Jalankan search-replace database yang ditargetkan untuk domain lama di tabel wp_posts dan wp_postmeta. Menggunakan WP-CLI:
wp search-replace 'https://olddomain.com' 'https://newdomain.com' wp_posts wp_postmeta --precise --report-changed-onlyMatriks Keputusan Teknis: Kapan Menggunakan All-in-One WP Migration
| Skenario | Pendekatan yang Direkomendasikan |
|---|---|
| — | — |
| Situs di bawah 512 MB, pindah ke host baru | Versi gratis, unggah file langsung |
| Situs di atas 512 MB | Unggah `.wpress` melalui SFTP ke `ai1wm-backups/` atau gunakan premium |
| Berpindah dari HTTP ke HTTPS | Jalankan WP-CLI `search-replace` setelah impor untuk menangkap URL terserialisasi |
| Migrasi jaringan multisite | Gunakan versi premium; versi gratis tidak mendukung multisite |
| Pencadangan berulang otomatis | Gunakan plugin cadangan khusus (UpdraftPlus, BackWPup) sebagai gantinya |
| Berpindah ke versi PHP yang berbeda | Uji kompatibilitas plugin di staging sebelum impor produksi |
| Melibatkan perubahan domain | Verifikasi penulisan ulang URL di Settings > General pasca-impor |
Poin Penting Praktis
- Selalu unggah file
.wpressmelalui SFTP langsung kewp-content/ai1wm-backups/untuk situs di atas 200 MB — ini menghindari setiap batasan ukuran unggahan HTTP. - Tingkatkan
upload_max_filesize,post_max_size,memory_limit, danmax_execution_timedi tujuan sebelum memulai impor, bukan setelah mengalami kesalahan. - Plugin mengecualikan
wp-config.phpdari arsip — kredensial database tujuan Anda dipertahankan, tetapi verifikasiWP_DEBUG,WP_SITEURL, dan salt keamanan secara manual setelah impor. - Selalu flush permalink segera setelah impor. Di Nginx, verifikasi direktif
try_filesada di blok server. - Jalankan
wp search-replace --dry-runsetelah migrasi apa pun yang melibatkan perubahan domain untuk menangkap sisa URL terserialisasi yang mungkin terlewat oleh plugin. - Konfirmasi SSL aktif di tujuan sebelum ditayangkan — ketidakcocokan SSL certificate setelah migrasi adalah penyebab umum peringatan keamanan browser yang mengikis kepercayaan pengguna.
- Untuk migrasi produksi, selalu uji di lingkungan staging terlebih dahulu, terutama saat mengubah versi PHP atau berpindah antar tumpukan server yang sangat berbeda.
Pertanyaan yang Sering Diajukan
Apakah All-in-One WP Migration berfungsi untuk memindahkan WordPress ke domain yang berbeda?
Ya. Plugin secara otomatis menulis ulang domain sumber ke domain tujuan selama impor menggunakan proses substitusi token pada dump SQL. Setelah impor, verifikasi penulisan ulang berhasil dengan memeriksa Settings > General dan menjalankan WP-CLI search-replace --dry-run untuk menangkap URL yang tertanam dalam data PHP terserialisasi yang mungkin terlewat oleh plugin.
Berapa ukuran file maksimum yang didukung oleh versi gratis?
Versi gratis tidak memiliki batas ukuran yang dikodekan secara keras dalam plugin itu sendiri — batasannya sepenuhnya berasal dari direktif PHP upload_max_filesize dan post_max_size server. Di banyak shared host, ini defaultnya adalah 128 MB. Anda dapat melewati batasan ini sepenuhnya dengan mengunggah file .wpress melalui SFTP ke wp-content/ai1wm-backups/ dan memilihnya dari layar Import, yang melewati mekanisme unggahan HTTP.
Apakah migrasi akan menimpa database situs tujuan sepenuhnya?
Ya. Impor menghapus semua tabel yang ada di database tujuan dan menggantinya dengan tabel dari situs sumber. Cadangkan database tujuan sebelum mengimpor jika berisi data yang perlu Anda pertahankan.
Bisakah saya menggunakan All-in-One WP Migration untuk WordPress Multisite?
Versi gratis tidak mendukung migrasi jaringan Multisite. “Multisite Extension” premium diperlukan untuk mengekspor dan mengimpor jaringan Multisite lengkap. Subsitus individual dalam jaringan terkadang dapat dimigrasikan sebagai situs mandiri menggunakan versi gratis, tetapi ini memerlukan pembersihan manual entri database khusus jaringan.
Mengapa saya langsung keluar setelah impor selesai?
Ini adalah perilaku yang benar. Impor mengganti seluruh database, termasuk tabel wp_users, dengan data dari situs sumber. Akun admin situs tujuan Anda tidak lagi ada — akun pengguna situs sumber sekarang aktif. Masuk menggunakan nama pengguna dan kata sandi dari situs sumber asli.
