Cara Membuat WordPress Menggunakan HTTPS (SSL) Redirect dari HTTP


Awalnya saya cuek blog ini tidak diberi https, saya biarkan saja apa adanya menggunakan http. Toh, ini hanya sekadar blog pribadi saya yang tak ada sangkut pautnya dengan multi akun atau pertukaran data. Sejak awal 2015 saya bertanya-tanya pada diri sendiri, “kenapa akhir-akhir ini banyak website yang saya cari di google banyak menggunakan https? Bahkan blog yang gratis semacam wordpress.com saja pada semua sub-domainnya menggunakan https?”. Lagi-lagi saya cuek dengan hal itu, karena menganggap agar pengguna di WP.com tersebut aman dari serangan hacker.

Diawali dari pembuatan bot di Telegram (artikel mengenai bot ini sedang saya tulis) yang menggunakan metode webhook, mewajibkan menggunakan https dan tentu karena blog ini sudah menggunakan VPS, saya tinggal buatkan saja sertifikat SSL nya menggunakan bawaan dari OpenSSL yakni sertifikat Apache. Namun disatu sisi karena saya ingin membuatkan domain ini menggunakan CDN maka saya daftarkan ke CloudFlare yang tentu pula gratis SSL Comodo, Anda bisa lihat sendiri berikut screenshotnya:

comodo-sslJika Anda menggunakan shared-hosting, pastikan Anda memiliki sertifikat SSL nya agar situs Anda bisa menggunakan https. Anda bisa membeli atau pula mendapatkan gratisan dari CloudFlare. Bicara mengenai SSL saya uraikan sedikit kegunaan SSL tersebut.

Uraian Singkat Mengenai SSL

Saya ambil copas berdasarkan dari artikel di https://www.dedoho.pw/ssl-certificates/ :

SSL Certificates atau dalam bahasa Indonesia diartikan Sertifikat Lapisan Soket Aman adalah protokol dari pihak ketiga yang dikeluarkan oleh Otoritas Sertifikat/Certificate Authority (CA) yang menyediakan saluran komunikasi aman terenkripsi di Internet antara web server dan browser untuk hal-hal seperti penjelajahan web, email, pesan instan, dan transfer data lainnya.

Manfaat menggunakan Sertifikat SSL

  • Melindungi pengguna website Anda dan informasi sensitif mereka Jika pengguna Anda mengakses website Anda di sambungan Internet yang tidak aman, ditempat seperti wi-fi publik atau jaringan yang tidak dienkripsi, akun pengguna Anda mungkin lebih rentan dibajak. Sambungan internet yang aman mampu mencegah pembajakan dengan melindungi sesi cookie. Pembajakan sesi cookie adalah situasi ketika penipu mendapatkan hak akses yang tidak sah ke cookie pengguna Anda dan merebut kontrol dari sesi yang sah saat sesi tersebut masih berlangsung.
  • Meningkatkan kepercayaan dan keyakinan pengguna website Anda Dengan kemampuan Anda memberikan keamanan bagi pengguna website Anda, hal ini tentu saja meningkatkan kepercayaan pengguna sehingga website Anda mempunyai nilai lebih dimata pengguna dibandingkan website kompetitor yang tidak mampu memberikan fasilitas seperti yang Anda berikan. Ketika Anda kepercayaan pengguna telah Anda dapatkan, tentu saja hal ini dapat meminimalisir kehilangan pelanggan sehingga transaksi website Anda akan lebih meningkat dari sebelumnya.
  • Mendapatkan prioritas dari mesin pencarian Google Melalu blog resminya pada bulan Agustus 2014, Google merilis artikel yang berjudul “HTTPS as a ranking signal” yang menyatakan bahwa penggunaan Sertifikat SSL pada sebuah website telah dimasukkan sebagai salah satu dari sekian banyak faktor penentu peringkat website di mesin pencariannya.

Untuk lebih lengkap mengenai SSL ini saya tidak akan menuliskan di sini Anda bisa membacanya ditautan yang saya berikan di atas.

Menjadikan WP Menggunakan HTTPS

  1. Masuk ke WP Admin Anda ganti Address URL dan Site URL yang semula menggunakan http ganti menjadi https.https-situsali
  2. Edit .htaccess seperti kode di bawah ini agar otomatis redirect dari http ke https.
    # BEGIN HTTPS Redirection
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    </IfModule>
    # END HTTPS Redirection
    
    # 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>
  3. Masuk ke PhpMyAdmin atau MySQL/MariaDB Anda dan lakukan perubahan pada isi database WP Anda (NB: Pastikan Anda membackupnya terlebih dahulu). Replace post_content
    UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://domainAnda', 'https://domainAnda')
    Dan juga replace guid
    UPDATE wp_posts SET guid = REPLACE(guid, 'https://domainAnda', 'https://domainAnda')
    Catatan : Pastikan wp_posts sesuai dengan table di database WP Anda.
  4. Tambahkan skrip berikut pada wp-config.php
    define('FORCE_SSL_ADMIN', true);
    define('FORCE_SSL_LOGIN', true);
     if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
         {$_SERVER['HTTPS']='on';}

Tahap Testing

Pastikan semua konten berjalan sebagaimana sebelumnya Anda menggunakan http, karena perbuhan https mengakibatkan perubahan seluruh konten di WP oleh karena itu teslah terlebih dahulu. Terutama bagian wp-admin / wp-login. Jika Anda sudah bisa login artinya WP Anda sudah 100% bisa menggunakan https. Jika belum coba Anda ikuti lagi langkah-langkah di atas.

Kesimpulan

Menggunakan https dapat melindungi website Anda dari serangan hacker, karena dengan adanya https ini cookies Anda telah terenkrip hingga menjadikan website Anda aman. Selain aman dengan https ini menjadikan website kita terprioritas oleh mesin pencarian google sekaligus meningkatkan kepercayaan dan keyakinan pengguna. Perlu adanya sedikit modifikasi WP agar dapat redirect ke https. Anda harus memodifikasi wp-config.php, .htaccess dan merubah isi konten dalam database.