DataSSL Panel v2 Yayında! — Yeni DataSSL Panel v2 ile daha modern, hızlı ve kullanıcı dostu bir deneyim sunuyoruz.Yenilikler:Modern ve responsive ta...
Anasayfa İletişim
SSL Güvenliği

Mixed Content Hatası Nedir? HTTPS Sayfada HTTP Kaynak Sorunu ve Çözümü

HTTPS sayfanızda HTTP kaynaklar varsa Mixed Content hatası oluşur. Aktif ve pasif karışık içerik farkı, tespit yöntemleri ve toplu düzeltme rehberi.

10 dk okuma

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

Mixed Content hatası, HTTPS ile güvenli şekilde yüklenen bir web sayfasının içinde HTTP (güvensiz) protokolüyle yüklenen kaynaklar bulunduğunda ortaya çıkar. Bu durum sayfanın güvenliğini zayıflatır ve tarayıcılar uyarı verir veya kaynakları tamamen engeller.

2026 itibarıyla Chrome ve diğer modern tarayıcılar, mixed content konusunda çok katı kurallar uygulamaktadır. Aktif mixed content (JavaScript, CSS, iframe) tamamen engellenir, pasif mixed content (resimler) ise uyarı ile gösterilir veya otomatik olarak HTTPS'e yükseltilir.

Mixed Content Türleri

1. Aktif Mixed Content (Engellenir)

Sayfa içeriğini değiştirebilen veya hassas veri toplayabilen kaynaklar:

  • <script src="http://..."> — JavaScript dosyaları
  • <link rel="stylesheet" href="http://..."> — CSS dosyaları
  • <iframe src="http://..."> — iframe gömmeleri
  • XMLHttpRequest / Fetch API ile HTTP çağrıları
  • <object>, <embed> kaynakları

Aktif mixed content tarayıcı tarafından otomatik olarak engellenir ve sayfa bozulabilir.

2. Pasif Mixed Content (Uyarı Verilir)

Sayfa içeriğini değiştiremeyen ancak gizlilik riski oluşturan kaynaklar:

  • <img src="http://..."> — Resimler
  • <audio src="http://..."> — Ses dosyaları
  • <video src="http://..."> — Video dosyaları

Chrome 86+ sürümünden itibaren pasif mixed content da otomatik olarak HTTPS'e yükseltilir (auto-upgrade). Yükseltilemezse engellenir.

Mixed Content Nasıl Tespit Edilir?

Yöntem 1: Chrome DevTools

  1. Sayfayı Chrome'da açın → F12 ile DevTools'u açın
  2. Console sekmesinde "Mixed Content" uyarılarını arayın
  3. Security sekmesinde genel durum özetini görün
  4. Network sekmesinde "mixed-content:all" filtresi uygulayın

Yöntem 2: Why No Padlock Aracı

whynopadlock.com adresine domain adresinizi girerek tüm mixed content sorunlarını listeleyin.

Yöntem 3: Site Genelinde Tarama

# Screaming Frog veya benzeri SEO araçlarıyla
# tüm sayfaları tarayarak HTTP referanslarını bulun

# Veritabanında HTTP URL'leri arama (WordPress örneği)
SELECT * FROM wp_posts WHERE post_content LIKE '%http://%';

# Genel MySQL arama
SELECT * FROM content_table WHERE content LIKE '%src="http://%' OR content LIKE '%href="http://%';

Mixed Content Çözüm Yöntemleri

1. Content-Security-Policy ile Otomatik Yükseltme

En hızlı ve etkili çözüm. HTTP kaynakları otomatik olarak HTTPS'e yükseltilir:

# Nginx
add_header Content-Security-Policy "upgrade-insecure-requests" always;

# Apache (.htaccess)
Header always set Content-Security-Policy "upgrade-insecure-requests"

# HTML meta tag
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

⚠️ Dikkat: Bu yöntem, HTTP kaynağın HTTPS'te de mevcut olduğunu varsayar. Kaynak HTTPS'te yoksa yüklenemez.

2. URL'leri Manuel Düzeltme

Tüm http:// referanslarını https:// olarak güncelleyin:

# Veritabanında toplu güncelleme (dikkatli kullanın!)
UPDATE posts SET content = REPLACE(content, 'http://www.example.com', 'https://www.example.com');
UPDATE posts SET content = REPLACE(content, 'http://cdn.example.com', 'https://cdn.example.com');

3. Protokol-Bağımsız URL Kullanma

URL'leri protokol belirtmeden yazarak tarayıcının mevcut protokolü kullanmasını sağlayın:

<!-- Yerine: -->
<img src="http://cdn.example.com/image.jpg">

<!-- Şunu kullanın: -->
<img src="//cdn.example.com/image.jpg">

4. CDN ve Harici Kaynaklar

  • CDN sağlayıcınızın HTTPS desteği olduğundan emin olun
  • Google Fonts, jQuery CDN gibi popüler kaynaklar zaten HTTPS destekler
  • HTTPS desteklemeyen harici kaynakları yerel olarak barındırın

WordPress'te Mixed Content Çözümü

  • Really Simple SSL eklentisi ile otomatik düzeltme
  • Better Search Replace eklentisi ile veritabanında toplu URL değişikliği
  • wp-config.php'de define('FORCE_SSL_ADMIN', true); ekleyin
  • Ayarlar → Genel'de site URL'lerinin https:// ile başladığından emin olun

Sonuç

Mixed content hatası web sitenizin güvenlik algısını ve SEO performansını doğrudan etkiler. Content-Security-Policy header'ı ile hızlı bir çözüm uygulayabilir, ardından tüm HTTP referanslarını kalıcı olarak HTTPS'e güncelleyebilirsiniz. Düzenli olarak Chrome DevTools Security sekmesini kontrol ederek yeni mixed content sorunlarını önleyin.

Bu yazıyı paylaş
Yazar

Ali Yiğit

Önerilen SSL Sertifikaları

Tüm Ürünler
EV Certum

Certum Premium EV Multi-Domain SSL

Certum Premium EV Multi-Domain SSL ile birden fazla domaini EV düzeyinde koruyun. Şirket adı görünür

£310,83 /yıl
Detaylar
EV Certum

Certum Premium EV SSL

Certum Premium EV SSL ile en yüksek güven seviyesini sağlayın. Genişletilmiş doğrulama, şirket adı g

£251,48 /yıl
Detaylar
EV DigiCert

DigiCert Basic EV SSL

DigiCert Basic EV SSL ile genişletilmiş doğrulama. Tarayıcıda kurum adı görünür, $1.500.000 garanti,

£311,66 /yıl
Detaylar