15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
10.10.2024

Cara Menginstal Sertifikat SSL di Situs WordPress Anda

Sebuah sertifikat SSL (Secure Sockets Layer / TLS) adalah protokol kriptografi yang mengenkripsi data dalam transit antara server web dan browser. Pada situs WordPress, menginstal SSL berarti setiap permintaan HTTP dialihkan ke HTTPS, browser menampilkan ikon gembok, dan data sensitif — kredensial login, pengiriman formulir, detail pembayaran — berjalan melalui saluran terenkripsi, bukan teks biasa.

Khusus untuk WordPress, instalasi SSL melibatkan tiga lapisan yang berbeda: menyediakan sertifikat di tingkat server atau hosting, mengonfigurasi WordPress itu sendiri untuk menyajikan semua aset melalui HTTPS, dan menghilangkan peringatan konten campuran yang secara diam-diam merusak konteks aman. Lewatkan salah satu dari ini dan situs Anda akan menampilkan gembok rusak, memicu peringatan keamanan browser, atau gagal validasi HTTPS sepenuhnya.

Langkah 1: Pilih Jenis Sertifikat SSL yang Tepat

Tidak semua sertifikat SSL menawarkan tingkat validasi atau sinyal kepercayaan yang sama. Memilih jenis yang salah adalah kesalahan umum yang membuang uang atau, sebaliknya, kurang melindungi situs yang menangani transaksi sensitif.

Perbandingan Tingkatan Validasi

Jenis SertifikatTingkat ValidasiWaktu PenerbitanTerbaik UntukSinyal Kepercayaan Browser
**Domain Validated (DV)**Kepemilikan domain sajaMenit hingga jamBlog, situs pribadi, lingkungan pengembanganIkon gembok
**Organization Validated (OV)**Domain + entitas hukum1–3 hari kerjaSitus bisnis, portal SaaSGembok + detail organisasi dalam sertifikat
**Extended Validation (EV)**Verifikasi hukum + operasional penuh1–5 hari kerjaE-commerce, perbankan, portal kepercayaan tinggiGembok + nama organisasi (beberapa browser)
**Wildcard DV/OV**Domain + semua subdomainMenit hingga hariPenerapan multi-subdomainGembok
**Multi-Domain (SAN)**Beberapa domain yang berbedaMenit hingga hariAgensi yang mengelola beberapa propertiGembok

SSL Gratis vs. Berbayar

Let's Encrypt menerbitkan sertifikat DV gratis dan otomatis yang berlaku selama 90 hari dengan dukungan pembaruan otomatis melalui protokol ACME. Sertifikat ini dipercaya oleh semua browser utama dan merupakan pilihan yang tepat untuk sebagian besar situs WordPress. Jangka waktu validitas yang singkat disengaja — ini memaksa otomatisasi dan mengurangi jendela risiko sertifikat yang disusupi.

SSL gratis Cloudflare beroperasi secara berbeda: ini mengenkripsi koneksi antara pengunjung dan edge Cloudflare, tetapi koneksi antara Cloudflare dan server asal Anda mungkin masih tidak terenkripsi kecuali Anda mengonfigurasi mode Full (Strict) dengan sertifikat asal yang valid. Ini adalah kasus tepi yang sering disalahpahami yang menciptakan rasa aman yang palsu.

Sertifikat berbayar dari CA komersial (DigiCert, Sectigo, GlobalSign) diperlukan ketika Anda membutuhkan validasi OV atau EV, garansi, atau konfigurasi SAN/Wildcard tertentu yang tidak didukung oleh Let's Encrypt.

Jika Anda perlu membeli sertifikat tepercaya untuk domain Anda, AlexHost menyediakan Sertifikat SSL dengan penerbitan dan pengelolaan langsung dari panel akun Anda.

Langkah 2: Instal Sertifikat SSL di Tingkat Hosting

Sertifikat harus diinstal di server web sebelum WordPress dapat menyajikan respons HTTPS. Metodenya bergantung pada lingkungan hosting Anda.

Menginstal SSL melalui cPanel (Hosting Bersama dan VPS)

cPanel adalah panel kontrol yang paling umum untuk lingkungan bersama dan terkelola. Jika host Anda menggunakan AutoSSL (didukung Sectigo) atau mendukung Let's Encrypt secara native, satu klik menyediakan dan memperbarui sertifikat secara otomatis.

