SSL Kullanılan Web Sitelerinde Karma İçerik (Güvenli Olmayan Öğeler) Hatası Nasıl Düzeltilir?

Web sitenize SSL sertifikası yüklediğinizde, HTTPS üzerinden güvenli bir bağlantı sağlamış olursunuz. Ancak bazı durumlarda tarayıcınız, “Bu sayfa tamamen güvenli değil” veya “Güvenli olmayan öğeler içeriyor” gibi hatalar gösterebilir. Bu, karma içerik (mixed content) hatası olarak adlandırılır. Bu yazıda, karma içerik hatasını tespit etme ve düzeltme yollarını detaylı şekilde açıklıyoruz.


1. Karma İçerik (Mixed Content) Hatası Nedir?

Karma içerik hatası, bir web sayfası HTTPS protokolü kullanırken, sayfa içinde HTTP bağlantıları bulunan öğeler yüklenmesi durumunda ortaya çıkar. Tarayıcılar, bu güvensiz bağlantıları tespit ederek sayfanın tam olarak güvenli olmadığını bildirir.

Karma İçerik Türleri

  • Pasif Karma İçerik: Sayfada görüntülenen görseller, videolar, ses dosyaları veya stiller HTTP üzerinden yükleniyorsa oluşur. Sayfa çalışmaya devam eder ancak güvenli olarak algılanmaz.
  • Aktif Karma İçerik: JavaScript, CSS dosyaları veya iframe gibi öğeler HTTP ile çağrılıyorsa, tarayıcı sayfanın belirli bölümlerini engelleyebilir veya tamamen yüklenmesini durdurabilir.

2. Karma İçerik Hatası Nasıl Tespit Edilir?

Karma içerik hatasını tespit etmek için aşağıdaki yöntemleri kullanabilirsiniz:

Google Chrome Geliştirici Araçları ile Kontrol

  1. Web sitenizi açın.
  2. F12 tuşuna basarak Geliştirici Araçları (DevTools)‘u açın.
  3. Console (Konsol) sekmesini seçin.
  4. Kırmızı hata mesajlarını kontrol edin. “Mixed Content” ibaresi içeren hatalar, güvenli olmayan HTTP öğelerini gösterir.

Online Araçlarla Kontrol

Aşağıdaki online araçları kullanarak web sitenizde karma içerik hatasını tarayabilirsiniz:


3. Karma İçerik (Mixed Content) Hatası Nasıl Düzeltilir?

1. HTTP Bağlantılarını HTTPS’ye Güncelleyin

Web sitenizdeki tüm HTTP bağlantılarını HTTPS ile değiştirin.

  • CSS ve JavaScript dosyaları: <link> ve <script> etiketlerinde HTTP kullanılıyorsa, HTTPS ile değiştirin.
  • Görseller ve Medya İçerikleri: <img> ve <video> etiketlerinde HTTP bağlantıları varsa, HTTPS ile güncelleyin.

Örnek:
Yanlış kullanım:

<img src=”http://example.com/image.jpg” alt=”Resim”>

Doğru kullanım:

<img src=”https://example.com/image.jpg” alt=”Resim”>

2. .htaccess ile HTTPS Yönlendirmesi Yapın

Eğer Apache kullanıyorsanız, .htaccess dosyanıza aşağıdaki kodu ekleyerek tüm HTTP trafiğini HTTPS’ye yönlendirebilirsiniz:

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

Bu kod, HTTP bağlantılarının otomatik olarak HTTPS’ye yönlendirilmesini sağlar.

3. WordPress Kullanıyorsanız SSL Eklentisi Kullanın

Eğer WordPress tabanlı bir web sitesi kullanıyorsanız, karma içerik hatalarını gidermek için “Really Simple SSL” veya “Better Search Replace” gibi eklentileri kullanabilirsiniz.

Adımlar:

  1. Really Simple SSL eklentisini yükleyin ve etkinleştirin.
  2. Eklenti ayarlarına girerek SSL otomatik onarımı seçeneğini aktif edin.
  3. HTTP bağlantılarını HTTPS’ye güncellemek için Better Search Replace eklentisi ile eski URL’leri HTTPS ile değiştirin.

4. WordPress veya Tema Dosyalarında HTTP Bağlantılarını Güncelleyin

Eğer sitenizde hardcoded (elle yazılmış) HTTP bağlantıları varsa, aşağıdaki adımları uygulayın:

  • Veritabanınızda HTTP’yi HTTPS ile değiştirin:
    • phpMyAdmin veya WP-CLI kullanarak wp_options, wp_posts, wp_postmeta tablolarında http:// bağlantılarını https:// ile değiştirin.
  • Tema ve Eklenti Dosyalarınızı Kontrol Edin:
    • functions.php, header.php, footer.php gibi dosyaları düzenleyerek HTTP ile başlayan URL’leri HTTPS’ye çevirin.

5. Cloudflare Kullanıyorsanız SSL/TLS Ayarlarını Kontrol Edin

Eğer Cloudflare kullanıyorsanız, SSL ayarlarınızı kontrol edin:

  1. Cloudflare paneline giriş yapın.
  2. SSL/TLS sekmesine gidin.
  3. SSL modunu “Full” veya “Full (Strict)” olarak ayarlayın.
  4. “Automatic HTTPS Rewrites” seçeneğini etkinleştirin.

4. Karma İçerik Hatası Kontrolü ve Testi

Tüm değişiklikleri yaptıktan sonra, web sitenizin artık tamamen güvenli olup olmadığını test etmek için şu adımları uygulayın:

  • Tarayıcıda F12 tuşuna basarak Console (Konsol) sekmesini tekrar kontrol edin.
  • Why No Padlock? veya SSL Checker ile sitenizi test edin.
  • HTTPS yönlendirmesinin doğru çalıştığını görmek için web sitenizi HTTP üzerinden açmayı deneyin (Otomatik olarak HTTPS’ye yönlenmelidir).

Karma içerik (mixed content) hatası, HTTP ve HTTPS içeriğinin bir arada kullanılması nedeniyle web sitenizin tam olarak güvenli olmamasına neden olur. Bu hatayı düzeltmek için:

  • Tüm HTTP bağlantılarını HTTPS ile değiştirin,
  • Web sitenizi tarayıcı geliştirici araçları veya online SSL test araçları ile kontrol edin,
  • Cloudflare veya .htaccess üzerinden HTTPS yönlendirmesini etkinleştirin,
  • WordPress gibi CMS sistemlerinde SSL eklentileri kullanın.

Bu adımları uygulayarak SSL sertifikanızın tam uyumlu çalışmasını sağlayabilir, güvenli bir web sitesi sunarak SEO performansınızı artırabilirsiniz.