Cara Restore WordPress dari Backup

10 menit baca
Cara Restore WordPress dari Backup

Jika situs rusak setelah update plugin, perubahan tema, salah edit file, atau serangan, cara restore WordPress yang paling aman adalah mengembalikan file dan database dari snapshot yang diketahui masih sehat. Buat backup baru dari kondisi situs saat ini terlebih dahulu, pulihkan komponen yang waktunya selaras, lalu uji lebih dari sekadar homepage.

Jawaban singkat: pilih backup sebelum masalah muncul, simpan salinan kondisi produksi saat ini, lalu restore melalui UpdraftPlus, file dan database manual, atau All-in-One WP Migration sesuai format backup. Jangan mencampur file lama dengan database dari waktu yang jauh berbeda.

Peringatan: jangan restore langsung ke produksi tanpa membuat backup baru. Jika memungkinkan, uji snapshot di staging terlebih dahulu. Homepage yang bisa dibuka juga belum membuktikan posting, media, formulir, login, dan fungsi penting lainnya sudah pulih.

Checklist sebelum restore WordPress

Siapkan hal-hal berikut sebelum menyentuh file atau database:

  • Akses administrator WordPress jika dashboard masih dapat dibuka.
  • Akses panel hosting, cPanel, File Manager, FTP/SFTP, dan phpMyAdmin.
  • Tanggal serta waktu saat masalah pertama kali muncul.
  • Catatan perubahan terakhir, misalnya update plugin, update tema, edit kode, atau migrasi domain.
  • Backup file, database, dan konfigurasi dari waktu yang sesuai.
  • Ruang penyimpanan yang cukup untuk arsip, hasil ekstraksi, dan backup baru.
  • Salinan error log atau pesan error yang sedang muncul.

Jika situs masih bisa diakses, catat versi WordPress, PHP, plugin, dan tema. Informasi tersebut berguna ketika snapshot lama membutuhkan lingkungan yang berbeda dari kondisi server sekarang.

Cara memilih snapshot yang tepat

Snapshot adalah salinan kondisi situs pada waktu tertentu. Backup terbaru belum tentu menjadi pilihan terbaik, terutama jika dibuat setelah kerusakan atau infeksi terjadi.

  1. Tentukan kapan masalah dimulai. Jika error muncul setelah update pada Senin pukul 10.00, cari snapshot sebelum waktu tersebut.
  2. Periksa kelengkapannya. Pemulihan penuh biasanya membutuhkan file dan database. File memuat WordPress, tema, plugin, serta uploads, sedangkan database memuat posting, halaman, pengguna, pengaturan, dan data plugin.
  3. Selaraskan waktunya. Gunakan backup file dan database dari snapshot yang sama atau sedekat mungkin. Database lama dengan file plugin baru dapat menghasilkan struktur tabel atau konfigurasi yang tidak cocok.
  4. Pilih kondisi yang diketahui sehat. Untuk kasus peretasan, jangan otomatis memakai backup paling baru karena file berbahaya mungkin sudah berada di dalamnya.
  5. Jangan menghapus arsip lain. Simpan backup asli sampai seluruh pemeriksaan pascarestore selesai.

Untuk situs yang sering berubah, perhatikan data yang dibuat setelah snapshot, seperti order, komentar, akun pengguna, formulir, dan unggahan. Restore database akan mengembalikan data ke waktu backup sehingga perubahan setelah waktu tersebut dapat hilang.

Backup kondisi situs saat ini

Walaupun situs sedang bermasalah, buat backup baru sebelum restore. Salinan ini bisa dipakai untuk mengambil konten terbaru, membandingkan file, atau mengembalikan situs jika snapshot pilihan ternyata rusak.

Minimal, simpan:

  • Folder wp-content, terutama uploads, plugins, dan themes.
  • File wp-config.php dan aturan server seperti .htaccess jika digunakan.
  • Ekspor database melalui phpMyAdmin atau fasilitas hosting.
  • Error log dan catatan perubahan terakhir.
  • Nama database, database host, username, dan table prefix tanpa membagikan password kepada pihak yang tidak berwenang.