Langkah instalasi manual ketika Anda memiliki file sertifikat dari CA:

  1. Masuk ke cPanel dan navigasikan ke Security > SSL/TLS.
  2. Klik Manage SSL Sites.
  3. Pilih domain target dari menu dropdown.
  4. Tempelkan isi tiga file ke dalam kolom yang sesuai:
  • Certificate (CRT): Sertifikat yang ditandatangani dari CA Anda.
  • Private Key (KEY): Dibuat selama pembuatan CSR — jangan pernah bagikan ini.
  • Certificate Authority Bundle (CABUNDLE): Sertifikat rantai perantara.
  1. Klik Install Certificate.

Jika Anda menjalankan WordPress pada VPS dengan cPanel, AutoSSL biasanya menangani ini secara otomatis untuk semua domain di WHM. Verifikasi di bawah WHM > SSL/TLS > Manage AutoSSL bahwa domain tercakup dan sertifikat tidak dalam status tertunda atau gagal.

Menginstal SSL pada VPS dengan Apache (Metode Manual)

Pada VPS Linux yang dikelola sendiri yang menjalankan Apache, prosesnya memerlukan pengeditan konfigurasi virtual host secara langsung.

Instal Certbot (klien Let's Encrypt) pada Debian/Ubuntu:

sudo apt update
sudo apt install certbot python3-certbot-apache -y

Dapatkan dan instal sertifikat secara otomatis:

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot memodifikasi konfigurasi virtual host Apache Anda, menginstal sertifikat, dan menyiapkan cron job atau systemd timer untuk pembaruan otomatis. Verifikasi bahwa timer pembaruan aktif:

sudo systemctl status certbot.timer

Untuk Nginx pada VPS:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Instalasi sertifikat manual pada Apache (saat menggunakan sertifikat CA berbayar):

Tempatkan file sertifikat Anda di direktori yang aman, lalu edit virtual host Anda:

<VirtualHost *:443>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile      /etc/ssl/certs/yourdomain.crt
    SSLCertificateKeyFile   /etc/ssl/private/yourdomain.key
    SSLCertificateChainFile /etc/ssl/certs/yourdomain_ca_bundle.crt
</VirtualHost>

Restart Apache untuk menerapkan:

sudo systemctl restart apache2

Jika Anda mengelola instalasi WordPress dengan lalu lintas tinggi pada Dedicated Server, Anda memiliki kendali penuh atas cipher suite, header HSTS, dan OCSP stapling — konfigurasi yang tidak mungkin dilakukan pada hosting bersama.

Menginstal SSL pada VPS dengan Nginx (Metode Manual)

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate     /etc/ssl/certs/yourdomain.crt;
    ssl_certificate_key /etc/ssl/private/yourdomain.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 1.1.1.1 valid=300s;

    root /var/www/html;
    index index.php;
}

Muat ulang Nginx setelah mengedit:

sudo nginx -t && sudo systemctl reload nginx

Langkah 3: Paksa HTTPS di Tingkat Server dengan Pengalihan 301

Sebelum menyentuh pengaturan WordPress, terapkan pengalihan HTTP-ke-HTTPS di tingkat server. Ini lebih andal daripada hanya mengandalkan WordPress atau plugin, dan mencegah browser memuat versi HTTP sama sekali.

Apache: .htaccess Pengalihan

Buka file .htaccess Anda (terletak di root WordPress Anda, biasanya /var/www/html/.htaccess atau dapat diakses melalui cPanel File Manager) dan tambahkan blok berikut di atas aturan penulisan ulang WordPress yang sudah ada:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Jebakan kritis: Jika Anda menempatkan blok ini *setelah* penanda # BEGIN WordPress, blok tersebut mungkin akan ditimpa oleh pembaruan inti WordPress. Selalu tempatkan aturan pengalihan tingkat server di atas blok yang dikelola WordPress.

Nginx: Pengalihan Server Block

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

Header HSTS (Lanjutan, Direkomendasikan)

Setelah Anda yakin pengaturan HTTPS Anda stabil, tambahkan header HTTP Strict Transport Security untuk menginstruksikan browser agar tidak pernah mencoba koneksi HTTP:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Peringatan: Jangan aktifkan HSTS dengan preload sampai Anda yakin setiap subdomain juga memiliki sertifikat SSL yang valid. Preloading tidak dapat dibatalkan dalam jangka pendek dan akan merusak subdomain yang tidak memiliki HTTPS yang dikonfigurasi.

Langkah 4: Perbarui WordPress untuk Menyajikan Semua Konten Melalui HTTPS

