WordPress SSL Hatası Çözümü: Güvenli Değil Uyarısını Giderin
WordPress sitenizde SSL sertifikanız olmasına rağmen hala “Güvenli Değil” uyarısı mı alıyorsunuz? Bu durum, ziyaretçilerinizde güvenlik endişesi yaratabilir ve sitenizin güvenilirliğini zedeleyebilir. “Mixed content” olarak bilinen bu hata, SSL sertifikanızın sitenizde tam olarak doğru şekilde çalışmadığı anlamına gelir. Bu kapsamlı rehberimizde, WordPress SSL hatasının nedenlerini ve “mixed content” sorununu çözmek için uygulayabileceğiniz adımları detaylı bir şekilde ele alacağız. WordPress SSL kurulumu, wp-admin ekranındaki SSL sorunları ve wp-config dosyası yardımıyla bu can sıkıcı hatayı nasıl giderebileceğinizi adım adım öğreneceksiniz.
WordPress SSL Hatası (Mixed Content) Nedir?
Adres çubuğunda beliren “Bu siteye bağlantınız tam olarak güvenli değil” uyarısı, ziyaretçilerinizin sitenizle ilgili güvenlik endişeleri taşımasına neden olur. Bu uyarı, sitenizde bir güvenlik açığı olduğu izlenimini yaratabilir. Google’ın 2018 Temmuz ayında aldığı kararla, SSL sertifikası olmayan siteler arama sonuçlarında daha alt sıralara itilmeye başlandı ve bu siteler için “Bu site güvenli değil” uyarısı gösterilmeye başlandı. Bu gelişme, web siteleri için SSL sertifikası kurulumunu bir zorunluluk haline getirdi. Eğer henüz siteniz için bir SSL sertifikası edinmediyseniz, “SSL Sertifikası Nedir Nasıl Alınır?” başlıklı yazımızı incelemenizi öneririz.
WordPress SSL Hatası Çözümü
Sitenizde zaten bir SSL sertifikası kurulu olmasına rağmen hala WordPress HTTPS sorunu yaşıyorsanız, aşağıdaki adımları takip ederek bu sorunu çözebilirsiniz.
WordPress Eklentisiz SSL Yönlendirme
Sitenizde SSL sertifikası yüklü olmasına rağmen tam olarak çalışmıyorsa, ilk yapmanız gereken işlem WP-ADMIN alanınıza giriş yaparak Ayarlar > Genel sekmesini ziyaret etmektir. Bu bölümde, WordPress adresi (URL) ve Site adresi (URL) kısımlarında “https” yerine hala “http” yazıyorsa, gerekli düzenlemeleri yapın. “https” protokolünü ekledikten sonra sayfanın altındaki “Değişiklikleri Kaydet” butonuna tıklayın. İşlem başarılı olduktan sonra wp-login yani admin giriş sayfasına yönlendirileceksiniz. Sitenize tekrar giriş yaparak değişikliklerin etkili olup olmadığını kontrol edin.
.htaccess ile SSL Yönlendirme
Ek olarak, sitenizin .htaccess dosyasında yapacağınız küçük bir kod değişikliği ile de SSL yönlendirmesini sağlayabilirsiniz. Hosting panelinize Cpanel üzerinden erişin. Genellikle public_html klasörü altında bulunan .htaccess dosyasını bulun. Eğer göremiyorsanız, Cpanel ekranının sağ üst köşesindeki Ayarlar kısmına tıklayıp açılan pencereden “Gizli Dosyaları Göster (dotfiles)” seçeneğini işaretleyip Kaydet butonuna tıklayın.
.htaccess dosyasını düzenleme ekranına açtıktan sonra, aşağıdaki kodu dosyanın içine yapıştırın ve kaydedin:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Eğer siteniz Nginx sunucu üzerinde kuruluysa, sadece aşağıdaki kodu eklemeniz yeterli olacaktır:
server {
listen 80;
server_name siteadresiniz.com www.siteadresiniz.com;
return 301 https://siteadresiniz.com$request_uri;
}Bu kodları ekledikten sonra siteniz açılmazsa, eklediğiniz kodu silip tekrar kontrol edin. Tüm adımlar doğru görünmesine rağmen hala hata alıyorsanız, hosting firmanızla iletişime geçin. Nadiren de olsa bazı hosting sağlayıcıları .htaccess düzenlemelerine izin vermeyebilir.
Wp-config ile SSL Sorununu Çözme
Yine Cpanel üzerinden public_html klasöründeki wp-config.php dosyasına bir satır kod ekleyerek SSL sorununu çözmek mümkündür. .htaccess dosyasını düzenler gibi wp-config.php dosyasını açın ve “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);Bu işlemle birlikte SSL sorununuz büyük olasılıkla çözülecektir. Tüm bu adımlara rağmen WordPress SSL çözümü hala gerçekleşmediyse, uygulayabileceğiniz ek yöntemler bulunmaktadır.
Eklenti Yardımıyla SSL (Mixed Content) Sorunu Çözümü
Eklenti kurulumu konusunda bilginiz yoksa, “WordPress Eklenti Yükleme Nasıl Yapılır?” başlıklı yazımızı inceleyebilirsiniz. Bazı durumlarda, özellikle http’den https’ye geçiş yaptığınızda, sitenizdeki görsellerin ve sayfa linklerinin hala http protokolüyle ayarlanmış olması “mixed content” hatasına ve “Bu siteye bağlantınız tam olarak güvenli değil” uyarısına neden olabilir. Bu sorunu kökten çözmek için veritabanında bir düzenleme yapmanız gerekebilir.
WordPress eklenti alanında ücretsiz olarak sunulan Better Search Replace eklentisi ile bu sorundan kolayca kurtulabilirsiniz. Eklentiyi kurduktan sonra Araçlar > Better Search Replace bölümüne tıklayın. Açılan sayfada “Run as dry run?” seçeneğinin işaretini kaldırın. Ardından, değiştirmek istediğiniz site adresinizi üst kısma (http olanları bulacağız) ve değiştirilecek değeri alt kısma (https olarak değiştireceğiz) girin. “Select Tables” kısmına tıklayarak CTRL+A tuşlarına basıp tüm tabloları seçin.
Eğer üstteki görseldeki gibi bir ekranla karşılaşırsanız, “Run Search/Replace” butonuna tıklayarak süreci başlatın. İşlem sırasında bir hata mesajı alırsanız, “Settings” alanından “Max Page Size” değerini en düşüğe (1000) getirip tekrar deneyin. Hosting kısıtlamaları nedeniyle hata alıyor olabilirsiniz. Hosting sağlayıcınızdan timeout ayarlarını 300 yapmasını rica edebilirsiniz.
SSL Insecure Content Fixer Eklentisi
Yukarıdaki yöntemlerle istediğiniz çözüme ulaşamadıysanız, SSL Insecure Content Fixer eklentisi ile sorununuzu giderebilirsiniz. Eklentiyi yükledikten sonra Wp-Admin sayfanızda Ayarlar > SSL Insecure Content Fixer bölümüne tıklayın. Siteniz için tam bir çözüme ulaşana kadar ayarları test edebilirsiniz. Eğer bir ayar sitenizde çalışmazsa veya yanlış çalışırsa, yaptığınız değişikliği geri alın. Sitenizi gizli modda (incognito) test etmek, daha doğru sonuçlar almanıza yardımcı olacaktır.
Bu yazımızda, WordPress SSL hatası ve “mixed content” sorunlarının nasıl çözüleceğini detaylı bir şekilde ele aldık. Konuyla ilgili görüşlerinizi yorumlarda paylaşabilirsiniz. SSL veya WordPress sitenizle ilgili herhangi bir sorun için yardıma ihtiyacınız olursa, iletişim sayfamız üzerinden bize ulaşabilirsiniz.