Unduh salinannya ke perangkat lokal atau penyimpanan terpisah. Jangan hanya menyimpan backup di direktori situs yang akan ditimpa. Jika kamu belum memiliki prosedur backup, ikuti panduan cara backup WordPress dengan mudah dan aman.

Restore WordPress dengan UpdraftPlus

UpdraftPlus memisahkan backup menjadi beberapa komponen, seperti database, plugin, tema, uploads, dan file lain. Hal ini memungkinkan pemulihan sebagian, tetapi untuk restore penuh kamu harus memastikan semua komponen yang diperlukan berasal dari snapshot yang sama.

  1. Masuk ke dashboard WordPress, lalu buka Settings → UpdraftPlus Backups.
  2. Cari snapshot dari waktu sebelum masalah muncul.
  3. Jika daftar backup belum tampil, pindai ulang penyimpanan lokal atau hubungkan kembali penyimpanan jarak jauh yang digunakan.
  4. Klik Restore pada snapshot yang dipilih.
  5. Pilih komponen yang ingin dikembalikan. Untuk pemulihan penuh, pilih database, plugins, themes, uploads, dan komponen lain yang tersedia.
  6. Lanjutkan proses restore dan tunggu sampai plugin menampilkan hasilnya. Jangan menutup tab ketika proses masih berjalan.
  7. Baca laporan atau log pemulihan. Periksa apakah ada komponen yang gagal diunduh, diekstrak, atau dipulihkan.
  8. Masuk kembali jika sesi login berubah, lalu lanjutkan dengan pemeriksaan pascarestore.

Jangan berasumsi semuanya berhasil hanya karena database selesai dipulihkan. Jika uploads gagal, misalnya, halaman dapat terbuka tetapi gambar akan hilang. Jika restore berhenti karena timeout atau ruang penyimpanan, simpan log dan periksa kapasitas hosting sebelum mengulanginya.

Restore manual melalui file dan database

Metode manual digunakan ketika dashboard tidak dapat dibuka atau backup tersedia sebagai arsip file dan ekspor SQL. Kamu memerlukan akses File Manager atau SFTP serta phpMyAdmin.

1. Pulihkan file WordPress

  1. Pastikan backup kondisi situs saat ini sudah tersimpan di luar direktori produksi.
  2. Jika ruang server mencukupi, ubah nama direktori situs lama agar file dapat dikembalikan tanpa tercampur. Ini juga mencegah file asing yang tidak ada di backup tertinggal di instalasi baru.
  3. Unggah dan ekstrak arsip backup ke document root yang benar.
  4. Pastikan direktori tersebut berisi wp-admin, wp-includes, wp-content, dan file inti WordPress.
  5. Periksa wp-config.php. Detail koneksi di dalamnya harus menunjuk ke database yang akan digunakan pada server saat ini.
  6. Periksa permission file dan folder jika server menampilkan akses ditolak.

Jangan sekadar menimpa sebagian file pada situs yang pernah diretas. File berbahaya yang tidak ada dalam backup dapat tetap tertinggal. Menggunakan direktori bersih lebih aman, kemudian hanya memasukkan komponen yang memang diperlukan dan sudah diperiksa.

2. Pulihkan database melalui phpMyAdmin

Opsi yang lebih aman adalah mengimpor backup ke database kosong, lalu mengarahkan wp-config.php ke database tersebut. Jika paket hosting tidak memungkinkan pembuatan database baru, pastikan database lama sudah diekspor sebelum tabelnya dikosongkan.

  1. Buka phpMyAdmin dari cPanel atau panel hosting.
  2. Pilih database kosong yang memang disiapkan untuk situs ini.
  3. Buka tab Import, pilih file .sql atau format kompresi yang didukung, lalu jalankan import.
  4. Tunggu sampai phpMyAdmin menyatakan proses selesai. Untuk file besar, kamu mungkin perlu meminta bantuan hosting karena batas upload dan waktu eksekusi berbeda pada setiap server.
  5. Pastikan username database memiliki hak akses ke database tersebut.
  6. Cocokkan nilai $table_prefix dalam wp-config.php dengan awalan tabel hasil import.

Jika prefix tidak cocok, WordPress dapat terlihat seperti instalasi baru karena tidak menemukan tabel yang benar. Jangan melanjutkan instalasi baru sebelum memeriksa nama database dan prefix.

