SSL sertifikası kurulu olmasına rağmen tarayıcı adres çubuğunda site güvenli görünmeyebilir veya bazı sayfalarda güvenlik uyarısı çıkabilir. Bunun yaygın nedenlerinden biri HTTPS ile açılan sayfanın görsel, CSS, JavaScript, font veya iframe gibi bazı kaynakları hâlâ HTTP üzerinden çağırmasıdır. Bu durum Mixed Content olarak adlandırılır.
Bu rehberde SSL çalıştığı halde Mixed Content uyarısı veren bir sitede güvensiz kaynağı nasıl bulacağınızı ve problemi kalıcı şekilde nasıl düzelteceğinizi adım adım inceleyeceğiz.
Önce SSL sertifikasının gerçekten çalıştığını doğrulayın
Şu adresi doğrudan açın:
Site HTTPS üzerinden hiç açılmıyorsa önce SSL sertifikasının kendisini kontrol etmeniz gerekir.
Mixed Content problemi genellikle HTTPS sayfası açıldığı halde sayfa içerisindeki bazı kaynakların HTTP kullanmasıdır.
1. Mixed Content nedir?
Sayfanız:
üzerinden açılır.
Ancak HTML içerisinde örneğin:
çağrısı bulunur.
HTTPS sayfanın HTTP kaynağı çağırması Mixed Content oluşturabilir.
2. Sorun yalnızca görsellerden kaynaklanmaz
HTTP üzerinden çağrılan şu kaynaklar problem oluşturabilir:
3. Tarayıcı geliştirici araçlarını açın
Chrome veya benzeri bir tarayıcıda sorunlu sayfayı açın.
Klavyeden:
tuşuna basın.
Ardından:
Console
sekmesini açın.
Mixed Content problemi varsa tarayıcı çoğu zaman HTTP üzerinden çağrılan URL'yi burada gösterir.
4. Network sekmesini kontrol edin
Developer Tools içerisinde:
Network
sekmesini açın.
Sayfayı yenileyin.
İstekler arasında:
ile başlayan kaynakları arayın.
Amaç hangi dosyanın hâlâ HTTP üzerinden çağrıldığını bulmaktır.
5. Sayfa kaynağında HTTP URL'lerini arayın
Sayfa kaynağında:
ifadesini arayın.
Özellikle:
içerisinde kullanılan URL'leri kontrol edin.
Düz metin olarak yazılmış bir HTTP adresi her zaman Mixed Content oluşturmaz.
6. WordPress site adreslerini kontrol edin
WordPress kullanıyorsanız:
Ayarlar → Genel
alanını açın.
Şunların HTTPS kullandığını kontrol edin:
Örneğin:
yerine:
kullanılmalıdır.
7. Eski içeriklerde HTTP kayıtları kalmış olabilir
Site daha önce HTTP ile çalıştıysa içeriklerde şu tür eski URL'ler bulunabilir:
SSL sertifikası kurmak veritabanındaki bütün eski URL'leri her zaman otomatik değiştirmez.
8. Veritabanında yedeksiz toplu değiştirme yapmayın
Şu değişikliği doğrudan ve yedeksiz uygulamayın:
Özellikle WordPress veritabanında özel veri biçimleri bulunabilir.
Toplu değiştirme öncesinde:
9. Tema dosyalarını kontrol edin
Tema içerisinde sabit olarak yazılmış HTTP URL'si olabilir.
Örneğin:
Tema dosyalarında ve tema seçeneklerinde:
araması yapın.
10. CSS içerisindeki fontları kontrol edin
Sayfada hiçbir HTTP görsel göremediğiniz halde Mixed Content devam ediyorsa font dosyalarını inceleyin.
Örneğin:
güvensiz kaynak oluşturabilir.
11. Harici servisleri kontrol edin
Site şu tür harici kaynaklar kullanabilir:
Bu servislerden birinin URL'si HTTP olabilir.
Varsa HTTPS sürümünü kullanın.
12. iframe kodlarını kontrol edin
Örneğin:
HTTPS sayfada Mixed Content oluşturabilir.
iframe kaynağının HTTPS destekleyip desteklemediğini kontrol edin.
13. CDN adreslerini kontrol edin
Ana site:
üzerinden açılıyor olabilir.
Ancak statik dosyalar:
üzerinden yükleniyorsa problem devam eder.
CDN domaininin de HTTPS desteklediğinden emin olun.
14. Cache temizliği yapın
HTTP URL'sini düzelttikten sonra eski içerik cache'den gelmeye devam edebilir.
Şunları temizleyin:
Ardından gizli sekmede tekrar test edin.
15. HTTP'den HTTPS'ye yönlendirme yeterli olmayabilir
Şöyle bir yapı bulunabilir:
Ancak mümkün olduğunda sayfa kaynağında doğrudan:
kullanmak daha temizdir.
16. Ana domain yönlendirmesini kontrol edin
Şu adres:
HTTPS sürümüne yönlenmelidir.
Mümkün olduğunca gereksiz yönlendirme zincirlerinden kaçının.
17. Mixed Content ile sertifika hatasını karıştırmayın
Mixed Content:
Geçerli HTTPS sayfasının HTTP kaynak çağırmasıdır.
Ancak tarayıcı:
diyorsa problem farklıdır.
18. DNS değişikliğinden sonra SSL farklı davranıyorsa
Domain yakın zamanda yeni sunucuya taşındıysa bazı DNS resolver'ları eski sunucu IP'sini kullanıyor olabilir.
Eski ve yeni sunucuda farklı SSL yapılandırmaları varsa kullanıcılarda farklı sonuçlar görülebilir.
Bu durumda DNS Değişikliği Ne Kadar Sürer? DNS Yayılımı Nasıl Kontrol Edilir? rehberini kullanabilirsiniz.
19. HTTPS dosyası 403 veriyorsa
Kaynak URL'si doğru şekilde:
olabilir.
Ancak sunucu bu dosyaya:
döndürüyor olabilir.
Bu durumda problem Mixed Content değil erişim iznidir.
403 Forbidden Hatası Nedir? cPanel'de Nasıl Çözülür? rehberindeki kontrolleri uygulayın.
Mixed Content hızlı kontrol sırası
Sonuç
Mixed Content çözümünde doğru sıra:
Console → problemli URL → kaynağın bulunduğu yer → HTTPS düzeltmesi → cache temizliği → yeniden test
şeklindedir.
SSL sertifikasının kurulu olması tek başına bütün kaynakların güvenli şekilde yüklendiğini garanti etmez.
Hangi dosyanın HTTP üzerinden çağrıldığını tek tek tespit edip kaynağında HTTPS olarak düzeltmek en temiz çözümdür.
Bu rehberde SSL çalıştığı halde Mixed Content uyarısı veren bir sitede güvensiz kaynağı nasıl bulacağınızı ve problemi kalıcı şekilde nasıl düzelteceğinizi adım adım inceleyeceğiz.
Önce SSL sertifikasının gerçekten çalıştığını doğrulayın
Şu adresi doğrudan açın:
Kod:
https://site.comSite HTTPS üzerinden hiç açılmıyorsa önce SSL sertifikasının kendisini kontrol etmeniz gerekir.
Mixed Content problemi genellikle HTTPS sayfası açıldığı halde sayfa içerisindeki bazı kaynakların HTTP kullanmasıdır.
1. Mixed Content nedir?
Sayfanız:
Kod:
https://site.comüzerinden açılır.
Ancak HTML içerisinde örneğin:
Kod:
http://site.com/gorsel.webpçağrısı bulunur.
HTTPS sayfanın HTTP kaynağı çağırması Mixed Content oluşturabilir.
2. Sorun yalnızca görsellerden kaynaklanmaz
HTTP üzerinden çağrılan şu kaynaklar problem oluşturabilir:
- Görseller
- CSS dosyaları
- JavaScript
- Fontlar
- iframe
- Video kaynakları
- Harici widget'lar
- Bazı API çağrıları
3. Tarayıcı geliştirici araçlarını açın
Chrome veya benzeri bir tarayıcıda sorunlu sayfayı açın.
Klavyeden:
Kod:
F12tuşuna basın.
Ardından:
Console
sekmesini açın.
Mixed Content problemi varsa tarayıcı çoğu zaman HTTP üzerinden çağrılan URL'yi burada gösterir.
4. Network sekmesini kontrol edin
Developer Tools içerisinde:
Network
sekmesini açın.
Sayfayı yenileyin.
İstekler arasında:
Kod:
http://ile başlayan kaynakları arayın.
Amaç hangi dosyanın hâlâ HTTP üzerinden çağrıldığını bulmaktır.
5. Sayfa kaynağında HTTP URL'lerini arayın
Sayfa kaynağında:
Kod:
http://ifadesini arayın.
Özellikle:
Kod:
src=
href=
url()içerisinde kullanılan URL'leri kontrol edin.
Düz metin olarak yazılmış bir HTTP adresi her zaman Mixed Content oluşturmaz.
6. WordPress site adreslerini kontrol edin
WordPress kullanıyorsanız:
Ayarlar → Genel
alanını açın.
Şunların HTTPS kullandığını kontrol edin:
Kod:
WordPress Adresi
Site AdresiÖrneğin:
Kod:
http://site.comyerine:
Kod:
https://site.comkullanılmalıdır.
7. Eski içeriklerde HTTP kayıtları kalmış olabilir
Site daha önce HTTP ile çalıştıysa içeriklerde şu tür eski URL'ler bulunabilir:
Kod:
http://site.com/wp-content/uploads/resim.webpSSL sertifikası kurmak veritabanındaki bütün eski URL'leri her zaman otomatik değiştirmez.
8. Veritabanında yedeksiz toplu değiştirme yapmayın
Şu değişikliği doğrudan ve yedeksiz uygulamayın:
Kod:
http://site.com
→
https://site.comÖzellikle WordPress veritabanında özel veri biçimleri bulunabilir.
Toplu değiştirme öncesinde:
- Veritabanı yedeği alın
- WordPress uyumlu araç kullanın
- Mümkünse önce test çalıştırın
- Domaini doğru yazdığınızdan emin olun
9. Tema dosyalarını kontrol edin
Tema içerisinde sabit olarak yazılmış HTTP URL'si olabilir.
Örneğin:
Kod:
background-image: url('http://site.com/bg.webp');Tema dosyalarında ve tema seçeneklerinde:
Kod:
http://araması yapın.
10. CSS içerisindeki fontları kontrol edin
Sayfada hiçbir HTTP görsel göremediğiniz halde Mixed Content devam ediyorsa font dosyalarını inceleyin.
Örneğin:
Kod:
@font-face {
src: url('http://site.com/fonts/font.woff2');
}güvensiz kaynak oluşturabilir.
11. Harici servisleri kontrol edin
Site şu tür harici kaynaklar kullanabilir:
- Harita
- Video
- Canlı destek
- Rezervasyon
- Sayaç
- Harici font
Bu servislerden birinin URL'si HTTP olabilir.
Varsa HTTPS sürümünü kullanın.
12. iframe kodlarını kontrol edin
Örneğin:
Kod:
<iframe src="http://example.com/widget"></iframe>HTTPS sayfada Mixed Content oluşturabilir.
iframe kaynağının HTTPS destekleyip desteklemediğini kontrol edin.
13. CDN adreslerini kontrol edin
Ana site:
Kod:
https://site.comüzerinden açılıyor olabilir.
Ancak statik dosyalar:
Kod:
http://cdn.site.comüzerinden yükleniyorsa problem devam eder.
CDN domaininin de HTTPS desteklediğinden emin olun.
14. Cache temizliği yapın
HTTP URL'sini düzelttikten sonra eski içerik cache'den gelmeye devam edebilir.
Şunları temizleyin:
- Site cache
- WordPress cache
- Sunucu cache
- CDN cache
- Tarayıcı cache
Ardından gizli sekmede tekrar test edin.
15. HTTP'den HTTPS'ye yönlendirme yeterli olmayabilir
Şöyle bir yapı bulunabilir:
Kod:
http://site.com/resim.webp
→
https://site.com/resim.webpAncak mümkün olduğunda sayfa kaynağında doğrudan:
Kod:
https://site.com/resim.webpkullanmak daha temizdir.
16. Ana domain yönlendirmesini kontrol edin
Şu adres:
Kod:
http://site.comHTTPS sürümüne yönlenmelidir.
Mümkün olduğunca gereksiz yönlendirme zincirlerinden kaçının.
17. Mixed Content ile sertifika hatasını karıştırmayın
Mixed Content:
Geçerli HTTPS sayfasının HTTP kaynak çağırmasıdır.
Ancak tarayıcı:
- Sertifikanın süresi dolmuş
- Sertifika domainle eşleşmiyor
- Sertifika güvenilir değil
diyorsa problem farklıdır.
18. DNS değişikliğinden sonra SSL farklı davranıyorsa
Domain yakın zamanda yeni sunucuya taşındıysa bazı DNS resolver'ları eski sunucu IP'sini kullanıyor olabilir.
Eski ve yeni sunucuda farklı SSL yapılandırmaları varsa kullanıcılarda farklı sonuçlar görülebilir.
Bu durumda DNS Değişikliği Ne Kadar Sürer? DNS Yayılımı Nasıl Kontrol Edilir? rehberini kullanabilirsiniz.
19. HTTPS dosyası 403 veriyorsa
Kaynak URL'si doğru şekilde:
Kod:
https://site.com/style.cssolabilir.
Ancak sunucu bu dosyaya:
Kod:
403 Forbiddendöndürüyor olabilir.
Bu durumda problem Mixed Content değil erişim iznidir.
403 Forbidden Hatası Nedir? cPanel'de Nasıl Çözülür? rehberindeki kontrolleri uygulayın.
Mixed Content hızlı kontrol sırası
- HTTPS adresi çalışıyor mu?
- Console hangi HTTP URL'sini gösteriyor?
- Network bölümünde HTTP kaynak var mı?
- WordPress adresleri HTTPS mi?
- Eski içeriklerde HTTP URL'si var mı?
- Tema ve CSS dosyaları kontrol edildi mi?
- Font ve iframe kaynakları HTTPS mi?
- CDN HTTPS kullanıyor mu?
- Cache temizlendi mi?
- HTTP ana domain HTTPS'ye yönleniyor mu?
Sonuç
Mixed Content çözümünde doğru sıra:
Console → problemli URL → kaynağın bulunduğu yer → HTTPS düzeltmesi → cache temizliği → yeniden test
şeklindedir.
SSL sertifikasının kurulu olması tek başına bütün kaynakların güvenli şekilde yüklendiğini garanti etmez.
Hangi dosyanın HTTP üzerinden çağrıldığını tek tek tespit edip kaynağında HTTPS olarak düzeltmek en temiz çözümdür.

