Mixed content hatasının neden oluştuğunu, SSL sonrası hangi sunucu ve WordPress ayarlarının kontrol edilmesi gerektiğini pratik adımlarla öğrenin.
Bir web sitesinde SSL sertifikası aktif olduğu halde tarayıcı adres çubuğunda güvenli bağlantı uyarısı görünüyorsa, çoğu zaman neden mixed content hatasıdır. Bu sorun, sayfanın HTTPS üzerinden açılmasına rağmen bazı görsel, CSS, JavaScript, font veya API çağrılarının hâlâ HTTP ile yüklenmeye çalışması anlamına gelir. Kullanıcı tarafında güven algısını zedeler; yönetim panelinde, ödeme sayfalarında veya Android WebView içinde açılan sayfalarda ise işlevsel problemlere yol açabilir.
Mixed content, aynı sayfa içinde güvenli ve güvensiz kaynakların birlikte kullanılmasıdır. Ana sayfa HTTPS ile açılırken bir görselin http:// adresinden çağrılması buna basit bir örnektir. Tarayıcılar bu durumu güvenlik riski olarak yorumlar çünkü HTTP ile aktarılan içerik ağ üzerinde değiştirilebilir veya izlenebilir.
Hata genellikle SSL geçişinden sonra ortaya çıkar. Site sahibi SSL sertifikasını kurmuş olabilir; ancak veritabanındaki eski bağlantılar, tema dosyalarındaki sabit URL’ler, eklenti ayarları veya CDN yapılandırması hâlâ HTTP kullanıyor olabilir.
Her mixed content uyarısı aynı seviyede risk taşımaz. Tarayıcıların davranışını doğru yorumlamak, sorunu önceliklendirmenizi kolaylaştırır.
Görsel, video veya ses dosyalarının HTTP üzerinden yüklenmesi genellikle pasif içerik olarak değerlendirilir. Tarayıcı bazı durumlarda bu içeriği göstermeye devam edebilir; fakat güvenli bağlantı simgesi bozulabilir ve kullanıcıda siteye dair şüphe oluşur.
JavaScript, CSS, iframe veya API çağrıları gibi sayfanın davranışını değiştirebilen kaynaklar aktif içeriktir. Modern tarayıcılar bu dosyaları çoğunlukla engeller. Bu nedenle menüler çalışmayabilir, formlar gönderilmeyebilir veya ödeme adımı tamamlanamayabilir.
İlk kontrol tarayıcı geliştirici araçlarıyla yapılabilir. Chrome veya Edge’de sayfayı açıp Console sekmesine bakıldığında “Mixed Content” uyarıları hangi dosyanın HTTP üzerinden çağrıldığını gösterir. Ayrıca Network sekmesinde http:// filtresiyle sorunlu kaynaklar listelenebilir.
WordPress sitelerinde sık karşılaşılan kaynaklar şunlardır:
Mixed content çoğu zaman içerik veya uygulama katmanında görünse de, hosting yapılandırması sorunun kalıcı çözümünde kritik rol oynar. SSL sertifikasının doğru kurulması tek başına yeterli değildir; yönlendirme, sunucu değişkenleri ve önbellek katmanı da uyumlu olmalıdır.
Öncelikle alan adı ve varsa www sürümü için SSL sertifikasının geçerli olduğundan emin olun. Sertifika yalnızca ana alan adına kurulmuşsa, alt alan adındaki dosyalar HTTP’ye düşebilir. Kontrol panelinde sertifikanın süresi, kapsamı ve otomatik yenileme durumu incelenmelidir.
Sunucu tarafında tüm HTTP istekleri HTTPS’ye kalıcı olarak yönlendirilmelidir. Bu işlem panelden “Force HTTPS” seçeneğiyle yapılabilir. Apache kullanılıyorsa .htaccess yönlendirmesi, Nginx kullanılıyorsa server block yapılandırması tercih edilir. Burada dikkat edilmesi gereken nokta, zincirleme yönlendirme oluşturmamaktır; http:// adres birden fazla adım yerine doğrudan https:// sürüme gitmelidir.
Cloudflare, LiteSpeed Cache, Varnish veya benzeri katmanlar kullanılıyorsa SSL modu yanlış seçilmiş olabilir. Örneğin CDN tarafında esnek SSL kullanılırken origin sunucuda HTTPS doğru çalışmıyorsa uygulama kendisini HTTP altında sanabilir. Bu durumda WordPress, CSS ve görsel adreslerini yanlış protokolle üretebilir.
Sunucu ayarları doğruysa sıra WordPress içindeki eski adresleri temizlemeye gelir. Yönetim panelinde Ayarlar > Genel bölümünde “WordPress adresi” ve “Site adresi” alanlarının HTTPS ile başladığını kontrol edin. Ardından veritabanında kayıtlı eski HTTP bağlantıları güvenli biçimde güncellenmelidir.
Bu işlemden önce mutlaka tam yedek alınmalıdır. Yanlış arama-değiştirme işlemi serileştirilmiş verileri bozabilir ve sayfa oluşturucu içeriklerinde kayıplara neden olabilir. Profesyonel araçlarla veya güvenilir eklentilerle http://alanadiniz.com adresini https://alanadiniz.com olarak değiştirmek daha güvenlidir.
Değişiklikten sonra WordPress önbelleği, tarayıcı önbelleği, CDN cache’i ve varsa sunucu cache’i temizlenmelidir. Aksi halde eski CSS dosyaları bir süre daha HTTP kaynakları çağırmaya devam edebilir. Özellikle kurumsal sitelerde bu adım atlandığında sorun çözülmüş gibi görünürken farklı kullanıcılar hâlâ uyarı alabilir.
Mixed content sorununda en yaygın hata, yalnızca SSL eklentisi kurup tüm problemin çözüleceğini düşünmektir. Eklentiler geçici olarak çıktıyı düzeltebilir; ancak veritabanındaki, tema dosyalarındaki veya sunucu yapılandırmasındaki asıl problemi ortadan kaldırmayabilir.
Bir diğer hata, üçüncü taraf kaynakları gözden kaçırmaktır. Harici script, reklam kodu, font veya eski bir API adresi HTTPS desteklemiyorsa sayfanız kendi içinde doğru yapılandırılmış olsa bile uyarı devam eder. Bu kaynakların HTTPS sürümü kullanılmalı; desteklemiyorsa alternatif servis tercih edilmelidir.
Web siteniz bir Android uygulaması içinde WebView ile gösteriliyorsa mixed content daha kritik hale gelir. Bazı Android sürümlerinde HTTP içerik varsayılan olarak engellenebilir veya uygulama güvenlik politikasına göre sayfa eksik yüklenebilir. Bu nedenle web tarafında HTTPS bütünlüğünü sağlamak, uygulama içinde geçici izin vermekten daha güvenli ve sürdürülebilir bir yaklaşımdır.
Sağlıklı bir yapı için SSL kapsamı, zorunlu HTTPS yönlendirmesi, CDN ayarları, WordPress URL’leri ve önbellek katmanları birlikte kontrol edilmelidir. Bu yaklaşım, mixed content uyarısını yalnızca görünürde kaldırmakla kalmaz; kullanıcı güvenini, form güvenliğini ve arama motorlarının siteyi doğru değerlendirmesini de destekler.