(0275) 2974 127
Memindahkan website WordPress ke hosting baru sering dianggap sebagai pekerjaan yang berisiko. Kesalahan saat memindahkan file, database, konfigurasi, atau DNS dapat menyebabkan website tidak bisa diakses, muncul error database, gambar rusak, hingga pengguna kehilangan akses ke halaman tertentu.
Namun, proses tersebut sebenarnya dapat dilakukan dengan risiko downtime yang sangat kecil apabila migrasi dilakukan secara bertahap. Kuncinya adalah menyiapkan hosting baru terlebih dahulu, menyalin website, melakukan pengujian, kemudian mengarahkan domain ke server baru setelah semuanya siap.
WordPress sendiri tidak mengharuskan pengguna melakukan instalasi ulang ketika website dipindahkan ke server lain. File website dan database dapat dipindahkan ke server baru, kemudian konfigurasi disesuaikan dengan lingkungan hosting yang baru.
Artikel ini akan membahas cara memindahkan WordPress ke hosting baru tanpa downtime secara lengkap, mulai dari persiapan hingga pengecekan setelah DNS berpindah.
Migrasi WordPress ke hosting baru adalah proses memindahkan seluruh komponen website dari server lama ke server baru agar website dapat tetap digunakan pada lingkungan hosting yang berbeda.
Proses ini tidak hanya mencakup pemindahan file WordPress, tetapi juga database, tema, plugin, gambar, media, file konfigurasi seperti wp-config.php, .htaccess, serta berbagai data dan pengaturan lain yang dibutuhkan agar website dapat berjalan seperti sebelumnya.
Jika domain yang digunakan tetap sama, proses perpindahan biasanya lebih sederhana karena alamat website tidak perlu diubah. Dalam kondisi ini, file dan database dapat disalin ke server baru, kemudian konfigurasi database pada WordPress disesuaikan dengan informasi yang diberikan oleh hosting baru.
Setelah seluruh komponen berhasil dipindahkan dan website dapat berjalan dengan baik, DNS domain dapat diarahkan ke server baru. Pendekatan tersebut juga memungkinkan proses perpindahan dilakukan secara bertahap sehingga website lama tetap dapat diakses selama server baru dipersiapkan dan diuji.
Prinsip utama migrasi tanpa downtime adalah jangan langsung mematikan website lama. Website lama tetap berjalan ketika salinan website dibuat di hosting baru. Setelah website di hosting baru selesai dikonfigurasi dan diuji, barulah DNS diarahkan ke server baru.
Dengan metode ini, hosting lama tetap berfungsi sebagai sumber website selama proses perpindahan DNS berlangsung. Secara sederhana, alurnya adalah:
Website Lama → Backup → Hosting Baru → Import Website → Pengujian → DNS Dialihkan → Verifikasi → Hosting Lama Dipertahankan Sementara
Sebelum mulai, penting memahami perbedaan kedua pendekatan tersebut.
| Aspek | Migrasi dengan Downtime | Migrasi Minim/Tanpa Downtime |
|---|---|---|
| Website lama | Dimatikan saat migrasi | Tetap aktif |
| Persiapan server baru | Biasanya terbatas | Disiapkan terlebih dahulu |
| Pengujian | Dilakukan setelah perpindahan | Dilakukan sebelum DNS berpindah |
| Risiko website tidak bisa diakses | Lebih tinggi | Lebih rendah |
| Perpindahan DNS | Dilakukan saat website berhenti | Dilakukan setelah server baru siap |
| Cocok untuk | Website sederhana | Website bisnis, toko online, dan website aktif |
| Strategi utama | Cut-over langsung | Staging → testing → DNS switch |
Perlu dipahami bahwa istilah tanpa downtime tidak berarti seluruh proses selalu bebas dari gangguan dalam semua kondisi.
Propagasi DNS, konfigurasi server, cache, atau perubahan data selama migrasi dapat menyebabkan sebagian pengguna sementara mengakses server lama dan sebagian lainnya sudah mengakses server baru.
Karena itu, target yang lebih realistis adalah membuat perpindahan layanan tanpa penghentian website yang berarti.
Jangan langsung memindahkan website sebelum melakukan persiapan. Semakin lengkap persiapan dilakukan, semakin kecil kemungkinan terjadi masalah ketika DNS mulai diarahkan ke hosting baru.
1. Pastikan Hosting Baru Sudah Siap
Sebelum menyentuh website lama, siapkan hosting baru terlebih dahulu. Periksa beberapa hal seperti:
Pastikan lingkungan hosting baru kompatibel dengan website yang akan dipindahkan. Jika website menggunakan plugin atau tema tertentu yang membutuhkan versi PHP tertentu, periksa kompatibilitasnya terlebih dahulu.
2. Catat Konfigurasi Hosting Lama
Sebelum melakukan migrasi, catat konfigurasi penting dari hosting lama. Contohnya:
| Data | Keterangan |
|---|---|
| Nama database | Database WordPress |
| Username database | User database |
| Host database | Biasanya localhost, tetapi tidak selalu |
| Prefix tabel | Misalnya wp_ |
| Versi PHP | Versi yang digunakan website |
| Versi WordPress | Versi WordPress saat migrasi |
| Versi MySQL/MariaDB | Versi database |
| PHP extensions | Extension yang dibutuhkan |
| Folder instalasi | Lokasi file WordPress |
| IP server lama | Dibutuhkan untuk pengecekan |
| DNS record | A, AAAA, CNAME, MX, dan lainnya |
Data ini membantu ketika melakukan konfigurasi di server baru.
3. Backup WordPress Secara Lengkap
Backup adalah langkah yang tidak boleh dilewati. WordPress merekomendasikan untuk membuat salinan file website dan database sebelum melakukan migrasi. Minimal buat dua jenis backup:
Backup seluruh file WordPress, termasuk:
wp-admin;wp-includes;wp-content;.htaccess;wp-config.php;Folder wp-content sangat penting karena biasanya berisi:
Database menyimpan berbagai data penting seperti:
Database dapat diekspor melalui phpMyAdmin atau metode backup lain yang disediakan hosting. Jangan hanya membackup file WordPress. File dan database harus diperlakukan sebagai dua komponen yang saling melengkapi.
4. Periksa Kondisi Website Sebelum Migrasi
Sebelum memindahkan website, lakukan pemeriksaan terhadap website lama. Periksa:
Tujuannya adalah mengetahui kondisi website sebelum migrasi. Jika setelah pindah terdapat masalah, Anda dapat membandingkannya dengan kondisi sebelum migrasi.
5. Turunkan TTL DNS Jika Diperlukan
DNS menggunakan TTL atau Time to Live untuk menentukan berapa lama informasi DNS dapat disimpan dalam cache resolver.
TTL yang lebih panjang dapat membuat perubahan DNS membutuhkan waktu lebih lama untuk terlihat karena resolver masih menyimpan data lama.
Sebaliknya, TTL yang lebih rendah dapat membantu perubahan DNS diterapkan lebih cepat, meskipun perilakunya tetap bergantung pada resolver dan cache yang digunakan. Jika Anda memiliki kontrol terhadap DNS, TTL dapat diturunkan sebelum migrasi. Contohnya:
Sebelum migrasi: A Record → IP Server LamaKemudian TTL diturunkan sesuai kebutuhan.
Setelah website baru benar-benar siap: A Record → IP Server Baru
Namun, perubahan TTL tidak berarti DNS akan berpindah secara instan ke semua pengguna. Cache yang sudah tersimpan sebelumnya tetap dapat bertahan hingga masa TTL sebelumnya berakhir.
Setelah persiapan selesai, proses migrasi dapat dimulai.
Masuk ke panel hosting baru dan buat database untuk WordPress. Catat:
Informasi tersebut nantinya diperlukan untuk menghubungkan WordPress dengan database. Nama database dan username tidak harus sama dengan hosting lama. Jika berbeda, konfigurasi wp-config.php harus disesuaikan.
Upload seluruh file website WordPress ke hosting baru. Anda dapat menggunakan:
Jika menggunakan arsip ZIP, upload file ZIP terlebih dahulu lalu ekstrak di server agar proses lebih efisien. Pastikan struktur file tidak menjadi salah.
Misalnya, jika website seharusnya berada di public_html/ jangan sampai hasil ekstraksi menjadi public_html/wordpress/wordpress/, sementara domain sebenarnya diarahkan ke public_html/wordpress/.
Struktur folder yang salah dapat menyebabkan website menampilkan error atau halaman tidak ditemukan.
Setelah file selesai diupload, import database yang telah dibackup sebelumnya ke database baru. Jika menggunakan phpMyAdmin:
Jika ukuran database besar, metode import melalui phpMyAdmin mungkin dibatasi oleh konfigurasi server. Dalam kondisi tersebut, metode seperti:
dapat menjadi alternatif. Setelah import selesai, pastikan tabel WordPress tersedia di database.
wp-config.phpFile wp-config.php berisi konfigurasi penting yang digunakan WordPress untuk terhubung ke database. Jika database baru menggunakan nama, username, atau password berbeda, sesuaikan bagian yang relevan. Contoh:
define( 'DB_NAME', 'nama_database_baru' );
define( 'DB_USER', 'username_database_baru' );
define( 'DB_PASSWORD', 'password_database_baru' );
define( 'DB_HOST', 'localhost' );
Nilai DB_HOST tidak selalu localhost, sehingga gunakan nilai yang diberikan oleh provider hosting baru. WordPress juga menjelaskan bahwa wp-config.php perlu disesuaikan ketika database berpindah server atau nama database maupun username database berubah.
Jika Anda hanya mengganti hosting dan tidak mengganti domain, sebaiknya jangan mengubah URL WordPress tanpa alasan.
Misalnya website sebelumnya: https://www.contoh.comMaka website di server baru tetap menggunakan:
https://www.contoh.com
Pendekatan ini membuat migrasi lebih sederhana karena domain dan URL tetap sama. WordPress menyebutkan bahwa ketika database dan URL tetap sama, migrasi ke server baru dapat dilakukan dengan memindahkan file dan database tanpa perlu mengganti URL website.
Ini merupakan salah satu tahap terpenting dalam migrasi tanpa downtime. Jangan langsung mengubah DNS setelah upload file dan database. Website harus diuji terlebih dahulu di server baru. Ada beberapa metode yang dapat digunakan, tergantung konfigurasi hosting.
Menggunakan Temporary URL
Beberapa provider hosting menyediakan temporary URL untuk mengakses website sebelum domain diarahkan. Namun, metode ini tidak selalu ideal karena WordPress dapat memiliki URL absolut, konfigurasi SSL, cookie, redirect, atau konfigurasi plugin yang bergantung pada domain utama.
Menggunakan Hosts File
Cara lain adalah mengarahkan domain pada komputer tertentu ke IP server baru menggunakan file hosts. Dengan cara ini, komputer Anda dapat mengakses: contoh.com → IP server baru sementara pengguna lain tetap mengakses contoh.com → IP server lama . Metode ini sangat berguna untuk melakukan pengujian sebelum DNS publik diubah.
Menggunakan Subdomain
Anda juga dapat membuat subdomain pengujian seperti staging.contoh.com. Namun, metode ini perlu diperhatikan karena URL WordPress dan konfigurasi plugin tertentu dapat bergantung pada domain utama.
Setelah website dapat dibuka dari hosting baru, lakukan pengujian. Jangan hanya memastikan homepage bisa dibuka. Periksa:
| Bagian | Yang Perlu Dicek |
|---|---|
| Homepage | Layout dan konten |
| Artikel | Isi dan gambar |
| Halaman | Semua halaman penting |
| Menu | Link navigasi |
| Gambar | Tidak ada gambar rusak |
| CSS/JS | Tidak ada resource gagal dimuat |
| Plugin | Fungsi plugin berjalan |
| Tema | Tampilan sesuai |
| Form | Pengiriman form |
| Login | Bisa masuk ke WordPress |
| WooCommerce | Produk, cart, checkout |
| Email website berjalan | |
| SSL | HTTPS aktif |
| Permalink | URL artikel berjalan |
| Database | Tidak muncul error koneksi |
Jika ditemukan masalah, perbaiki di server baru sebelum DNS dialihkan.
Salah satu masalah yang cukup sering muncul setelah migrasi adalah halaman atau artikel menampilkan 404. Setelah website berhasil diakses, masuk ke: Dashboard → Settings → Permalinks. Kemudian periksa struktur permalink yang digunakan.
Jika tidak ada perubahan yang diperlukan, Anda dapat menyimpan ulang pengaturan permalink untuk membantu WordPress membangun ulang aturan rewrite. WordPress juga mencatat bahwa konfigurasi rewrite dan .htaccess perlu diperhatikan ketika memindahkan website.
.htaccessJika website menggunakan Apache, file .htaccess dapat berisi aturan penting seperti:
Pastikan file tersebut ikut dipindahkan jika memang digunakan. Contoh aturan permalink WordPress yang umum adalah:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Jangan mengganti .htaccess secara sembarangan jika website memiliki konfigurasi khusus.
Sebelum DNS dipindahkan, pastikan hosting baru sudah memiliki konfigurasi HTTPS yang benar. Periksa: https://contoh.com dan pastikan tidak muncul:
Jika SSL baru belum siap, jangan terburu-buru mengarahkan domain ke server baru.
Setelah website di hosting baru sudah diuji dan dianggap siap, ubah DNS domain agar mengarah ke server baru. Jika menggunakan A record, contohnya:
contoh.com
A
IP-SERVER-LAMA
diubah menjadi:
contoh.com
A
IP-SERVER-BARU
Jika menggunakan www, periksa juga record untuk: www.contoh.comJangan lupa memeriksa record lain yang masih diperlukan, seperti:
Setelah DNS diubah, jangan langsung membatalkan hosting lama. Biarkan hosting lama tetap aktif untuk sementara. Alasannya sederhana: selama DNS berpindah, tidak semua pengguna selalu mendapatkan hasil DNS yang sama pada saat yang persis sama.
Sebagian pengguna mungkin sudah mengarah ke Server Baru, sementara sebagian lainnya masih mendapatkan: Server Lama
Perbedaan ini dapat terjadi karena DNS resolver masih menyimpan informasi lama di cache. Karena itu, server lama berfungsi sebagai cadangan selama masa transisi.
Setelah DNS mulai mengarah ke server baru, lakukan monitoring. Periksa:
Periksa website dari beberapa jaringan jika memungkinkan, misalnya:
Tujuannya untuk melihat apakah resolusi DNS sudah konsisten.
Migrasi website statis relatif mudah. Namun, website yang terus menerima data selama proses migrasi membutuhkan perhatian lebih. Contohnya:
Masalahnya adalah backup database yang dibuat pada pukul 08.00 tidak akan otomatis berisi data yang masuk pada pukul 09.00. Misalnya:
08.00 → Database dibackup
08.30 → Pengguna membuat pesanan
09.00 → DNS dipindahkan
Jika database server baru hanya berasal dari backup pukul 08.00, pesanan pukul 08.30 dapat tidak terdapat di database baru.
Untuk website dengan aktivitas tinggi, salah satu pendekatan adalah melakukan final database synchronization sebelum perpindahan selesai. Alurnya dapat dibuat seperti:
Backup Awal
↓
Copy File
↓
Copy Database
↓
Testing Server Baru
↓
Final Sync Database
↓
DNS Switch
↓
Monitoring
Pada website yang sangat aktif, proses ini mungkin membutuhkan strategi migrasi yang lebih kompleks seperti:
Dengan pendekatan tersebut, perubahan data selama proses migrasi dapat diminimalkan.
Tidak selalu. Jika Anda membuat salinan website ketika website lama masih aktif, kemudian menguji salinan tersebut di hosting baru sebelum DNS dipindahkan, website lama dapat tetap melayani pengunjung.
Inilah prinsip utama migrasi dengan downtime minimal. Namun, untuk website dengan transaksi yang sangat aktif, Anda mungkin membutuhkan mekanisme sinkronisasi data tambahan agar perubahan database setelah backup awal tidak hilang.
Selain metode manual, migrasi WordPress juga dapat dilakukan menggunakan plugin. WordPress Learn menyebutkan beberapa plugin migrasi yang dapat digunakan, termasuk Duplicator, Backup Migration, dan All-in-One WP Migration. Beberapa provider hosting juga menyediakan fitur atau plugin migrasi sendiri. Metode ini dapat mempermudah pengguna yang tidak ingin memindahkan file dan database secara manual.
Secara umum alurnya:
Website Lama
↓
Install Plugin Migrasi
↓
Buat Paket/Backup
↓
Website Baru
↓
Install Plugin
↓
Import
↓
Testing
↓
DNS Switch
| Metode | Kelebihan | Kekurangan |
|---|---|---|
| Manual | Kontrol lebih besar | Membutuhkan pengetahuan teknis |
| Plugin migrasi | Lebih praktis | Bergantung pada plugin dan batas server |
| Fitur migrasi hosting | Sering lebih sederhana | Bergantung provider |
| SSH/CLI | Cepat untuk data besar | Membutuhkan akses dan kemampuan teknis |
Untuk website sederhana, plugin migrasi dapat menjadi pilihan praktis. Untuk website besar atau kompleks, metode manual atau bantuan administrator server dapat memberikan kontrol lebih besar.
1. Mengubah DNS Sebelum Server Baru Siap
Jangan mengubah DNS hanya karena file sudah berhasil diupload. Website harus benar-benar diuji terlebih dahulu.
2. Tidak Membackup Database
File WordPress tanpa database bukanlah salinan website yang lengkap. Pastikan database ikut dibackup.
3. Lupa Menyalin wp-content
Folder ini dapat berisi:
Kehilangan folder ini dapat membuat website tidak tampil seperti sebelumnya.
4. Salah Mengisi wp-config.php
Kesalahan nama database, username, password, atau host database dapat menyebabkan: Error establishing a database connection
5. Menghapus Hosting Lama Terlalu Cepat
Jangan langsung menghapus server lama setelah DNS diganti. Pertahankan hosting lama selama periode verifikasi agar tersedia sebagai fallback apabila terjadi masalah.
6. Mengabaikan Email Domain
Migrasi website tidak selalu berarti email juga harus dipindahkan. Jika email tetap menggunakan provider lama, jangan sembarangan mengubah record MX. Periksa terlebih dahulu layanan apa saja yang menggunakan DNS domain.
7. Mengabaikan Cron Job
Website tertentu memiliki cron job untuk menjalankan tugas otomatis seperti:
Jika cron job sebelumnya dijalankan melalui server lama, pastikan konfigurasi tersebut tersedia di server baru.
8. Tidak Mengecek Plugin dan Tema
Beberapa plugin atau tema dapat bergantung pada:
Karena itu, jangan menganggap website pasti berjalan hanya karena homepage berhasil dibuka.
Tidak ada satu durasi yang berlaku untuk semua website. Waktu migrasi bergantung pada:
Sementara itu, waktu perubahan DNS juga bergantung pada TTL dan cache resolver. Karena itu, jangan menentukan waktu migrasi hanya berdasarkan durasi upload file.
Setelah DNS diubah, Anda dapat memeriksa apakah domain sudah mengarah ke IP server baru.
Misalnya menggunakan nslookup contoh.com atau dig contoh.com
Jika hasilnya menunjukkan IP server baru, berarti resolver yang digunakan sudah mendapatkan record baru. Namun, hasil pada satu perangkat belum tentu berarti seluruh pengguna di internet sudah mendapatkan hasil yang sama.
Perbedaan tersebut dapat terjadi karena setiap resolver memiliki cache masing-masing.
Jika website mengalami masalah setelah DNS diarahkan ke server baru, jangan langsung menghapus server lama. Lakukan pemeriksaan secara sistematis.
Jika muncul “Error Establishing a Database Connection”
Periksa:
DB_HOST;Jika muncul 404
Periksa:
.htaccess;Jika CSS atau JavaScript tidak tampil
Periksa:
Jika gambar hilang
Periksa:
wp-content/uploads;Jika redirect berulang
Periksa:
.htaccess;home dan siteurl.Jika hanya pindah hosting dan domain tetap sama, biasanya URL WordPress tidak perlu diubah. Misalnya:
Hosting lama:
https://contoh.com
Hosting baru:
https://contoh.com
Yang berubah adalah server di belakang domain tersebut, bukan alamat website.
WordPress menyatakan bahwa perpindahan ke server baru dengan domain dan URL yang tetap sama pada dasarnya dapat dilakukan dengan memindahkan file dan database, kemudian menyesuaikan konfigurasi database bila diperlukan.
Berbeda jika Anda sekaligus mengganti domain, misalnya contohlama.com menjadi contohbaru.com
Dalam kondisi tersebut, migrasi menjadi lebih kompleks karena URL dalam database dan konfigurasi website perlu diperbarui secara tepat. WordPress juga membedakan prosedur antara perpindahan server dengan URL yang tetap dan perpindahan yang sekaligus mengubah domain.
Jangan menghapus hosting lama segera setelah DNS berubah. Tunggu sampai:
Setelah periode verifikasi selesai dan Anda yakin server lama tidak lagi diperlukan, barulah layanan hosting lama dapat dihentikan.
Agar proses pemindahan berjalan lebih lancar, terapkan beberapa kebiasaan berikut:
Jika diringkas, proses migrasi WordPress ke hosting baru tanpa downtime dapat dilakukan dengan alur berikut:
1. Audit Website Lama
↓
2. Siapkan Hosting Baru
↓
3. Backup File + Database
↓
4. Buat Database Baru
↓
5. Upload File WordPress
↓
6. Import Database
↓
7. Sesuaikan wp-config.php
↓
8. Aktifkan SSL
↓
9. Test Website di Server Baru
↓
10. Perbaiki Semua Error
↓
11. Pastikan DNS Siap
↓
12. Arahkan DNS ke Server Baru
↓
13. Monitoring
↓
14. Pertahankan Server Lama Sementara
↓
15. Hapus Server Lama Setelah Aman
Dengan alur tersebut, perpindahan server tidak perlu dilakukan dengan cara mematikan website terlebih dahulu.
Memindahkan WordPress ke hosting baru tanpa downtime membutuhkan persiapan yang matang. Mulai dari melakukan backup file dan database, menyiapkan server baru, menyesuaikan konfigurasi, menguji website, hingga mengarahkan DNS setelah semuanya siap.
Untuk website yang aktif menerima transaksi atau data pengguna, proses sinkronisasi perlu diperhatikan agar tidak ada data yang tertinggal. Selama server lama tetap dipertahankan sementara dan proses migrasi dilakukan secara bertahap, risiko downtime dapat ditekan.
Jika membutuhkan layanan domain dan hosting, Anda dapat mempertimbangkan Hosteko Hosting Indonesia. Untuk informasi dan panduan seputar website, hosting, dan teknologi digital, kunjungi Blog Hosteko.
Kebutuhan menyimpan foto, video, dokumen, dan berbagai file digital terus meningkat seiring penggunaan smartphone dan…
Mengganti domain WordPress bukan sekadar mengganti alamat website dari domain lama ke domain baru. Jika…
Sudah meletakkan HP jauh dari tempat tidur, tetapi beberapa menit kemudian mengambilnya lagi? Salah satu…
WordPress pada dasarnya menyediakan beberapa jenis konten seperti Post dan Page. Namun, kebutuhan sebuah website…
Perkembangan cloud computing, microservices, container, Kubernetes, dan DevOps membuat pengembangan aplikasi semakin fleksibel. Namun, semakin…
Salah satu cara praktis untuk mengurangi kebiasaan scrolling sebelum tidur adalah menjauhkan HP dari tempat…