Mixed Content (Karışık İçerik) Hatası Nedir? WordPress ve Sunucu Tarafında Kesin Çözüm Rehberi (2026)

E-posta Hosting Kampanya

Dijital dünyada güvenliğin standartları her geçen gün daha da katılaşıyor. Web sitenize yepyeni bir SSL sertifikası kurdunuz, tüm yönlendirmelerinizi yaptınız ve tarayıcınızın adres çubuğunda o güven veren yeşil kilidi (veya modern tarayıcılardaki güvenli ikonunu) görmeyi heyecanla bekliyorsunuz. Ancak adres çubuğuna baktığınızda hevesiniz kursağınızda kalıyor; kilit ikonu kırık, üzerinde ünlem işareti var veya tarayıcı size “Bağlantınız tam olarak güvenli değil” (Your connection is not fully secure) şeklinde can sıkıcı bir uyarı veriyor.

Siteniz HTTPS protokolü üzerinden çalışmasına rağmen bu hatayı alıyorsanız, siber güvenlik terminolojisinde çok iyi bilinen bir problemle karşı karşıyasınız demektir: Mixed Content (Karışık İçerik) Hatası.

2026 yılının modern web tarayıcıları (Google Chrome, Firefox, Edge, Safari), kullanıcı güvenliğini maksimize etmek adına karmaşık içeriklere karşı sıfır tolerans politikası uygular. Bu hata sadece sitenizin amatör görünmesine neden olmakla kalmaz; aynı zamanda arama motoru sıralamalarınızı (SEO) düşürür ve ziyaretçilerinizin sitenizi terk etmesine yol açar. Bu derinlemesine rehberde; Mixed Content hatasının teknik arka planını, aktif ve pasif içerik ayrımlarını, hatanın kaynağını nasıl tespit edeceğinizi ve altyapınız ne olursa olsun bu sorunu kökünden nasıl çözeceğinizi tüm detaylarıyla inceliyoruz.

Mixed Content (Karışık İçerik) Hatası Tam Olarak Nedir?

Bir web sayfası sadece metinlerden oluşmaz. Sayfayı açtığınızda arka planda resimler, videolar, CSS (tasarım) dosyaları, JavaScript (dinamik işlev) kodları ve dışarıdan çağrılan fontlar gibi onlarca farklı kaynak yüklenir.

Mixed Content, bir web sayfasının ana iskeleti güvenli bir HTTPS bağlantısı üzerinden yüklenirken, sayfanın içindeki bir veya daha fazla alt kaynağın (örneğin bir görselin veya script dosyasının) güvensiz olan HTTP protokolü üzerinden çağrılması durumudur.

Adından da anlaşılacağı üzere, sayfanın içeriği “güvenli” ve “güvensiz” öğelerin bir karışımı haline gelmiştir. Tarayıcı, ana sayfanın şifreli bir tünelden geldiğini bilir, ancak sayfanın ortasındaki bir logonun şifresiz ve açık bir yoldan geldiğini fark ettiğinde, kullanıcıyı uyarmak için kilit ikonunu bozar.

Mixed Content Türleri: Aktif ve Pasif İçerik Arasındaki Hayati Fark

Modern tarayıcılar, karışık içerikleri barındırdıkları risk potansiyeline göre iki farklı kategoriye ayırır ve onlara farklı tepkiler verir. Sorunu çözerken hangi türle karşı karşıya olduğunuzu bilmek çok önemlidir.

1. Pasif (Görüntüleme Odaklı) Karışık İçerik

Pasif içerikler, sayfanın yapısını veya kullanıcının davranışlarını doğrudan değiştiremeyen, yalnızca sayfada sergilenen öğelerdir.

  • Neler Dahildir? Görseller (<img>), videolar (<video>) ve ses dosyaları (<audio>).
  • Riski Nedir? Bilgisayar korsanları, şifresiz HTTP üzerinden gelen bir görseli havada yakalayıp değiştirebilir (Örneğin, şirketinizin logosu yerine uygunsuz bir fotoğraf koyabilirler). Ancak bu saldırı ile kullanıcının şifrelerini çalamazlar.
  • Tarayıcı Tepkisi: Tarayıcı bu kaynakları engellemez, sayfada gösterir. Ancak adres çubuğundaki kilit ikonunu kaldırır ve sarı bir uyarı işareti ekler.

2. Aktif (İşlevsel) Karışık İçerik

