Hosting Paketlerinde %80 indirim + Ücretsiz Domain & SSL!
Detaylar

Bilgi Bankası

HTTPS'e geçiş ve "güvenli değil" (karışık içerik) uyarısını giderme

Kısaca: HTTPS'e geçiş üç işten oluşur: geçerli bir sertifika, http adreslerinden https'e kalıcı (301) yönlendirme ve sayfadaki bütün kaynakların https ile yüklenmesi. Sertifika doğru kurulu olduğu hâlde tarayıcı "güvenli değil" diyorsa neden çoğunlukla sayfada http:// ile çağrılan görsel, betik ya da stil dosyalarıdır (karışık içerik).

Geçiş sırası

  1. Sertifikayı doğrulayın. cPanel'de SSL/TLS Durumu (SSL/TLS Status) sayfasında alan adınızın ve www adının sertifikalı olduğunu görün; https://alanadiniz.com ve https://www.alanadiniz.com adreslerini ayrı ayrı açıp deneyin (bkz. ücretsiz SSL).
  2. Site adresini güncelleyin. WordPress'te Ayarlar → Genel sayfasında WordPress Adresi (URL) ve Site Adresi (URL) alanlarını https ile başlayacak şekilde değiştirin. Diğer yazılımlarda site adresi genellikle yönetim panelindeki ayarlarda ya da yapılandırma dosyasında bulunur.
  3. Yönlendirmeyi açın. cPanel'de Alan Adları (Domains) sayfasındaki HTTPS Yönlendirmesini Zorla (Force HTTPS Redirect) anahtarını açın ya da .htaccess ile 301 yönlendirmesi ekleyin.
  4. İçerikteki eski adresleri düzeltin. Aşağıdaki bölümlerde anlatıldığı gibi karışık içeriği bulun ve veritabanındaki http:// adreslerini değiştirin.
  5. Önbellekleri temizleyin. Önbellek eklentinizi (ör. LiteSpeed Cache), varsa CDN önbelleğini ve tarayıcınızı (Ctrl + F5) temizleyin.
  6. Arama motorlarına bildirin. Google Search Console'da sitenizin https sürümünün (ya da alan adı mülkünün) ekli olduğundan emin olun ve site haritanızı https adresiyle yeniden gönderin.

Karışık içeriği bulma

Sayfa https ile açıldığı hâlde içindeki bir kaynak http:// ile çağrılıyorsa buna karışık içerik (mixed content) denir. Chrome veya Edge'de sayfayı açıp F12 tuşuna basın (Mac'te Cmd + Option + I) ve Konsol (Console) sekmesine bakın. Sorunlu her kaynak için şuna benzer bir uyarı görürsünüz:

Mixed Content: The page at 'https://alanadiniz.com/' was loaded over HTTPS,
but requested an insecure script 'http://alanadiniz.com/js/slider.js'.
This request has been blocked; the content must be served over HTTPS.

Uyarıdaki adres, düzeltmeniz gereken kaynağı gösterir. Sayfa kaynağını Ctrl + U ile açıp Ctrl + F ile http:// araması yapmak da işe yarar. Başka sitelere verilen normal bağlantılar (<a href>) karışık içerik sayılmaz; sorun sayfanın yüklediği kaynaklardadır.

Kaynak türüTarayıcının davranışıBelirti
Görsel, ses, videoGüncel tarayıcılar https ile yüklemeyi dener.Kaynak https'te yoksa görsel kırık görünür.
Betik, stil dosyası, iframe, yazı tipiEngellenir.Menü, slayt, form ya da sayfa düzeni bozulur.
Form (action="http://…")Gönderim sırasında uyarı gösterilir.Ziyaretçi "güvenli olmayan form" uyarısı görür.

Kaynak sizin sitenize aitse adresi https ile değiştirin. Başka bir siteden geliyorsa ve o site https desteklemiyorsa kaynağı kaldırın ya da kendi sunucunuza alın. Tema dosyalarına ve CSS içindeki url(…) ifadelerine elle yazılmış adresleri de unutmayın.

Veritabanındaki http:// adreslerini değiştirme

İçerik sistemleri yazı ve görsel adreslerini veritabanında tam adresle saklar. Bu adresleri değiştirmeden önce mutlaka yedek alın (cPanel'de Yedekleme (Backup) ya da phpMyAdmin'den dışa aktarma).

WordPress: WP-CLI ile

Hesabınızda SSH ya da cPanel Terminal erişimi ve WP-CLI varsa, WordPress klasörünüzde şu komutları çalıştırın. İlk arama-değiştirme --dry-run ile yalnız kaç kayıt değişeceğini gösterir, hiçbir şeyi değiştirmez:

cd ~/public_html
wp db export yedek-https-oncesi.sql
wp search-replace 'http://alanadiniz.com' 'https://alanadiniz.com' --all-tables-with-prefix --skip-columns=guid --dry-run
wp search-replace 'http://alanadiniz.com' 'https://alanadiniz.com' --all-tables-with-prefix --skip-columns=guid

Siteniz eskiden www ile açılıyorsa aynı işlemi http://www.alanadiniz.com için de yapın. WP-CLI kullanamıyorsanız aynı işi veritabanı arama-değiştirme eklentileriyle (ör. Better Search Replace) yapabilirsiniz: önce deneme modunda çalıştırın, işiniz bitince eklentiyi kaldırın.

Önemli: WordPress tablolarında phpMyAdmin'den düz SQL REPLACE ile değiştirme yapmayın. Tema ayarları ve bileşenler "serileştirilmiş" veri olarak saklanır; adresin uzunluğu değişince bu veriler bozulur ve ayarlar kaybolur. WP-CLI ve arama-değiştirme eklentileri bu verileri doğru şekilde günceller.

Geçici önlem: upgrade-insecure-requests

Bütün adresleri düzeltene kadar tarayıcıdan sayfadaki http kaynaklarını https olarak istemesini isteyebilirsiniz. Bu satır yalnız kaynağın https sürümü varsa işe yarar; kalıcı çözüm değildir:

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

HSTS: acele etmeden geçin

HSTS (HTTP Strict Transport Security) başlığı, tarayıcıya sitenize belirli bir süre boyunca yalnız HTTPS ile bağlanmasını söyler. Bu süre içinde sertifikada bir sorun çıkarsa ziyaretçiler uyarıyı geçip siteye giremez; başlığı kaldırsanız bile daha önce siteyi ziyaret etmiş tarayıcılar süre dolana kadar kuralı uygular.

Bu yüzden HSTS'yi, HTTPS birkaç hafta sorunsuz çalıştıktan sonra ve kısa bir süreyle açın; her şey yolundaysa süreyi kademeli artırın (ör. 300 saniye → 1 hafta → 1 yıl, yani 31536000):

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=300"
</IfModule>

includeSubDomains eklemeden önce bütün alt alan adlarınızın (ör. mail, panel, test) geçerli sertifikası olduğundan emin olun. Tarayıcıların önceden yüklenen listesine girmenizi sağlayan preload seçeneğinden geri dönmek aylar sürebilir; gerçekten gerekmedikçe kullanmayın.

Aradığınızı bulamadınız mı?

Destek ekibimiz yardımcı olsun; taleplere en geç 24 saat içinde ilk yanıt veriyoruz.

Destek talebi oluşturun
Bu makale işinize yaradı mı?

0 defa görüntülendi | 0 kişi faydalı buldu

0850 532 67 10 908505326710