Dengan sertifikat yang terinstal dan pengalihan tingkat server yang sudah ada, WordPress itu sendiri harus diberitahu untuk menghasilkan URL HTTPS untuk semua tautan internal, aset, dan endpoint API.

Opsi A: Perbarui URL Situs WordPress Secara Manual

  1. Buka Settings > General di dasbor admin WordPress Anda.
  2. Ubah WordPress Address (URL) dan Site Address (URL) dari http:// menjadi https://.
  3. Klik Save Changes.

WordPress akan mengeluarkan Anda segera setelah menyimpan. Masuk kembali menggunakan URL HTTPS.

Opsi B: Perbarui URL melalui wp-config.php

Jika Anda terkunci dari panel admin atau lebih suka pendekatan berbasis kode, tambahkan baris ini ke wp-config.php sebelum baris /* That's all, stop editing! */:

define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');

Opsi C: Perbarui URL HTTP yang Dikodekan Keras di Database

WordPress menyimpan URL di database, termasuk data terserialisasi dalam tabel post meta dan options. Pencarian dan penggantian sederhana pada SQL mentah dapat merusak array terserialisasi. Gunakan WP-CLI untuk penggantian yang aman dan sadar serialisasi:

wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --skip-columns=guid --all-tables

Flag --skip-columns=guid mempertahankan GUID posting, yang tidak boleh diubah sesuai praktik terbaik WordPress. Jalankan ini dari direktori root WordPress Anda dengan kredensial database yang sesuai yang dikonfigurasi di wp-config.php.

Sebagai alternatif, plugin Better Search Replace melakukan operasi yang sama melalui UI admin dengan dukungan serialisasi.

Langkah 5: Perbaiki Peringatan Konten Campuran

Peringatan konten campuran terjadi ketika halaman HTTPS memuat satu atau lebih sumber daya (gambar, skrip, stylesheet, iframe) melalui HTTP. Ini merusak konteks aman, menyembunyikan gembok, dan dalam beberapa kasus menyebabkan browser memblokir sumber daya sepenuhnya.

Mendiagnosis Konten Campuran

Buka alat pengembang browser Anda (F12), buka tab Console, dan cari peringatan yang diawali dengan Mixed Content:. Pesan tersebut akan mengidentifikasi URL sumber daya yang menyebabkan masalah.

Sebagai alternatif, gunakan alat Why No Padlock? atau jalankan pemindaian SSL Labs untuk mendapatkan laporan lengkap.

Memperbaiki Konten Campuran: Metode Plugin

Really Simple SSL adalah plugin yang paling banyak digunakan untuk tujuan ini. Setelah aktivasi, plugin ini:

  • Mengatur variabel server HTTPS untuk memaksa WordPress mengenali koneksi aman.
  • Menambahkan filter konten berbasis JavaScript untuk menulis ulang URL HTTP secara langsung.
  • Secara opsional menghapus aturan penulisan ulang dan memperbarui URL situs.

SSL Insecure Content Fixer menawarkan kontrol yang lebih terperinci, memungkinkan Anda memilih antara penggantian buffer output sederhana dan pendekatan hook filter WordPress yang lebih dalam — berguna ketika metode JavaScript Really Simple SSL menyebabkan masalah rendering dengan pembuat halaman tertentu.

Memperbaiki Konten Campuran: Metode Manual

Untuk URL HTTP yang dikodekan keras dalam file tema atau plugin kustom, cari direktori tema Anda:

grep -r "http://yourdomain.com" /var/www/html/wp-content/themes/your-theme/

Ganti semua kemunculan dengan https:// atau, lebih baik, gunakan URL relatif protokol (//yourdomain.com/...) untuk sumber daya pihak ketiga di mana Anda tidak dapat menjamin ketersediaan HTTPS.

Untuk media yang diunggah sebelum migrasi SSL, jalankan perintah WP-CLI search-replace dari Langkah 4 jika Anda belum melakukannya, karena URL lampiran gambar disimpan dalam tabel wp_posts dan wp_postmeta.

Langkah 6: Validasi Instalasi SSL

Jangan pernah berasumsi instalasi berhasil — verifikasi secara sistematis.

Tes SSL Labs