Safeguard database: jangan mengubah kolom guid untuk mengganti domain. Jangan pula menjalankan pencarian dan penggantian URL menggunakan raw SQL biasa karena data WordPress dapat berbentuk serialized. Gunakan alat yang memahami serialized data, seperti perintah resmi WP-CLI wp search-replace, dengan backup dan --dry-run terlebih dahulu.

Restore arsip .wpress

File .wpress adalah format backup yang digunakan All-in-One WP Migration. File ini diimpor melalui plugin tersebut, bukan diekstrak seperti ZIP dan bukan diunggah melalui menu import SQL phpMyAdmin.

  1. Siapkan instalasi WordPress tujuan dan buat backup baru jika instalasi tersebut sudah berisi data.
  2. Pasang serta aktifkan All-in-One WP Migration.
  3. Buka All-in-One WP Migration → Import.
  4. Pilih arsip .wpress dari sumber yang tersedia pada edisi plugin kamu.
  5. Baca peringatan bahwa proses import akan menimpa situs tujuan, lalu lanjutkan hanya jika arsip dan targetnya sudah benar.
  6. Tunggu proses selesai tanpa menutup browser.
  7. Login menggunakan akun yang tersimpan di dalam backup jika kredensial situs tujuan ikut tertimpa.
  8. Buka Settings → Permalinks, periksa strukturnya, lalu simpan ulang jika URL internal menghasilkan 404.

Ukuran maksimum upload dapat dipengaruhi konfigurasi PHP, web server, hosting, serta kemampuan edisi plugin. Jangan membelah atau mengubah isi arsip .wpress secara manual. Gunakan metode resmi plugin atau minta bantuan hosting jika arsip melebihi batas server.

Bagaimana jika tidak punya backup?

Tanpa backup, situs tidak dapat dijamin kembali persis ke kondisi sebelumnya. Namun, beberapa langkah berikut masih dapat membantu:

  • Periksa apakah penyedia hosting menyimpan snapshot otomatis yang tidak terlihat di dashboard WordPress.
  • Gunakan WordPress Recovery Mode jika email administrator menerima tautan pemulihan akibat fatal error.
  • Jika error muncul setelah aktivasi plugin, ubah nama folder plugin melalui File Manager agar WordPress menonaktifkannya.
  • Periksa error log untuk menemukan plugin, tema, atau file yang memicu blank page.
  • Ganti file inti dengan paket WordPress resmi yang sesuai tanpa menghapus wp-content dan wp-config.php. Langkah ini tidak mengembalikan konten database.
  • Jika situs diretas, batasi akses publik dan simpan salinan bukti sebelum membersihkan file. Pertimbangkan bantuan profesional jika kamu tidak dapat memastikan lingkungan sudah bersih.

Cache mesin pencari atau arsip web mungkin membantu menyalin beberapa teks secara manual, tetapi bukan pengganti database. Jika tujuanmu sebenarnya mengosongkan situs untuk memulai kembali, baca cara reset WordPress ke pengaturan awal. Reset berbeda dari restore dan dapat menghapus data yang masih dapat diselamatkan.

Untuk mengurangi risiko kejadian serupa, gunakan backup terjadwal yang disimpan di lokasi terpisah dan uji pemulihannya secara berkala. Kamu juga dapat memeriksa opsi backup serta dukungan pada Cloud Hosting Mordenhost.

Pemeriksaan setelah restore

Periksa seluruh alur penting sebelum menyatakan situs berhasil dipulihkan:

  • Login dan logout administrator.
  • Homepage, beberapa posting, halaman, kategori, dan URL terdalam.
  • Gambar unggulan, Media Library, file unduhan, dan gambar di dalam artikel.
  • Menu, pencarian, komentar, formulir kontak, dan pengiriman email.
  • Checkout, order, pembayaran, stok, serta akun pelanggan jika memakai WooCommerce.
  • Permalink dan redirect.
  • HTTPS, canonical, serta ketiadaan URL domain lama.
  • Plugin, tema, cron, API, webhook, dan integrasi eksternal.
  • Error log setelah beberapa halaman dan fungsi penting diuji.