Aktif içerikler, web sayfasının bütünlüğünü, tasarımını ve işleyişini doğrudan kontrol edebilen kaynaklardır. Bu tür, güvenlik açısından tam bir kabustur.

  • Neler Dahildir? JavaScript dosyaları (<script>), CSS stil dosyaları (<link rel="stylesheet">), iFrame’ler ve Font dosyaları.
  • Riski Nedir? Ortadaki Adam (Man-in-the-Middle) saldırısı düzenleyen bir korsan, HTTP üzerinden gelen bir JavaScript dosyasının içine kendi zararlı kodunu enjekte edebilir. Bu zararlı kod, sayfanıza güvenip şifresini veya kredi kartı numarasını giren ziyaretçinin tüm verilerini anında korsanın sunucusuna kopyalar.
  • Tarayıcı Tepkisi: Çok yüksek risk taşıdığı için Google Chrome ve diğer modern tarayıcılar, aktif karışık içerikleri tamamen engeller (Block). Bu nedenle sitenizin tasarımı bozulur (CSS yüklenmediği için), menüleriniz çalışmaz veya sayfanız tamamen işlevsiz hale gelir.

Hatayı Tespit Etme: Karışık İçerikleri Nasıl Bulursunuz?

Sitenizin adres çubuğunda uyarıyı gördünüz; peki ama yüzlerce kod satırı arasında hangi görselin veya dosyanın HTTP ile çağrıldığını nasıl bulacaksınız?

Bağımsız bir seyahat blogu yazarı olan Vedat, blogunu HTTPS’ye geçirdikten sonra bu hatayı alır. Vedat, sorunun kaynağını bulmak için en pratik yöntem olan Tarayıcı Geliştirici Araçlarını (Developer Tools) kullanır:

  1. Vedat, hatayı aldığı sayfayı Google Chrome’da açar.
  2. Klavyeden F12 tuşuna (veya sağ tıklayıp “İncele” seçeneğine) basar.
  3. Açılan pencerede üst menüden Console (Konsol) sekmesine geçer.
  4. Konsol ekranında karşısına sarı veya kırmızı renkle yazılmış, tam olarak şu ifadelere benzeyen hata mesajları çıkar:
  5. Vedat, bu uyarı sayesinde eski-foto.jpg dosyasının güvensiz (http) çağrıldığını nokta atışıyla tespit etmiş olur.

Alternatif Araçlar: Sayfalarınız çok fazlaysa ve manuel kontrol zor geliyorsa, WhyNoPadlock.com veya JitBit SSL Check gibi ücretsiz çevrimiçi araçlara sitenizin URL’sini girerek, tüm sitenizdeki karışık içeriklerin bir raporunu saniyeler içinde alabilirsiniz.

WordPress Sitelerinde Mixed Content Kesin Çözüm Adımları

Eğer sitenizin altyapısı WordPress ise, bu hatanın en büyük sebebi veritabanınızda (eski yazılar, medya kütüphanesi dosyaları) URL’lerin hala http:// olarak kayıtlı kalmış olmasıdır.

E-ticaret sitesi yöneticisi Şirin, ürün sayfalarında yaşadığı Mixed Content hatasını çözmek için veritabanına doğrudan müdahale etmesi gerektiğini bilir ve şu adımları izler:

Adım 1: Sitenin Tam Yedeğini (Backup) Almak

Veritabanında toplu değişiklik yapmadan önce, olası bir çökme ihtimaline karşı hosting paneli (cPanel vb.) üzerinden veritabanının ve dosyaların eksiksiz bir yedeğini alır.

Adım 2: Better Search Replace Eklentisi ile Veritabanı Temizliği

Şirin, WordPress paneline girerek “Better Search Replace” adlı eklentiyi kurar ve etkinleştirir.

  • Araçlar > Better Search Replace menüsüne gider.
  • “Şunu Ara” (Search for): kutusuna eski ve güvensiz adresini yazar: [http://sirinin-butigi.com](http://sirinin-butigi.com)
  • “Bununla Değiştir” (Replace with): kutusuna yeni ve güvenli adresini yazar: [https://sirinin-butigi.com](https://sirinin-butigi.com)
  • Tüm veritabanı tablolarını seçer ve arama/değiştirme işlemini başlatır. Eklenti, sitenin geçmişte yazılmış tüm makalelerini, ürün açıklamalarını ve resim yollarını tarayarak “http” olan linkleri “https” olarak günceller. Şirin tarayıcıyı yenilediğinde, yeşil kilidin geri geldiğini mutlulukla görür.

Adım 3: Temaların ve Eklentilerin Önbelleklerini (Cache) Temizlemek

Elementor, WPBakery gibi sayfa oluşturucular kullanıyorsanız, bu araçlar bazen eski HTTP linklerini kendi iç (CSS) dosyalarında saklarlar. WordPress panelinizden (örneğin Elementor için: Elementor > Araçlar > CSS ve Veriyi Yeniden Oluştur) önbellekleri temizlemeniz gerekir. Ayrıca WP Rocket veya LiteSpeed Cache kullanıyorsanız, tüm site önbelleğini (Purge All Cache) temizlemeyi unutmayın.

Sunucu Seviyesinde Kesin Çözüm: CSP (İçerik Güvenliği Politikası) Başlığı Kullanımı

Eğer binlerce sayfalık, özel yazılım (Örn: React, Laravel veya Node.js) ile kodlanmış bir projeniz varsa, her sayfadaki kodları tek tek bulup değiştirmek imkansız bir hal alabilir. Bu noktada, modern tarayıcıların sunduğu muazzam bir kalkan olan Content-Security-Policy (CSP) başlığını kullanarak sorunu sunucu katmanında kökünden çözebilirsiniz.

Kıdemli sistem yöneticisi Korhan, sunucusuna eklediği küçük bir komutla tarayıcılara şu emri verir: “Sayfamın içinde HTTP ile çağrılan eski bir kod veya görsel bulursan, bana sormadan onu anında HTTPS’ye çevirerek yükle!”

Korhan’ın bu emri vermek için sunucu altyapısına göre kullandığı kodlar şunlardır:

Apache Sunucular İçin (.htaccess dosyasına eklenir):

Apache

<IfModule mod_headers.c>
Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>

Nginx Sunucular İçin (nginx.conf dosyasına eklenir):

Nginx

add_header Content-Security-Policy "upgrade-insecure-requests;";

Bu mucizevi upgrade-insecure-requests direktifi, tarayıcının kod tabanındaki tüm güvensiz istekleri havada (on the fly) HTTPS’ye yükseltmesini sağlar. Ancak burada dikkat edilmesi gereken ufak bir detay vardır: Eğer dışarıdan çektiğiniz kaynak (Örneğin 3. parti bir sayaç kodu veya dış bir sunucudaki görsel) kendi tarafında HTTPS desteklemiyorsa, tarayıcı bu öğeyi HTTPS’ye yükseltemeyecek ve öğe sayfada kırık görünecektir. Bu durumda o dış kaynağı sistemden tamamen silmek veya HTTPS destekleyen bir alternatifiyle değiştirmek tek yoldur.

Dış Kaynaklı (Third-Party) Mixed Content Sorunları

Bazen hatanın kaynağı sizin sitenizdeki bir dosya değil, sitenize dışarıdan entegre ettiğiniz bir eklenti (Widget) veya API (Application Programming Interface) olabilir. Örneğin, sitenizin kenar çubuğuna (sidebar) yerel bir hava durumu eklentisi eklediniz ve bu eklentinin sağlandığı site SSL sertifikasına sahip değil. Tarayıcı, ana siteniz güvenli olsa bile, hava durumu eklentisi HTTP üzerinden çalıştığı için sitenizi güvensiz olarak damgalar.

Böyle durumlarda “Search Replace” veya diğer yöntemler işe yaramaz. Çünkü kodun kontrolü sizde değildir. Yapmanız gereken tek şey, kodlarını güvensiz sunan o dış servis sağlayıcısını tespit edip, sitenizden (HTML şablonlarından veya tema dosyalarından) tamamen kaldırmaktır.

Sonuç: Güvenlik Bir Bütündür

Web sitenizdeki adres çubuğunda parlayan o güvenli bağlantı ikonu, ziyaretçilerinize verdiğiniz “Burada verileriniz güvende, bize güvenebilirsiniz” sözünün dijital dünyadaki karşılığıdır.

Mixed Content (Karışık İçerik) hatası; SSL sertifikanızı aldıktan sonra yapmanız gereken temizlik işlerini tam olarak tamamlamadığınızın bir göstergesidir. Sorunun kaynağını Geliştirici Araçları (F12) ile tespit edip, veritabanınızdaki eski ve güvensiz (HTTP) URL yollarını Better Search Replace gibi araçlarla HTTPS formatına dönüştürdüğünüzde veya sunucu tarafında CSP (İçerik Güvenliği Politikası) kurallarını aktif ettiğinizde, bu sorunu kalıcı olarak tarihe gömersiniz. Dijital mülkünüzün her bir baytını şifreli ve güvenli hale getirmek, hem arama motorlarının sitenizi ödüllendirmesini sağlayacak hem de marka prestijinizi sarsılmaz bir konuma taşıyacaktır.