Navigasikan ke https://www.ssllabs.com/ssltest/ dan masukkan domain Anda. Situs WordPress yang dikonfigurasi dengan benar harus mendapatkan skor A atau A+. Rating A+ memerlukan:

  • Dukungan TLS 1.2 dan 1.3 dengan TLS 1.0 dan 1.1 dinonaktifkan.
  • Cipher suite yang kuat (tanpa RC4, tanpa 3DES).
  • Header HSTS ada.
  • OCSP stapling diaktifkan.
  • Tidak ada masalah rantai (sertifikat perantara terinstal dengan benar).

Verifikasi Browser

Klik ikon gembok di bilah alamat. Di Chrome, navigasikan ke Connection is secure > Certificate is valid untuk mengonfirmasi penerbit, tanggal validitas, dan Subject Alternative Names (SAN) sesuai dengan domain Anda.

Verifikasi Baris Perintah

openssl s_client -connect yourdomain.com:443 -servername yourdomain.com

Ini menampilkan rantai sertifikat lengkap, cipher yang dinegosiasikan, dan versi TLS. Cari Verify return code: 0 (ok) untuk mengonfirmasi rantai dipercaya.

Periksa Kedaluwarsa Sertifikat

echo | openssl s_client -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates

Untuk sertifikat Let's Encrypt, verifikasi juga bahwa uji coba pembaruan otomatis berfungsi:

sudo certbot renew --dry-run

Langkah 7: Penguatan Pasca-Instalasi dan Pembersihan SEO

Perbarui Google Search Console

Tambahkan versi HTTPS situs Anda sebagai properti baru di Google Search Console. Google memperlakukan http:// dan https:// sebagai properti terpisah. Kirimkan sitemap HTTPS Anda (https://yourdomain.com/sitemap.xml) untuk mempercepat perayapan ulang URL yang diperbarui.

Perbarui Sitemap dan Tag Kanonik Anda

Pastikan sitemap XML Anda (yang dihasilkan oleh Yoast SEO, Rank Math, atau sejenisnya) hanya menampilkan URL HTTPS. Periksa bahwa tag kanonik di <head> tema Anda merujuk ke HTTPS. Tag kanonik yang menunjuk ke versi HTTP dari sebuah halaman akan membingungkan crawler meskipun pengalihan 301 sudah ada.

Beri Tahu Google tentang Perubahan

Di Google Search Console, gunakan alat Change of Address hanya jika Anda telah bermigrasi ke domain yang sepenuhnya baru. Untuk migrasi HTTP-ke-HTTPS pada domain yang sama, pengalihan 301 menangani transfer sinyal — tidak diperlukan alat perubahan alamat.

Pertimbangan WordPress Multisite

Pada jaringan WordPress Multisite, Anda harus memperbarui nilai siteurl dan home dalam tabel wp_siteurl dan wp_blogs untuk setiap subsite, bukan hanya situs utama. WP-CLI menangani ini per situs:

wp search-replace 'http://subdomain.yourdomain.com' 'https://subdomain.yourdomain.com' --url=subdomain.yourdomain.com --all-tables

Matriks Keputusan Praktis: Metode SSL Mana yang Digunakan

