Wordpress merupakan CMS populer yang cukup banyak digunakan orang. Meskipun WP ini memang awal diciptakan sebagai CMS yang digunakan untuk blog. Dikarenakan kepopuleran WP inilah menyebabkan WP tak hanya dapat digunakan sebagai CMS untuk blogging tetapi juga untuk keperluan website lainnya seperti website berita, forum atau bahkan hanya sekadar website portofolio suatu project.

Tulisan kali ini saya mencoba membagi tips sederhana bagaimana cara memigrasikan WP dari localhost ke hosting yang Anda pergunakan saat ini, yang mana tujuanya adalah untuk meng-online-kannya.?

Perhatian

Pada tulisan ini, saya memberikan contoh dan tangkapan layar (screenshot) pada mesin saya yang menggunakan GNU/Linux dengan distro Ubuntu Gnome 16.04 LTS. Jika Anda pengguna sistem operasi lainnya seperti Windows ataupun MacOS, artikel ini masih tetap sama dapat diimplementasikan pada mesin Anda, hanya saja ada sedikit perbedaan dalam hal aplikasi seperti Explorer di Windows, Finder di MacOS sedang prakteknya saya menggunakan Nautilus begitu juga kompresi berkas saya menggunakan File Roller.

Tahap Persiapan

* Pastikan Apache/Nginx dan MySQL/Mariadb Anda sudah aktif dan Wordpress dalam _localhost_ Anda tidak ada masalah atau sudah siap tahap produksi.
* Pastikan koneksi Internet Anda bagus agar nantinya pada saat proses pengunggahan (upload) tidak terkendala terutama saat mengunggah _database_.
* Bagi Anda pengguna Windows pastikan mempunyai aplikasi pengkompres berkas (_compressor)_ seperti <a href="https://www.7-zip.org/download.html" target="_blank" rel="noopener">7zip</a>, <a href="https://www.rarlab.com/download.htm" target="_blank" rel="noopener">Winrar</a>, <a href="https://www.winzip.com/win/en/downwz.html" target="_blank" rel="noopener">Winzip</a>, dan sebagainya.
* Memiliki Hosting yang ber-Cpanel karena praktiknya di sini sesuai judul dengan Cpanel.

Praktik

* Buka `phpMyAdmin` yang berada dalam `localhost`.
* Pilih database `WP` Anda yang ingin dimigrasikan ke _hosting_.
* Sunting dan ganti isi _database_ `WP` Anda pada _table_ `wp_posts` di _field_ `guid` disesuaikan dengan lokasi dari _domain_ Anda.
UPDATE wp_posts SET guid = REPLACE(guid, 'https://localhost', 'https://domainAnda')
wp-migrasi-ss-1 * Untuk memastikan di dalam _content_ atau _posting_ `wordpress` tidak ada tautan (_link_) yang mengandung tautan lama dari `localhost`, ada kiranya perlu juga dirubah (di-_replace_) _content_ di _table_ `wp_posts` pada _field_ `post_content`.
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://localhost', 'https://domainAnda')
* Kemudian, masih sekitar _databases_, ubah pula pada _table_ `wp_options` di _field_ `siteurl` dan `home`.
wp-migrasi-ss-2 * Lalu ekspor _database_ `WP` tersebut yang tadi telah kita ubah. wp-migrasi-ss-3 * Masuk ke `Cpanel`, lalu buka `MySQL ® Databeses` dan buat **nama** _databases_nya contohnya `domainAnda_wpku`. wp-migrasi-ss-mysql wp-migrasi-ss-4 * Lalu buat juga**_ username_** dan **_password_** untuk mengakses _table database_ `WP`. wp-migrasi-ss-5 * Buat _permission_ pada `username` _database_ yang telah Anda buat tadi. wp-migrasi-ss-6 * Impor _databases_ `WP` Anda dari `phpMyAdmin` di _hosting_ Anda. wp-migrasi-phpmyadminwp-migrasi-phpmyadmin-2 * Masuk ke `localhost` kembali kompres seluruh berkas `wordpress` Anda ke `zip`.** PENTING!** Bagi Anda pengguna **GNU/Linux** pastikan sebelum mengkompres berkas,_ set permission_nya terlebih dahulu yakni untuk **berkas** `644` dan **direktori** `755`. Caranya sebagai berikut:
cd /alamat/web/Anda
sudo find . -type f -exec chmod 0644 {} \;
sudo find . -type d -exec chmod 0755 {} \;
* Unggah (_upload_) berkas tersebut di `Cpanel` pada `File Manager` di _hosting_ Anda, taru di direktori `public_html`.

wp-migrasi-filemanagerwp-migrasi-fm-1 * Sunting (edit) berkas wp-config.php, disesuaikan dengan** nama database, username dan password database** yang sebelumnya telah dibuat di Cpanel. wp-migrasi-wpconfig * Opsional jika Anda menggunakan pretty URL ubah atau sunting pula pada berkas .htaccess.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
* Lakukan pengetesan, pastikan tidak ada tautan (_link_) dari sisi `post`, `pages` dan isi tautan dalam `post` tidak ada yang salah.

Video Tutorial

Untuk mempermudah praktik di atas saya sediakan video tutorialnya pula:

Semoga bermanfaat ?