Setelah hasilnya benar, buat backup baru dari kondisi yang sudah pulih. Jika snapshot cukup lama, lakukan update keamanan secara bertahap dan uji setiap perubahan. Jangan memperbarui semua komponen sekaligus sebelum memiliki titik pemulihan baru.

Troubleshooting setelah restore

Error establishing a database connection

Periksa DB_NAME, DB_USER, DB_PASSWORD, dan DB_HOST di wp-config.php. Pastikan user database mendapat hak akses ke database yang benar. Cocokkan juga $table_prefix dengan tabel hasil import.

Halaman internal menampilkan 404

Buka Settings → Permalinks dan simpan ulang struktur permalink. Periksa .htaccess pada Apache atau aturan rewrite server lain jika masalah berlanjut. Pastikan halaman memang tersedia di database hasil restore.

Mixed content setelah memakai HTTPS

Mixed content terjadi ketika halaman HTTPS masih memanggil gambar, CSS, JavaScript, atau iframe melalui HTTP. Pastikan WordPress Address dan Site Address memakai HTTPS, lalu cari sumber URL lama dengan alat yang mendukung serialized data. Jangan memakai raw SQL replace.

Perubahan belum terlihat karena cache

Purge cache plugin, object cache, cache server, dan CDN, lalu hapus cache browser. Nonaktifkan cache sementara ketika melakukan diagnosis agar kamu tidak membandingkan hasil restore dengan halaman lama yang masih tersimpan.

Blank page atau fatal error

Periksa Recovery Mode dan error log. Untuk diagnosis sementara, aktifkan debugging WordPress sesuai dokumentasi resmi dan jangan menampilkan detail error kepada pengunjung produksi. Nonaktifkan plugin yang disebut dalam log atau ganti sementara ke tema bawaan yang kompatibel. Matikan kembali mode debug setelah pemeriksaan selesai.

Situs mengarah ke domain lama atau mengalami redirect loop

Periksa nilai home dan siteurl, konfigurasi HTTPS, aturan redirect, plugin keamanan, serta pengaturan CDN. Jika domain berubah, gunakan pencarian dan penggantian yang aman untuk serialized data. Jangan mengubah guid.

FAQ cara restore WordPress

Apakah restore WordPress akan menghapus konten terbaru?

Bisa. Restore database mengembalikan data ke waktu snapshot. Posting, komentar, pengguna, order, atau perubahan setelah waktu tersebut mungkin hilang. Karena itu, backup kondisi saat ini harus dibuat sebelum restore.

Apakah cukup memulihkan folder wp-content?

Tidak untuk pemulihan penuh. wp-content memuat media, plugin, dan tema, tetapi posting, pengguna, serta sebagian besar pengaturan berada di database.

Bisakah saya memulihkan database tanpa file?

Bisa untuk kasus tertentu, tetapi file plugin dan tema harus kompatibel dengan struktur data pada database. Memulihkan database lama dengan file yang jauh lebih baru dapat menimbulkan error atau konfigurasi yang tidak selaras.

Mengapa homepage terbuka tetapi halaman lain 404?

Penyebab yang umum adalah aturan permalink belum diperbarui, file rewrite hilang, atau halaman tersebut tidak ada dalam database hasil restore. Simpan ulang permalink dan periksa aturan server.

Apakah file .wpress dapat diubah menjadi SQL?

Jangan mencoba mengekstrak atau mengubahnya secara manual. Gunakan proses import resmi All-in-One WP Migration agar file, database, dan data serialized diproses dengan benar.

Apakah restore cukup untuk membersihkan situs yang diretas?

Belum tentu. Backup harus berasal dari waktu sebelum infeksi, dan lingkungan hosting juga perlu diperiksa. Setelah restore, ganti seluruh kredensial, hapus akun asing, perbarui komponen yang rentan, periksa log, dan pastikan file berbahaya tidak tertinggal.

Berapa lama proses restore WordPress?

Durasi bergantung pada ukuran file dan database, kecepatan server, batas PHP, serta lokasi penyimpanan backup. Jangan memakai perkiraan umum sebagai tanda keberhasilan; tunggu laporan selesai dan lakukan pemeriksaan pascarestore.

Referensi resmi

TM
Tim Mordenhost
Editorial