Lingkungan Hosting AndaMetode SSL yang DirekomendasikanPembaruanUpaya
Shared hosting dengan cPanelAutoSSL atau Let's Encrypt melalui cPanelOtomatisMinimal
VPS Hosting dengan Apache/NginxCertbot (Let's Encrypt)Otomatis melalui systemd timerRendah
VPS dengan cPanel/WHMAutoSSL di WHMOtomatisMinimal
Dedicated ServerCertbot atau sertifikat CA berbayarManual atau otomatisSedang
Domain yang diproksikan CloudflareCloudflare SSL + sertifikat OriginOtomatis (Cloudflare)Rendah (tetapi verifikasi mode Full Strict)
Situs E-commerce / kepercayaan tinggiSertifikat OV atau EV berbayarPembaruan manual tahunanTinggi

Poin Teknis Utama

  • Instalasi sertifikat dan konfigurasi WordPress adalah langkah yang terpisah. Sertifikat yang diinstal di tingkat server tidak secara otomatis membuat WordPress menghasilkan URL HTTPS. Keduanya harus dikonfigurasi.
  • Konten campuran adalah kegagalan pasca-migrasi yang paling umum. Jalankan search-replace database dengan WP-CLI sebelum mengaktifkan plugin SSL apa pun untuk menangkap URL HTTP yang dikodekan keras dari sumbernya.
  • Pembaruan otomatis Let's Encrypt harus diverifikasi, bukan diasumsikan. Jalankan certbot renew --dry-run setelah pengaturan awal dan pantau tanggal kedaluwarsa. Pembaruan yang gagal secara diam-diam merusak situs Anda 90 hari kemudian.
  • HSTS adalah pintu satu arah. Jangan tetapkan max-age yang panjang atau aktifkan preload sampai setiap subdomain memiliki sertifikat yang valid dan Anda berkomitmen untuk HTTPS secara permanen.
  • SSL gratis Cloudflare tidak dienkripsi end-to-end secara default. Atur mode SSL/TLS ke Full (Strict) dan instal sertifikat origin di server Anda untuk menutup celah tersebut.
  • Pada shared hosting, verifikasi bahwa SSL penyedia hosting Anda mencakup domain apex (yourdomain.com) dan subdomain www. Sertifikat yang hanya diterbitkan untuk satu akan menghasilkan kesalahan ketidakcocokan nama pada yang lain.
  • Data terserialisasi dalam database WordPress tidak dapat diperbarui dengan aman menggunakan SQL REPLACE() mentah. Selalu gunakan WP-CLI atau plugin yang sadar serialisasi.

Untuk situs yang dihosting pada Shared Web Hosting, jalur tercepat menuju SSL adalah mengaktifkan AutoSSL atau Let's Encrypt melalui cPanel — seluruh proses membutuhkan waktu kurang dari lima menit dan tidak memerlukan akses baris perintah. Untuk penerapan yang lebih kompleks yang memerlukan konfigurasi cipher kustom, OCSP stapling, atau sertifikat multi-domain, VPS dengan panel kontrol yang dapat dikonfigurasi memberi Anda akses tingkat server yang diperlukan.

FAQ

Apakah menginstal sertifikat SSL secara langsung meningkatkan peringkat Google saya?

Google mengonfirmasi HTTPS sebagai sinyal peringkat pada tahun 2014. Peningkatan peringkat langsung bersifat sederhana, tetapi manfaat tidak langsung — pengurangan bounce rate dari peringatan keamanan browser, kelayakan untuk HTTP/2 dan HTTP/3, dan kepercayaan pengguna — memiliki efek kumulatif yang terukur pada performa organik.

Apa perbedaan antara SSL dan TLS?

SSL (Secure Sockets Layer) adalah pendahulu yang sudah usang dari TLS (Transport Layer Security). Semua sertifikat modern menggunakan TLS 1.2 atau 1.3. Istilah “sertifikat SSL” bertahan sebagai singkatan industri, tetapi tidak ada browser atau server yang menggunakan SSL sebenarnya sejak 2015. Jika server Anda masih menerima SSLv3 atau TLS 1.0, nonaktifkan segera — keduanya rentan terhadap serangan POODLE dan BEAST.

Mengapa situs saya masih menampilkan “Not Secure” setelah menginstal sertifikat?

Penyebab paling umum adalah kesalahan konten campuran: setidaknya satu sumber daya di halaman memuat melalui HTTP. Buka alat pengembang browser, periksa Console untuk peringatan konten campuran, dan gunakan WP-CLI search-replace atau plugin Really Simple SSL untuk menulis ulang URL yang bermasalah. Penyebab sekunder adalah URL Situs WordPress di Settings > General masih menunjuk ke http://.

Bagaimana cara memperbarui sertifikat Let's Encrypt sebelum kedaluwarsa?

Certbot menginstal systemd timer atau cron job yang mencoba pembaruan secara otomatis ketika sertifikat berada dalam 30 hari dari kedaluwarsa. Untuk memaksa pembaruan segera, jalankan sudo certbot renew --force-renewal. Untuk menguji tanpa membuat perubahan, jalankan sudo certbot renew --dry-run. Periksa log pembaruan di /var/log/letsencrypt/letsencrypt.log jika pembaruan gagal.

Bisakah saya menginstal SSL pada WordPress tanpa akses ke server atau cPanel?

Ya, melalui Cloudflare. Tambahkan domain Anda ke Cloudflare, arahkan nameserver Anda ke nameserver Cloudflare, dan aktifkan pengaturan SSL/TLS. Jalur pengunjung-ke-Cloudflare dienkripsi segera. Namun, atur mode ke Full (Strict) dan instal Cloudflare Origin Certificate di server Anda untuk juga mengenkripsi jalur Cloudflare-ke-origin. Tanpa ini, koneksi antara Cloudflare dan server Anda tetap tidak terenkripsi, yang merupakan celah keamanan signifikan pada situs mana pun yang menangani data pengguna.

15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai