Setelah beberapa hari yang lalu menulis mengenai concern saya untuk migrasi blog yang lama di herwin.wordpress.com ke herwinlab.com, pada 23 Desember kemarin saya sudah berhasil melakukan migrasi. Berikut akan saya tuliskan panduan langkah-langkah migrasi wordpress dari wordpress.com ke wordpress.org (hosting sendiri):
- Backup file dan database blog baru (wordpress.org)
Saya sudah memulai blog yang baru di herwinlab.com sebelum memutuskan untuk mengimport seluruh content dari blog saya yang lama. Maka dari itu penting untuk membuat backup dari blog yang baru sebagai antisipasi jika ada kegagalan selama proses migrasi. Export database MySQL yang digunakan untuk wordpress dan compress semua file wordpress lalu download. - Pastikan hasil backup tidak corrupt
Ini sangat penting, jangan sampai Anda menyesal. Pastikan hasil backup, baik file maupun database tidak corrupt. Saya melewatkan langkah ini kemarin, karena saya sudah percaya bahwa backup berhasil, ternyata hasil export database saya corrupt. Ketika ada momen dimana saya berpikir, “Ok rollback aja”, dennggg.. Database corrupt. Untungnya hal yang membuat saya berpikir untuk rollback database bukan hal fatal sehingga masih bisa diusahakan manual. - Export content dari blog lama (wordpress.com)
Masuk ke menu Tools lalu Export. Pilih content apa yang ingin Anda bawa ke blog baru. Saya mengexport semua content, maka saya pilih All content, lalu tekan Download Export File. Hasil export akan dikirim ke email berupa link, tinggal klik, lalu download. - Import content di blog baru
Masuk ke menu Tools lalu Import. Pilih file XML yang akan diimport, lalu tentukan user dari blog lama akan dimapping ke user mana di blog baru. Lalu jalankan proses import.
Bagian ini sangat menegangkan buat saya. Proses import yang saya lakukan berulang-ulang kali gagal karena “Connection timed out” sehingga hanya sebagian content yang terimport. Ditambah ketika saya ingin melakukan rollback, database yang saya backup ternyata rusak (poin 2).
Berikut tips migrasi WordPress supaya lebih lancar:
a. Setting server Anda agar siap memproses pekerjaan berat. Kalau melalui cPanel, masuk ke menu Select PHP Version, lalu pilih Switch to PHP options. Pastikan parameter seperti max_execution_time, memory_limit, dan upload_max_filesize sesuai dengan kebutuhan proses import. Gampangnya set saja ke nilai tertinggi, tapi jangan lupa setelah selesai dikembalikan ke nilai semula. Jika beruntung (content yang diimport tidak terlalu banyak), proses import akan langsung berhasil.
b. Karena content saya cukup banyak, proses import tetap gagal karena connection timed out. Saya cukup panik saat itu karena content hanya masuk sebagian, saya takut jika saya import lagi akan terjadi duplicate content yang cukup banyak dan merepotkan. Ketika itu saya berpikir untuk rollback namun gagal. Saya sempat membersihkan content yang masuk secara manual. Lalu saya coba import lagi, dan… gagal lagi.
Saya mencoba mencari-cari apa yang salah, dan menemukan sebuah kabar gembira. Import berkali-kali tidak akan menimbulkan duplicate content. Proses import oleh wordpress sudah cukup baik, content yang sudah ada (berhasil diimport sebelumnya) tidak ada diimport lagi. Jadi solusinya adalah, import saja terus berkali-kali. Saya melakukan kurang lebih 5-6 kali import sampai semua content saya masuk, dan ketika sudah tuntas akan mucul summary import sekaligus pemberitahuan bahwa import sudah selesai. - Aktifkan fitur redirect site dari wordpress.com ke domain baru
Setelah proses import sukses, arahkan traffic yang masuk ke blog lama (wordpress.com) ke domain baru dengan mengaktifkan fitur Site Redirect. Pilih domain yang baru sebagai Primary Domain. Dengan begitu semua traffic ke blog lama akan diarahkan ke primary domain yang kita pilih. Dan bagusnya redirect ini post per post, page per page, sehingga traffic yang datang yang masih mengarah ke domain lama akan langsung masuk ke content yang dituju pada domain baru. Hal ini membantu pengunjung mendapatkan apa yang mereka cari, dan juga mempertahankan SEO dari domain yang lama. Ada syaratnya, struktur permalink lama dan baru harus sama, kalau tidak, akan jadi 404 not found di domain baru. - Trik 301 redirect di domain baru jika struktur permalink berubah (htaccess)
Nah, berhubung struktur permalink saya tidak sama, di herwin.wordpress.com saya menggunakan struktur permalink /%year%/%monthnum%/%day%/%postname%/, sementara di herwinlab.com menggunakan struktur /%postname%/ saja, maka saya harus men-translate URL request yang masuk berupa year, month, day, dan postname menjadi hanya postname saja.
Berikut ini cara untuk mengubah URL permalink /%year%/%monthnum%/%day%/%postname%/ menjadi /%postname%/, tambahkan pada .htaccess:RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://www.DOMAINBARU.com/$4
Untuk case lain, bisa gunakan tools bantuan dari Yoast untuk men-generate code htaccess nya. - Trik jika comment count 0 (tidak terhitung) setelah import
Saya bahas di tulisan terpisah ya.
Demikian proses saya menjalankan migrasi WordPress dari wordpress.com ke self hosted wordpress (wordpress.org), semoga membantu!
Pingback: Migrasi Wordpess.com ke Hosting Sendiri (WordPress.org) – Herwin Lab
Pingback: Comment Count 0 Setelah Import WordPress – Herwin Lab