Cara Backup dan Restore Website WordPress Secara Manual
Disclaimer : Postingan ini cenderung techy ya dan, berhubungan dengan WordPress secara teknis. Postingan ini utamanya ditujukan untuk pemilik blog selfhosted WordPress yang ingin tahu cara migrasi manual ke hosting baru. Saya berasumsi pembaca sudah familiar dengan selfhosted WordPress, cPanel, dan teman-temannya ya. Enjoy!
Halo, di post kali ini saya mau sharing pengalaman bulan lalu reinstall wordpress sekalian pindahan hosting secara manual; karena beberapa website saya di hosting lama kena hack malware. Secara penampakan sih ngga ada masalah dengan blognya; cuma saya beberapa kali kena tegur sama hosting lama saya, katanya akun saya keep sending out spams. Awal notifikasi ada keanehan seperti ini di bulan Februari; tapi saya hanya reinstall versi terbaru dari plugin yang suspect terinfeksi malware; dan memastikan WordPress, themes dan plugin lainnya dalam kondisi paling update. Abis itu anteng aja.
Akun Hosting Saya Kena Suspend
Anyway, bulan Mei kemarin ini saya ditegur lagi untuk hal yang serupa. Lebih parahnya, kata hostingnya, spamnya itu keluar dari hampir semua website saya (yang memang under 1 cpanel di hosting tersebut) T_T So, infeksi malware kek gini tuh menular; kalau dalam 1 cpanel ada 1 website yang terinfeksi, most likely malwarenya akan nyebar ke website-website lainnya.
Tetep sih secara penampakan ga ada yang aneh dengan blog saya, tetap bisa normal diakses sampai suatu saat blog saya ngga bisa dibuka; akun saya kena suspend sama hosting company-nya karena masih terus sending out spams itu tadi. Saya sempet minta Bagian Support untuk bantuin ngebenerin masalah ini; tapi menurut mereka ngga semudah itu karena harus cek manual dan mereka bisa bantu dengan biaya $25 per website; dan mereka ngga bisa jamin si malware ngga akan muncul dan menular lagi. Mereka nyaranin untuk fresh install WordPress untuk semua website dan upgrade ke paket reseller hosting yang support multi-cpanel, tapi mehong (start dari $25/mo).
Saya sempet konsul sama Shinta karena dia pernah ngalamin hal serupa; dan menurut dia ngga worth bayar $25 per website karena ngga jaminan bakal bersih juga. Jadi satu-satunya solusi yang kepikiran saat itu ya pindahan hosting (supaya dapat cpanel baru yang masih bersih sih sih sih), dan fresh install WordPress untuk semua website saya di hosting yang baru itu.
Migrasi ke Hosting Baru : Manual vs Bedol Desa
Saya berasumsi kalian tahu ya kalau blog atau website dengan platform WordPress itu basically terdiri dari files & folders (file WordPress, themes, plugin, gambar-gambar) dan database MySQL.
Jadi migrasi ke hosting baru itu ada yang mekanismenya cpanel to cpanel; artinya semua file dan database MySQL di cpanel hosting lama boyongan dipindah ke hosting yang baru. Bedol desa gitu. Kalau kalian notice biasanya perusahaan hosting memberikan layanan gratis transfer website kalau kita sign up paket hosting sama dia; nah yang gratis ini ialah transfer seluruh cpanelnya. Prosesnya (seharusnya) relatif simple makanya mereka bisa tawarkan free.
Di kasus saya, ngga bisa pake opsi ini. Karena malware yang menginfeksi ini (bisa dalam bentuk kode-kode aneh dalam file yang memang seharusnya ada; atau justru file-file aneh yang harusnya ngga ada di cpanel kita) bisa keangkut juga ke hosting yang baru which jadinya percuma aja pindah hosting kan.. So harus transfer / migrasi manual.
Migrasi manual itu intinya adalah kita hanya memindahkan database MySQL (yang berisi postingan, komentar, aneka setting WordPress, themes dan plugin) dan file foto dan gambar yang ada di folder Uploads; sedangkan file-file WordPress, themes dan plugin kita install baru (fresh install) untuk memastikan “kebersihannya”.
Nah di sini saya jiper; karena belum pernah ngerjain migrasi kek gini hahaha… Boro-boro yang manual, yang cpanel to cpanel aja belom pernah (nubie, belom pernah pindahan hosting). Jadinya saya nontonin video tutorial di Youtube dulu dan browsing sana sini. Karena masih belom pede, saya coba kontak kaka Rosid untuk bantu pindahan manual ini.
Nah karena sayanya pas lagi senggang dan penasaran juga; sebelum kaka Rosid sempet bantuin saya udah iseng duluan nyoba pindahin 1 blog saya yang bukan blog utama. Blog abal-abal sih jadi isinya juga sedikit, dan kalo nantinya error ngga sedih-sedih amat :D. Ndilalah-nya berhasil hihihi… Girang juga saya ternyata bisaaa; jadinya saya lanjutin pindahin satu website demi satu website lagi ^^
Cara Back Up dan Restore WordPress website secara manual
Nah ini garis besar step-by-step yang harus dilakukan kalau mau pindahan hosting manual ya :
1 | Download Backup dari Hosting Lama
Dari Cpanel hosting lama, klik Backup Wizard. Ini adalah tool yang tersedia di cpanel untuk Back Up maupun Restore. Pilih Back Up, lalu klik Partial Back Up. Mau Full Back Up juga ngga papa sih. Kalau full back up itu jadinya download sekaligus (Home Directory, MySQL Databases dan Email Forwarders & Filters).
Nah segala postingan, komentar dan setting itu kesimpennya di MySQL Database. Biasanya databasenya ini ngga terlalu besar ukuran file-nya kecuali untuk blog yang udah lama atau aktif banget). Yang perlu diantisipasi itu kalau mau download backup Home Directory; karena di sini tersimpan file-file WordPress, themes, plugin serta foto dan gambar yang kita upload ke blog. Jadinya kebayang kan ukurannya bisa sebesar apa. Siap-siap cari wifi yang speed-nya kenceng ya 😀 Kalau saya kemarin pake wifi di rumah jadi bisa saya tinggal semaleman selama proses download.
Alternatif lain; untuk kasus saya di mana saya ngga butuh backup file WordPress theme dan plugin, bisa download backup langsung dari File Manager CPanel, cari folder Uploads yang bersisi foto dan gambar. Oh iya banyak yang menyarankan pakai FTP kalau mau transfer file antara komputer kita dari / ke cPanel; tapi menurut saya kok ribet ya lebih enak download langsung dari File Managernya 😀
Cara download backup folder Uploads dari File Manager : highlight semua subfolder di bawah folder Uploads, compress jadi file Zip (klik kanan >> compress); lalu download file ZIP tersebut.
Nah pastikan hasil download back up kita sudah komplit dan tersimpan rapi di komputer.
2 | Install WordPress di Hosting Baru
Saya install WordPress pakai cara yang gampang aja, Softaculous. Di tahap ini belum perlu setting khusus. Setelah WordPress terinstall, bisa dilanjutkan dengan install theme dan plugin serta meng-upload / restore file foto dan gambar ke folder Uploads. Sekali lagi, ada yang prefer upload file ke cPanel pakai FTP; tapi saya pribadi lebih suka langsung upload via File Manager.
Baca juga : Cara Mudah Membuat Blog WordPress Self-hosted
3 | Buat database baru
Di cPanel, klik MySQL Databases. Untuk membuat database baru, kita harus assign nama database dengan kombinasi huruf dan/atau angka. Saya assign nama database yang mudah dikenali (misalnya untuk blog almazia.co saya beri nama database-nya almaziac_alco123; untuk blog bayupapz.com saya beri nama almaziac_byp123, etc). Lalu klik Create New Database.
Setiap database harus ada usernya, jadi langkah berikutnya ialah Add New MySQL User. Di sini kita juga assign nama user sendiri; bisa juga disamakan dengan nama databasenya. Lalu tentukan password untuk user ini. Klik Create User.
Setelah ada database dan ada usernya, langkah selanjutnya adalah Add User to Database; jadi ini simply meng-assign user X ke Database X. Klik Add.
Jangan lupa catat nama database, table prefix, nama user dan password user-nya karena akan kita butuhkan nanti.
4 | Restore Database / Import file ke Database Baru
Nah sekarang kita sudah punya struktur database baru, tapi datanya masih kosong. Jadi kayak baru ada wadahnya doang belum ada isinya. Nah di sini akan kita isi dengan mengimport backup file sql yang sudah kita download di step 1 tadi.
Di pembahasan berikut kita akan banyak mengakses phpMyAdmin. phpMyAdmin adalah tool untuk mengakses serta mengatur database website dengan mudah. Meskipun cara yang saya gunakan adalah dengan login ke cPanel terlebih dahulu, tapi sebetulnya phpMyAdmin juga bisa diakses tanpa login cPanel.
Dari File Manager cPanel, klik phpMyAdmin, klik Import. Pilih file SQL yang akan diimport (1 file SQL itu untuk 1 website yaa; jadi pastikan kita mengupload file SQL yang benar), lalu klik Go. Proses import akan dimulai.
5 | Mengkoneksikan instalasi WordPress dengan database-nya
Sampai tahap ini kita sudah install WordPress dan sudah punya database MySQL yang lengkap. Tetapi kedua hal ini masih perlu “disambungkan”. Caranya dengan mengedit beberapa item di file wp-config.php. Jadi setiap instalasi WordPress itu akan menginstall juga file wp-config.php. Di sini lah ditentukan instalasi WordPress yang ini akan mengacu ke database yang mana.
Setelah ketemu file wp-config.php (biasanya ada di dalam folder public_html) ; klik download atau klik 2 kali di file tersebut untuk menyimpan backup-nya just in case nanti diperlukan. Setelah itu klik Edit; lalu ubah keempat data ini sesuai database yang kita buat di step 3 : nama database, table prefix, nama user dan password user-nya. Klik Save Changes, lalu Close.
6 | Update DNS
Nah isi website yang baru kita pindahkan sudah komplit. Sudah lengkap instalasi WordPress, themes, plugin, file-file gambar sudah terupload semua, database udah komplit juga, tinggal satu step lagi nih. Update DNS untuk domain kita.
Jadi DNS ini fungsinya mengarahkan domain kita (misal almazia.co) mau diarahkan ke hosting yang mana (dalam kasus saya ini, mau diarahkan ke hosting lama atau hosting baru). Makanya nameserver untuk tiap hosting akan berbeda.
Caranya : login ke akun di mana kita meregistrasi domain (domain registrar), klik Manage Domain, Edit Nameservers dengan nameserver hosting baru. Nameservernya tahu dari mana? Biasanya setelah sign up pake hosting kita akan dapat email berisi hal-hal penting sehubungan dengan akun hosting kita termasuk juga nameservernya.
Baca juga: Cara Membeli Domain di Namecheap
Nah setelah update nameserver, kadang-kadang butuh waktu agak lama untuk bisa terpropagasi (max 48 jam katanya sih) tapi pengalaman saya ngga sampai 5 menit juga sudah terupdate.
Yups kurang lebih seperti itulah cara yang saya lakukan untuk pindahan blog WordPress secara manual. Sempat ada glitch justru pas mau pindahan blog utama karena selalu gagal import file SQL. Akhirnya dibantu sama kaka Rosid; dan akhirnya beres deh… ^^
Oiyah, itu step 2 sampai 6 dilakukan untuk 1 website yaa; kalau saya kemarin kan pindahan beberapa website sekaligus jadinya step 2 sampai 6 itu diulang sekian kali sejumlah website yang akan dipindahkan.
Pindahan manual ribet ya? Ya emang agak ribet sih wkwkw tapi ternyata saya aja bisa kok ngerjainnya, pelan-pelan asal kelakon. Dan sebenarnya source tutorialnya di internet juga udah banyak banget meskipun mostly in English. Maka ini saya coba membuat step-by-step yang saya lakukan kemarin (belum berani menyebut tutorial :D) dalam bahasa Indonesia dengan gaya yang se-awam mungkin, mudah-mudahan lebih mudah dimengerti.
Anyway saya bukan expert dalam hal ini yaaa, tulisan ini murni berdasarkan pengalaman aja jadi kalau teman-teman ada yang lebih paham and you spot even the tiniest mistakes in my writing, please feel free to inform me. Jangan biarkan saya menyesatkan pembaca saya hohoho….
Video Referensi
Ini beberapa video di Youtube yang membantu saya mengerti proses migrasi manual ini; hope they will help you as well.
dulu juga sempat bingung gimana mindahinnya hehe, apalagi dulu belum banyak tutorial seperti ini
Mantap gan. Artikelnya keren dan menarik. Biasanya saya juga pakek cara ini.
Terimakasih tutornya kak. Sebelumnya saya pake backup otomatis, resikonya tau-tau disk space penuh..
Pke cara ini aja jdi bsa sewaktu”.
wah berguna sekali ini mbak panduan backupnya, sometimes pasti dibutuhkan sama saya*
sayapake FTP untuk update plugin seperti jetpack yang kadang suka error kalau update langsung, krn sharehosted server..sering error, solusi aman saya pake FTP.
Terima kasih atas infonya.. sangat bermanfaat
Ada yang kurang, itu pas restore sql pakai nama database baru (kosong) atau udah di buat sebelumnya di Softaculous? Kalau sama dan berbeda, itu kurang lengkap jadi masih rancu menurut saya …
makasih ka…tulisannya membantu saya restore web…tadinya sempat bingung…ikut tutorial di salah satu tulisan blogger…ternyata ada yang missing…khususnya bagian msql database…akhirnya nyari2 lagi..nemu tulisannya mba…coba2 lagi…dan walaa…sukses…web saya kembali online… 🙂
jadi sekarang punya pengalaman ngerestore web sendiri…alhamdulillah…terimakasih