WordPress sitenizde SSL sertifikanız olmasına rağmen “Güvenli Değil” uyarısı mı alıyorsunuz? Bu yazımızda “mixed content” yani sitenizde SSL sertifikası olmasına rağmen SSL sertifikanızın tam olarak düzgün bir şekilde çalışmamasının çözümlerini anlatacağız. WordPress SSL hatası çözümü başlıklı yazımızda wordpress SSL kurulumu, wp-admin ekranında yaşanan SSL sorunu, wp-config yardımıyla SSL sorununu çözme gibi bir çok alt başlıkta detaylı anlatımla sorununuzu çözmeye yardımcı olacağız.
WordPress SSL Hatası (Mixed Content) Nedir ?
Adres çubuğunda “Bu siteye bağlantınız tam olarak güvenli değil” şeklinde bir uyarı ile karşımıza çıkan bu uyarı siteniz ziyaretçilerini huzursuz etmeye, sanki bir güvenlik açığı sitenizde varmış gibi düşünmelerine neden olmaktadır.
Google tarafından 2018 Temmuz ayında yapılan açıklamaya göre SSL sertifikası olmayan siteleri arama sonuçlarında son sayfalara atacağı ve bu siteler için arama sonuçlarında “Bu site güvenli değil” şeklinde bir uyarı ile ziyaretçileri uyaracağını açıklaması sonrası SSL kurulumu web siteleri için bir gereklilik haline gelmiştir. Eğer hala websiteniz için bir SSL sertifikası sahibi değilseniz SSL Sertifikası Nedir Nasıl Alınır başlıklı yazımıza göz atmanızı tavsiye ederiz.
WordPress SSL Hatası Çözümü
Sitenizde şayet bir SSL sertifikası kurulu ve WordPress https sorunu yaşıyorsanız yazımızı okumaya devam edin.
WordPress Eklentisiz SSL Yönlendirme
Sitenizde SSL sertifikası yüklü olmasına rağmen SSL sertifikanız tam olarak çalışmıyorsa yapmanız gereken ilk iş WP-ADMIN alanınıza girip Ayarlar/Genel sekmesini tıklamanız.
Burada gördüğünüz gibi WordPress adresi (URL) ve Site adresi (URL) kısmında henüz “https” yoksa yani “http” şeklindeyse gerekli düzenlemeleri yapın ve sayfanın en alt kısmında yer alan “Değişiklikleri Kaydet” butonuna tıklayın. Başarılı işlem sonrası wp-login yani admin giriş sayfasına yönlendireleceksiniz. Sitenize tekrar giriş yaparak değişikliklerin işe yarayıp yaramadığını kontrol edin.
Ek olarak yapmanız gereken bir işlem ise .htaccess üzerinde bir kaç satır kod eklemek.
.htaccess ile SSL Yönlendirme
Hosting panelinizi kullanarak Cpanel ekranınıza erişin. public_html klasörü içerisinde .htaccess dosyasını göreceksiniz. Şayet göremiyorsanız Cpanel ekranınızda sağ üst köşede yer alan Ayarlar kısmına tıklayıp açılan pencereden “Gizli Dosyaları Göster (dotfiles)” tıklayarak Kaydet butonu ile pencereyi kapatın.
.htaccess dosyasınızı artık görebiliyorsunuz. Şimdi ise dosyayı açıp düzenleme ekranına gelmemiz gerek.
Görseldeki 3 adımı takip ederek .htaccess dosyanızı açın ve aşağıdaki kodu yapıştırıp dosyayı kaydedin.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https:
//%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Şayet Ngix server üzerine kurulu bir siteniz varsa sadece aşağıdaki kodu eklemeniz yeterli.
server {
listen 80;
server_name siteadresiniz.com www.siteadresiniz.com;
return
301 https:
//siteadresiniz.com$request_uri;
}
Eğer bu kodlardan birini ekledikten sonra siteniz açılmıyorsa kodu silip tekrar kontrol edin. Herşey doğru gözüktüğü halde yine hata alıyorsanız hosting firmanıza konu ile ilgili danışın. Çok nadir de olsa bazı hosting sağlayıcılar .htaccess düzenlenmesine izin vermemektedir.
Wp-config ile SSL Sorununu Çözme
Yine Cpanel üzerinden public_html klasörü içerisinde bulunan wp-config.php dosyası içine bir satır kod ekleyerek bu sorunu çözebilirsiniz.
.htaccess dosyasını düzenler şekilde wp-config.php dosyasını açın. “That’s all, stop editing!” satırının hemen üstüne aşağıdaki kodu yapıştırın:
define(
'FORCE_SSL_ADMIN'
, true);
Böylelikle yaşadığınız SSL sorunu büyük olasılıkla çözülmüş olacaktır. Bu bütün yaptıklarınıza rağmen henüz WordPress SSL çözümü gerçekleşmediyse bir kaç yapmanız gereken işlem var demektir.
WordPress SSL Hatası Çözümü
Eklenti Yardımıyla SSL (mixed content) Sorunu Çözümü
Eklenti kurulumu ile henüz tam bilginiz yoksa, WordPress Eklenti Yükleme Nasıl Yapılır başlıklı yazımıza göz atabilirsiniz.
Bazı durumlarda özellikle http kullanırken https ye geçiş yaptığınız durumlarda sitenizde kullanılan görsellerin ve sayfa linklerinin https olmadan ayarlanmış olması Mixed Content yani “Bu siteye bağlantınız tam olarak güvenli değil” uyarısı almanıza sebep olmaktadır. Bu sorunu kökünden çözmek için database üzerinde kökten bir düzenleme yapmamız gerekmektedir.
WordPress eklenti alanında ücretsiz olarak sunulan Better Search Replace eklentisi yardımıyla kolayca bu sıkıntıdan kurtulabiliriz.
Eklenti kurulumu yaptıktan sonra Araçlar/Better Search Replace kısmına tıklayın. Açılan sayfada Run as dry run? seçeneğinin seçili olmadığından emin olun yani tik işaretini kaldırın. Sonrasında değiştirilmesini istediğiniz site adresinizi üst kısma (http olanları bulacağız) değiştirilecek değeri de alt kısma (https olarak değiştireceğiz) seçin.
Select Tables kısmına tıklayarak CTRL+A yapın ve tabloların hepsini seçin.
Üstteki görüntünün aynısı bir ekrana sahipseniz Run Search/Replace butonuna tıklayarak süreci başlatın.
Eğer süreç başladıktan sonra bir hata mesajı ile karşılaşırsanız Settings alanından Max Page Size kısmını en düşüğe (1000) getirip tekrar deneyin. Hosting kısıtlamaları sebebiyle hata mesajı alabilirsiniz. Hosting sağlayıcınıza ulaşıp timeout ayarlarını 300 yapmasını rica edebilirsiniz.
SSL Insecure Content Fixer
Eğer buraya kadar yaptıklarınızdan istediğini gibi bir çözüme ulaşamadıysanız SSL Insecure Content Fixer eklentisi ile sorununuza çözüm bulabilirsiniz.
Eklentiyi yükledikten sonra Wp-Admin sayfanızda Ayarlar/SSL Insecure Content Fixer tıklayın.
Siteniz için tam bir çözüme ulaşana kadar ayarları dilediğiniz gibi test edebilirsiniz. Şayet sitenizde çalışmayan veya yanlış çalışan durumlar olursa yaptığınız ayarlamayı geri alın. Sitenizi gizli modda (incognito) test etmeniz daha doğru sonuçlara ulaşmanıza yardımcı olacaktır.