WordPress’i Karışık İçerik Bırakmadan HTTPS’e Taşıma
SSL sertifikası kurmak, bir WordPress sitesinin HTTPS üzerinden tam olarak çalışması için yeterli değildir. İçeriğe sabit kodlanmış ve site ayarlarında kayıtlı http:// URL’ler güvensiz kaynakları yüklemeye devam eder; tarayıcı bunu karışık içerik (mixed content) olarak işaretler veya engeller.
Sertifikanın tek başına düzeltmediği şey
Sertifika, tarayıcı ile sunucu arasındaki bağlantıyı şifreler, ancak veritabanında hiçbir şeyi değiştirmez. wp_options tablosundaki siteurl ve home adlı iki temel ayar, sitenin referans adresini belirler: bunlar http:// olarak kalırsa WordPress bağlantılarının bir kısmını güvenli protokol olmadan üretmeye devam eder. Buna ek olarak, yazı içeriğine sabit kodlanmış http:// URL’ler (tam adresiyle eklenmiş görseller, iç bağlantılar) ve tema veya widget ayarlarında serileştirilmiş olarak kayıtlı olanlar, bir barındırma veya alan adı değişikliğiyle aynı serileştirme mekanizmasını izler — bu mekanizmayı barındırma geçişine ayrılmış sayfada ayrıntılı olarak ele alıyorum; buradaki mantık aynıdır.
Karışık içerik, tam olarak https:// üzerinden sunulan bir sayfa hâlâ http:// üzerinde olan bir kaynağı (görsel, betik, stil sayfası) yüklemeye çalıştığında ortaya çıkar: tarayıcı bu kaynağı engeller veya adres çubuğunda bir uyarı gösterir; bu da sayfayı görsel olarak bozar veya ziyaretçi için bir güvenlik uyarısı tetikler.
Bir WooCommerce mağazasında HTTPS’e geçiş yalnızca görsel bir güven meselesi değildir: bazı ödeme sağlayıcıları çalışmak için şifreli bir bağlantı gerektirir ve sertifika etkin olmadığı sürece ödeme tünelini doğrudan engeller; bu da bu işi sıradan bir tanıtım sitesinden çok, aktif bir mağazada öncelikli kılar. Karışık içerik düzeltildikten sonra, tarayıcıların bu alan adında her zaman şifreli bağlantıyı tercih etmesini sağlamak için HSTS (Strict-Transport-Security) başlığını eklerim; bu da yanlışlıkla HTTP’ye geri dönme riskini azaltır.
Bir siteyi düzgün şekilde HTTPS’e nasıl taşıyorum
-
Sertifikayı kurma
SSL/TLS sertifikasını barındırma sağlayıcısı üzerinden veya Let’s Encrypt gibi bir hizmetle kurarım ve kullanılan tüm alt alan adlarını kapsadığını kontrol ederim.
-
http’den https’e zorunlu yönlendirme
Hiçbir sayfanın http:// üzerinden erişilebilir kalmaması için yönlendirmeyi sunucu düzeyinde yapılandırırım (Apache’de .htaccess, Nginx’te server bloğu); ödeme eklentilerinin kullandığı API ve webhook adresleri de buna dahildir.
-
siteurl, home ve içeriği güncelleme
Bu iki ayarı ve içerikte ile serileştirilmiş verilerde kayıtlı her http:// URL’yi, bir barındırma veya alan adı değişikliğinde kullanılan aynı uygun araçla düzeltirim.
-
Kalan karışık içeriği tespit etme
Ana sayfalarda tarayıcı konsolunu açarak hâlâ http:// üzerinden çağrılan kaynakları (genellikle harici görseller veya unutulmuş bir üçüncü taraf betiği) tespit eder ve teker teker düzeltirim.
-
Search Console’u güncelleme
İndekslemeyi doğru şekilde takip etmeye devam etmek için Search Console’a, http:// sürümünden ayrı bir adres olarak kabul edilen https:// mülkünü eklerim.
Daha fazlası için
-
Genel kılavuz: bir siteyi HTTPS’e taşıma
Her CMS için geçerli, WordPress’e özgü daha az ayrıntı içeren genel yöntem.
-
Kesintisiz barındırma sağlayıcısı değişikliği
Bu sayfada değinilen serileştirme mekanizmasının tam ayrıntısı.
-
Sıralamaları kaybetmeden alan adı değiştirme
Aynı düzeltme ve doğrulama mantığını izleyen başka bir URL değişikliği.
-
PHP serileştirmesini anlama
Basit bir SQL değişikliğini tehlikeli kılan mekanizmanın tam tanımı.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.