Ziyaretçileriniz sitenize girince tarayıcı kırmızı bir uyarı sayfası gösteriyor ve sayfaya devam etmenizi önermiyor. Çoğu zaman bu, wordpress ssl sertifikası süresi doldu durumudur. Siteniz çalışıyordur, veritabanı sağlamdır, ama sertifikanın geçerlilik tarihi geçtiği için tarayıcılar güvenmeyi reddeder. Bu yazıda uyarının nedenini nasıl teşhis edeceğinizi, hosting panelinden ve komut satırından nasıl düzelteceğinizi, WordPress tarafındaki HTTPS ayarlarını ve bir daha yaşamamak için neler yapacağınızı bulacaksınız. Sertifikaların neden daha sık yenilenmesi gerektiğini SSL sertifika süreleri kısalıyor yazısında anlattık.
Süresi dolmuş sertifika uyarısı neye benzer?
Tarayıcıya göre mesaj değişir. Chrome ve Edge’de “Bağlantınız gizli değil” ve hata kodu olarak NET::ERR_CERT_DATE_INVALID görürsünüz. Firefox’ta SEC_ERROR_EXPIRED_CERTIFICATE koduyla “Olası bir güvenlik riski” uyarısı çıkar. Bu uyarıların hepsi, sertifikanın tarihinin geçtiğini ya da bilgisayarın saatinin yanlış olduğunu söyler.
İlk kontrol olarak kendi cihazınızın tarih ve saatinin doğru olduğundan emin olun. Başka bir cihazdan, örneğin telefonunuzun mobil verisinden de deneyin. Hata herkeste çıkıyorsa sorun sertifikadadır. Sertifikanın gerçek bitiş tarihini tarayıcıdaki kilit simgesi (sertifika ayrıntıları) ya da şu komutla görebilirsiniz:
echo | openssl s_client -connect alanadiniz.com:443 -servername alanadiniz.com 2>/dev/null | openssl x509 -noout -datesÇıktıdaki notAfter satırı bitiş tarihidir. Bu tarih geçmişse sertifika dolmuştur. Komut satırı kullanmadan bakmak isterseniz ücretsiz WordPress site kontrolü sertifikanın kalan süresini de gösterir.
Sertifika neden otomatik yenilenmedi?
Otomatik yenileme birkaç noktada kopabilir. En sık nedenler şunlardır:
- Zamanlanmış görev çalışmıyor: Certbot ya da hosting aracının cron görevi sunucu taşınınca, güncelleme sonrası ya da hesap değişince kaybolmuş olabilir.
- HTTP doğrulaması engelleniyor: Let’s Encrypt, /.well-known/acme-challenge yoluna dışarıdan erişmeye çalışır. Güvenlik duvarı, zorunlu HTTPS yönlendirmesi, bir güvenlik eklentisi ya da önbellek bu isteği bozarsa doğrulama başarısız olur.
- DNS değişti: Alan adının DNS kayıtları başka bir sağlayıcıya taşındı ya da A kaydı artık sertifikayı isteyen sunucuya işaret etmiyor.
- Hosting değişikliği: Siteyi başka bir sunucuya taşıdınız ama sertifika eski yerde kaldı.
- Ücretli sertifikanın yenilenmemesi: Elle yenilenen sertifikanın bitişi unutuldu, ödeme alınamadı ya da yenileme e-postası spam’e düştü.
- Alan adının kendisi bitti: Alan adı yenilenmediyse sertifika da yenilenemez.
Süresi dolmadı ama hâlâ uyarı alıyorsam
Her SSL uyarısı süresi dolmuş sertifika demek değildir. Benzer görünen başka sorunlar da vardır ve çözüm yolları farklıdır.
- Alan adı uyuşmazlığı (NET::ERR_CERT_COMMON_NAME_INVALID): sertifika yalnızca alanadiniz.com için alınmış ama ziyaretçi www.alanadiniz.com adresine giriyor olabilir. Sertifikanın kapsadığı adları (SAN) kontrol edin ve her iki adresi de ekleyin.
- Eksik ara sertifika: sunucu yalnızca sizin sertifikanızı gönderir, ara sertifikayı göndermezse bazı tarayıcılar ve cihazlar güvenmez, bazıları güvenir. Let’s Encrypt kullanıyorsanız web sunucusunda tek başına sertifika dosyası yerine tam zinciri içeren fullchain dosyasını göstermelisiniz.
- Yanlış sertifika sunuluyor: aynı sunucuda birden çok site varsa yanlış sanal sunucu bloğu başka bir sitenin sertifikasını gösterebilir.
- Cihaz saati: eski bir telefonun ya da bilgisayarın saati yanlışsa sertifika henüz geçerli değil ya da süresi dolmuş görünebilir.
Cloudflare arkasındaki siteler
Site Cloudflare’in arkasındaysa ziyaretçi, Cloudflare’in uçtaki sertifikasını görür. Cloudflare ile kaynak sunucunuz arasındaki bağlantının güvenliği SSL/TLS şifreleme kipine bağlıdır. Kaynak sunucudaki sertifikanın süresi dolduysa ve kipiniz kaynak sertifikasını doğruluyorsa Cloudflare 52x serisi bir hata gösterir. Kipi ‘Esnek’ yapıp sorunu gizlemek kalıcı çözüm değildir ve çoğu zaman WordPress’te yönlendirme döngüsüne yol açar. Doğru çözüm kaynak sunucudaki sertifikayı yenilemektir.
Süresi dolan SSL sertifikası nasıl yenilenir?
Sertifikayı kimin yönettiğine göre yöntem değişir. Aşağıdaki tablo en yaygın durumları özetliyor.
| Durum | Ne yapılır |
|---|---|
| cPanel / AutoSSL | SSL/TLS Durumu ekranından alan adı için AutoSSL’i çalıştırın. Hata veriyorsa hata mesajı doğrulamanın neden başarısız olduğunu söyler. |
| Hosting paneli (Plesk, özel panel) | Panelin Let’s Encrypt ya da SSL aracından sertifikayı yenileyin ya da yeniden düzenleyin. |
| Certbot (kendi sunucunuz) | Aşağıdaki komutla yenilemeyi zorlayın. |
| Cloudflare kullanıyorsanız | SSL/TLS ayarlarında uç sertifikasının durumuna ve kaynak sunucu sertifikasının geçerliliğine bakın. |
| Ücretli sertifika | Sağlayıcıdan yenileme isteyin, yeni sertifikayı hosting paneline yükleyin. |
Certbot ile yenileme
Kendi sunucunuzda Certbot kullanıyorsanız önce yenilemeyi deneme modunda çalıştırıp hatayı görebilirsiniz:
sudo certbot renew --dry-run
# Sorun yoksa gerçek yenileme
sudo certbot renew
# Web sunucusuna yeni sertifikayı yükletin (Nginx örneği)
sudo systemctl reload nginxDeneme modundaki hata mesajı genellikle sorunu doğrudan söyler: doğrulamaya erişilemiyor, DNS kaydı eşleşmiyor ya da hız sınırı aşıldı. Certbot’un zamanlayıcısı çalışıyor mu diye de systemctl list-timers komutuyla ya da crontab’a bakarak kontrol edin.
Sertifika yenilemesi doğrulamada neden takılır?
Let’s Encrypt gibi ACME tabanlı sertifika verenler, alan adının sizin olduğunu iki yoldan biriyle doğrular. HTTP doğrulamasında, sertifikayı isteyen sunucu alan adı altındaki /.well-known/acme-challenge/ yoluna bir dosya koyar ve sertifika veren dışarıdan bu dosyaya erişmeye çalışır. DNS doğrulamasında ise alan adının DNS’ine belirli bir TXT kaydı eklenir. Joker karakterli (wildcard) sertifikalar DNS doğrulaması gerektirir.
HTTP doğrulaması WordPress sitelerinde en çok şu nedenlerle başarısız olur:
- Bir güvenlik eklentisi ya da güvenlik duvarı, nokta ile başlayan klasörlere (.well-known) erişimi engelliyordur.
- Yönlendirme kuralları, doğrulama isteğini HTTPS’e ya da başka bir adrese yönlendiriyor ve sertifika veren buna uymuyordur. Mevcut sertifika bozukken HTTPS’e yönlendirme, doğrulamayı kendi kendine engelleyen bir döngü oluşturabilir.
- Önbellek eklentisi ya da CDN, doğrulama dosyasının yerine eski bir yanıtı sunuyordur.
- Alan adı farklı bir sunucuya yönleniyordur (DNS’teki A kaydı yeni sunucuya gitmiştir ama sertifika eski yerde yenilenmeye çalışılıyordur).
- Cloudflare gibi bir vekil (proxy) hizmeti doğrulama isteklerini kendi kurallarıyla karşılıyordur.
Bu durumların çoğunda certbot renew --dry-run çıktısı sorunun hangi adreste ve hangi hata koduyla oluştuğunu gösterir. Sertifika verenlerin yeniden deneme ve başarısız doğrulama için hız sınırları vardır. Bu yüzden ayarı düzeltmeden art arda denemek sizi geçici olarak kilitleyebilir. Önce sorunu düzeltin, sonra tek bir deneme yapın. Doğrulama dosyasına dışarıdan erişilebildiğini, geçici olarak koyduğunuz bir dosyayı bir tarayıcıdan açarak sınayabilirsiniz.
Yenilemeden sonra WordPress HTTPS ayarları nasıl kontrol edilir?
Sertifika geçerli olsa da WordPress hâlâ HTTP adresleri kullanıyorsa tarayıcı uyarı vermeye devam eder. İki ayarı kontrol edin: Ayarlar, Genel ekranındaki WordPress Adresi (URL) ve Site Adresi (URL) https:// ile başlamalı. WordPress belgeleri iki adresin de sonda eğik çizgi olmadan ve https:// ile yazılmasını söyler.
wp-admin’e girilemiyorsa bu iki değeri wp-config.php dosyasında geçici olarak sabitleyebilirsiniz:
define( 'WP_HOME', 'https://alanadiniz.com' );
define( 'WP_SITEURL', 'https://alanadiniz.com' );Bu satırlar, ayarlar ekranından düzenlemeyi kilitler. Giriş yapıp veritabanındaki değerleri düzelttikten sonra kaldırmak daha temizdir. WP-CLI varsa tek komut yeterli: wp option update home 'https://alanadiniz.com' ve aynısını siteurl için çalıştırın. İçeriğin içine gömülü eski HTTP adresleri için wp search-replace kullanın, ayrıntısı yedek geri yükleme rehberinde var.
CDN ya da ters vekil (reverse proxy) arkasındaki sitelerde, WordPress isteğin HTTPS olduğunu anlayamayıp sürekli HTTP’ye geri yönlendirebilir. Bu durumda vekil sunucu, isteğin orijinal protokolünü bir başlıkla (X-Forwarded-Proto) iletir ve wp-config.php içinde bunu WordPress’e tanıtmak gerekir:
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'on';
}Bu kodu, wp-settings.php satırından önce ekleyin. Yalnızca vekilinize güveniyorsanız kullanın, çünkü başlığı istemci de gönderebilir. Yönetim paneli girişinin her zaman HTTPS üzerinden olmasını istiyorsanız define( 'FORCE_SSL_ADMIN', true ); satırı da işinize yarar.
Karışık içerik ve HTTP’den HTTPS’e yönlendirme nasıl düzeltilir?
Karışık içerik (mixed content), sayfa HTTPS ile açılırken içindeki görsel, betik ya da stil dosyasının HTTP ile çağrılmasıdır. Tarayıcı bunları engeller ya da kilit simgesini uyarıya çevirir. Tarayıcının geliştirici konsolu (F12, Konsol) hangi adreslerin sorun olduğunu listeler.
- 1Konsolda uyarı veren adresleri bulun: genellikle görsel, tema ya da eklenti dosyaları ya da eski içerikteki sabit HTTP adresleridir.
- 2Yazı ve sayfa içindeki eski adresleri wp search-replace ile HTTPS’e çevirin (önce --dry-run ile deneyin).
- 3Temanın ve eklentilerin ayarlarında, özel CSS’te ya da widget’larda sabit yazılmış HTTP adreslerini düzeltin.
- 4Sunucu düzeyinde HTTP’den HTTPS’e tek, kalıcı (301) bir yönlendirme tanımlayın. Zincirleme yönlendirmeden kaçının.
- 5Önbellek eklentinizi ve CDN önbelleğini temizleyin.
Apache kullanan sitelerde yönlendirme genellikle .htaccess dosyasında yapılır. Yanlış bir kural sonsuz yönlendirme döngüsüne yol açabilir. Hosting panelinizin ‘HTTPS’e zorla’ seçeneği varsa onu kullanmak daha güvenlidir. Siteniz bu işlemlerden sonra hata veriyorsa WordPress kritik hata rehberi işe yarar.
Yenileme sonrası son kontrol listesi
- 1Sertifikanın yeni bitiş tarihini yukarıdaki openssl komutuyla ya da tarayıcıdan doğrulayın.
- 2Hem kök alan adını hem www adresini HTTPS ile açın, ikisinde de uyarı olmadığından emin olun.
- 3http:// adresini açıp https:// adresine tek adımda yönlendiğini görün.
- 4Ödeme, giriş ve form sayfalarını deneyin. Karışık içerik en çok bu sayfalarda bozulma yaratır.
- 5Bitiş tarihini takvime ya da izleyiciye ekleyin ki bir sonraki yenileme sessiz kalmasın.
Hangi sertifika türünü seçmeliyim?
Çoğu WordPress sitesi için alan adı doğrulamalı (DV) sertifika yeterlidir. Let’s Encrypt ve hosting firmalarının AutoSSL’i bu türdür. Kuruluş doğrulamalı (OV) ve genişletilmiş doğrulamalı (EV) sertifikalar şirket kimliğini de doğrular, ama tarayıcılar bunu artık ayrıcalıklı biçimde göstermez. Bu yüzden tür seçimini yalnızca sözleşme ya da düzenleme zorunluluğunuz varsa ücretli sertifikaya yönlendirin. Ücretsiz otomatik yenilenen bir sertifika, yılda bir elle yenilenen ücretli sertifikadan çoğu durumda daha az risk taşır.
Alan adının süresini de kontrol edin
Alan adı bitiş tarihi unutulursa sertifika yenilenemez, çünkü doğrulama alan adı kontrolüne dayanır. Alan adınızın otomatik yenilemesini açın, kayıt şirketindeki e-posta adresinizin güncel olduğundan emin olun ve bitiş tarihini sertifikayla aynı takvimde izleyin.
Bir daha SSL sertifikası dolmasın diye ne yapmalıyım?
Süresi dolan sertifika çoğu zaman önlenebilir bir olaydır, çünkü bitiş tarihi bellidir. Önleme için üç şey yeter:
- Sahipliği netleştirin: sertifikayı kimin yenilediğini (hosting, Cloudflare, siz) yazıp bir yere kaydedin.
- Yenilemeyi bağımsız izleyin: sertifikanın bitiş tarihine 14 ve 7 gün kala uyaran bir takvim ya da izleyici kullanın. Otomatik yenileme çalışıyor olsa bile bunu yapın, çünkü yenileme bozulduğunda ilk haber bu uyarıdan gelmelidir.
- Sertifika ömürlerinin kısaldığını hesaba katın: 15 Mart 2026’dan beri yeni sertifikalar en fazla 200 gün geçerli, bu süre 2027’de 100, 2029’da 47 güne inecek. Elle yenileme bu tempoda sürdürülebilir olmaktan çıkıyor.
Siteyi ayakta tutmak için sertifika izlemeyle birlikte kesintiyi de izlemelisiniz. Site gerçekten açılıyor mu sorusu için WordPress uptime takibi yazısına bakın.
Sık sorulan sorular
SSL sertifikası süresi dolunca site çöker mi?
Site çalışmaya devam eder, ama tarayıcılar ziyaretçiye uyarı sayfası gösterir ve ziyaretçinin sayfaya devam etmesini zorlaştırır. Kullanıcı açısından site erişilemez gibi davranır.
Süresi dolmuş sertifikayla siteye girmenin yolu var mı?
Tarayıcının gelişmiş seçeneğinden uyarıyı geçebilirsiniz, ama bunu kendi sitenizde geçici olarak yapın, ziyaretçilerinize önermeyin. Kalıcı çözüm sertifikayı yenilemektir.
Let’s Encrypt sertifikası neden yenilenmiyor?
En yaygın nedenler çalışmayan zamanlayıcı, doğrulama yoluna erişimi engelleyen güvenlik duvarı ya da yönlendirme ve değişmiş DNS kayıtlarıdır. certbot renew --dry-run hatanın kaynağını gösterir.
Hosting firmam sertifikayı yenileyemiyor, ne yapmalıyım?
Önce yenileme hatasının metnini isteyin ve alan adının DNS kayıtlarının hosting hesabınıza işaret ettiğini kontrol edin. Sorun hosting tarafındaysa geçici çözüm olarak sertifikayı başka bir yolla (Let’s Encrypt aracı, ücretli sertifika ya da Cloudflare’in uç sertifikası) kurmak mümkündür. Bu sırada site açık kalır, kalıcı çözümü sonra planlarsınız.
Sertifikayı yeniledim ama hâlâ karışık içerik uyarısı alıyorum
Bu sertifika sorunu değil, içerikteki HTTP adresleri sorunudur. Konsoldan adresleri bulup HTTPS’e çevirin ve önbelleği temizleyin.
Sertifika bitişini önceden görün
Watch Your WP’deki SSL ve domain takvimi, sitelerinizin sertifika ve alan adı son kullanma tarihlerini tek takvimde toplar. Yenileme sessizce bozulsa bile bitişten önce haberiniz olur. Ücretsiz ve tüm sitelerinizde kullanılabilir.
Kaynaklar
- WordPress: Site taşıma ve adres değiştirme (WP_HOME, WP_SITEURL)
- Let’s Encrypt: 90 günden 45 güne geçiş takvimi
- CA/Browser Forum: Ballot SC-081v3

Erdinç
Watch Your WP'yi geliştiriyor. WordPress bakım, güvenlik ve site yönetimi deneyiminden yazıyor.
LinkedIn
