LIONFIN
WordPress

WordPress Beyaz Ekran Hatası (WSOD) Nasıl Çözülür?

6 dk okuma Güncelleme: 1 görüntülenme
WordPress Beyaz Ekran Hatası (WSOD) Nasıl Çözülür?

WordPress beyaz ekran hatası, sitenin ya da yönetim panelinin hiçbir içerik göstermeden bembeyaz açılmasıdır ve arkasında neredeyse her zaman yarıda kesilmiş bir PHP betiği vardır. Sunucu hatayı ekrana basmadığı için sayfa boş kalır; bu yüzden ilk iş tahmin yürütmek değil, hatanın kaydını görmektir.

Güncel WordPress sürümleri aynı durumda çoğunlukla boş sayfa yerine “Bu sitede kritik bir hata oluştu” mesajını gösterir; teşhis ve çözüm yolu ise aynıdır. Aşağıdaki adımların tamamı dosya erişimiyle (SFTP ya da panelin dosya yöneticisi) yapılabilir; yönetim paneline giremediğinizde de LIONFIN WordPress hosting hesabınızın dosyalarına bu yollarla ulaşırsınız.

Kısa cevap

WordPress beyaz ekran hatası (WSOD, White Screen of Death), PHP’de ölümcül bir hata oluştuğu hâlde ekrana hiçbir şey yazdırılmadığında görülen boş sayfadır; WordPress 5.2’den bu yana çoğu durumda bunun yerine bir “kritik hata” mesajı çıkar. Neden çoğunlukla bir eklenti, tema, bellek sınırı ya da PHP sürüm uyumsuzluğudur. Çözüm için WP_DEBUG_LOG ile hatayı kaydedin, ardından sorunlu bileşeni devre dışı bırakın.

WordPress beyaz ekran hatası neden olur?

Beyaz ekranın ardında hemen her zaman PHP’nin çalışmayı durdurduğu ölümcül bir hata (fatal error) vardır. En sık nedenler ve ilk bakılacak yerler:

NedenTipik tetikleyiciİlk kontrol
Eklenti hatası ya da çakışmasıEklenti güncellemesi veya yeni eklenti kurulumuEklentileri toplu devre dışı bırakmak
Tema hatasıTema güncellemesi, functions.php düzenlemesiVarsayılan temaya geçmek
Bellek sınırıAğır sayfa oluşturucu, büyük içe aktarmadebug.log içinde “Allowed memory size” satırı
PHP sürüm uyumsuzluğuPHP sürümünün yükseltilmesiÖnceki PHP sürümüne geçici dönüş
Eksik ya da bozuk dosyaYarıda kesilen güncelleme, tamamlanmamış FTP yüklemesiBileşeni ya da çekirdeği yeniden yüklemek
Önbellekteki boş sayfaHata anında önbelleğe alınmış sayfaÖnbelleği temizlemek

Hatanın nerede görüldüğü de ipucudur: tek bir sayfadaki boşluk çoğu zaman o sayfada kullanılan bir kısa kod ya da bloktan, yalnızca yönetim panelindeki boşluk ise panelde çalışan bir eklentiden kaynaklanır.

Kritik hata mesajı ve kurtarma modu nasıl kullanılır?

WordPress 5.2 ile gelen ölümcül hata koruması, boş sayfa yerine bir uyarı gösterir ve yönetim e-posta adresine, hatanın hangi eklenti ya da temadan kaynaklandığını belirten bir ileti gönderir. İletideki bağlantı sizi kurtarma modunda yönetim paneline sokar:

  1. E-postadaki kurtarma modu bağlantısını açın ve giriş yapın.
  2. Sorunlu eklenti ya da tema yalnızca sizin oturumunuz için duraklatılır; Eklentiler ekranında hatayı veren bileşen ayrıca işaretlenir.
  3. Bileşeni devre dışı bırakın, güncelleyin ya da silin.
  4. Üst çubuktaki kurtarma modundan çıkış bağlantısıyla (Exit Recovery Mode) oturumu kapatın ve siteyi ziyaretçi gözüyle kontrol edin.

Duraklatma yalnızca kurtarma oturumu için geçerlidir; bileşeni devre dışı bırakana kadar ziyaretçiler hatayı görmeye devam eder. İleti gelmiyorsa sitenin e-posta gönderimi büyük olasılıkla sorunludur; bağlantıyı beklemeden sonraki bölümlerdeki dosya tabanlı yöntemlere geçin, gönderimi ise daha sonra SmartHost SMTP relay gibi kimlik doğrulamalı bir SMTP hizmetiyle düzeltin.

Hatanın nedeni debug.log ile nasıl bulunur?

Hata ayıklama günlüğü, WordPress beyaz ekran hatasının arkasındaki PHP hatasını dosya yoluyla birlikte kaydeder ve tahmini ortadan kaldırır. wp-config.php dosyasında, düzenlemeyi bırakmanızı söyleyen yorum satırının üstüne şu satırları ekleyin; dosyada zaten bir WP_DEBUG tanımı varsa yeni satır eklemek yerine onun değerini değiştirin:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Sayfayı bir kez yenileyin ve wp-content/debug.log dosyasının son satırlarına bakın. Aradığınız satır genellikle şuna benzer:

[12-Oct-2026 09:14:05 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function eski_fonksiyon() in /home/kullanici/public_html/wp-content/plugins/ornek-eklenti/ornek.php:42

Yoldaki plugins/ornek-eklenti ya da themes/tema-adi kısmı suçluyu doğrudan gösterir. Günlük oluşmuyorsa panelin hata günlüğüne bakın (cPanel’de Metrics → Errors, Plesk’te Logs). Sorunu çözdükten sonra WP_DEBUG değerini yeniden false yapın ve debug.log dosyasını silin; bu dosya varsayılan konumunda tarayıcıdan okunabilir ve sunucu yollarını açığa çıkarır.

Eklentiler panele girmeden nasıl devre dışı bırakılır?

Eklentileri toplu olarak devre dışı bırakmanın en hızlı yolu, eklenti klasörünün adını değiştirmektir; WordPress dosyalarını bulamadığı eklentileri yüklemez. Dosya yöneticisinde ya da SFTP istemcisinde:

  1. wp-content/plugins klasörünün adını plugins-kapali yapın.
  2. Siteyi yenileyin; açılıyorsa sorun eklentilerden birindedir.
  3. Yönetim paneline girip Eklentiler ekranını bir kez açın; WordPress dosyası bulunamayan eklentileri bu ekranda devre dışı olarak işaretler.
  4. Klasörün adını yeniden plugins yapın ve eklentileri tek tek etkinleştirin; beyaz ekranı geri getiren eklenti suçludur.

Üçüncü adımı atlarsanız klasör eski adına döndüğünde eklentilerin tamamı yeniden etkin olur ve hata geri gelir. Suçlu belliyse yalnızca o eklentinin klasörünü yeniden adlandırmak yeterlidir. SSH erişiminiz varsa aynı iş WP-CLI ile yapılır; hata WP-CLI’yi de durduruyorsa komutlara --skip-plugins --skip-themes ekleyin:

wp plugin list --status=active --skip-plugins --skip-themes
wp plugin deactivate ornek-eklenti --skip-plugins --skip-themes
wp plugin deactivate --all --skip-plugins --skip-themes

wp-content/mu-plugins klasöründeki zorunlu eklentiler bu yöntemlerden etkilenmez; günlük oraya işaret ediyorsa ilgili dosyayı ayrıca yeniden adlandırın.

Tema kaynaklı beyaz ekran nasıl çözülür?

Eklentiler temiz çıktıysa sıra temadadır. Etkin temanın klasörünü yeniden adlandırdığınızda tema dosyaları yüklenmez ve WordPress, kuruluysa varsayılan bir temaya (Twenty Twenty-Four gibi) geçebilir:

  1. wp-content/themes altında etkin temanın klasörünü bulun; alt tema (child theme) kullanıyorsanız önce alt temanın klasörünü ele alın.
  2. Klasör adının sonuna -kapali ekleyin.
  3. Yönetim panelinde Görünüm → Temalar ekranını açın; WordPress etkin temanın bozuk olduğunu bildirip varsayılan temaya döner.
  4. Site açılıyorsa sorun temadadır; son değişikliği geri alın ya da temanın güncel sürümünü yükleyin.

wp-content/themes içinde hiç varsayılan tema yoksa geçiş yapılamaz; resmi depodaki bir varsayılan temayı SFTP ile yükleyin ya da WP-CLI ile kurup etkinleştirin:

wp theme install twentytwentyfour --activate --skip-plugins --skip-themes

Yönetim panelindeki tema dosyası düzenleyicisi, ölümcül hataya yol açan değişiklikleri çoğu zaman kaydetmeden geri çevirir; dosyayı SFTP ile düzenlediğinizde bu koruma yoktur.

Bellek sınırı ve PHP sürümü nasıl kontrol edilir?

Günlükte Allowed memory size of ... bytes exhausted satırı görüyorsanız PHP’nin bellek sınırı dolmuştur. WordPress’ten daha fazla bellek kullanmasını wp-config.php içinden isteyebilirsiniz:

define( 'WP_MEMORY_LIMIT', '256M' );

Bu satır ancak sunucu, bellek sınırının uygulama içinden yükseltilmesine izin veriyorsa etkili olur; değer değişmiyorsa sınırı panelin PHP ayarlarından artırın. Yöntemler ve doğrulama PHP memory limit artırma rehberindedir. Bellek sürekli tükeniyorsa sınırı büyütmek yerine ağır eklentiyi bulmak daha kalıcı bir çözümdür.

Hata PHP sürümünü yükselttikten hemen sonra başladıysa eski bir eklenti ya da tema, yeni sürümde kaldırılmış bir işlevi çağırıyor olabilir; günlükte genellikle Call to undefined function ya da Uncaught TypeError görülür. Paneldeki PHP ayarından önceki sürüme geçici olarak dönün, bileşeni güncelleyin ve yükseltmeyi yeniden deneyin. LIONFIN Linux hosting paketlerinde PHP sürümü panelden seçilir; cPanel adımları cPanel PHP sürümü değiştirme rehberindedir.

Önbellek, .htaccess ve yarım kalan güncellemeler nasıl kontrol edilir?

Kod tarafı temiz çıktığı hâlde boş sayfa sürüyorsa üç noktaya bakın:

  • Önbellek: Hata anında önbelleğe alınmış boş bir sayfa, sorun düzeldikten sonra da sunulabilir. Önbellek eklentisinin, sunucu önbelleğinin ve varsa CDN’in önbelleğini temizleyin; LiteSpeed kullanıyorsanız temizleme seçenekleri LiteSpeed Cache ayarları rehberindedir.
  • .htaccess: Bozuk bir kural genellikle beyaz ekran yerine 500 hatası üretir; emin olmak için dosyayı .htaccess-yedek olarak yeniden adlandırın ve Ayarlar → Kalıcı bağlantılar ekranında kaydederek temiz bir kopya oluşturun. 500 hatasının diğer nedenleri 500 Internal Server Error çözümü rehberindedir.
  • Yarım kalan güncelleme: Kesilen bir güncelleme kök dizinde .maintenance dosyası ve eksik kopyalanmış eklenti ya da çekirdek dosyaları bırakabilir. .maintenance dosyasını silin ve yarım kalan eklentiyi yeniden yükleyin. Çekirdek için wp core download --version=SURUM --skip-content --force komutu wp-content klasörüne dokunmadan dosyaları yeniden indirir; SURUM yerine wp core version çıktısını yazın.

Bu adımların hiçbiri sonuç vermezse debug.log dosyasındaki son satırları ekleyerek müşteri panelinden destek talebi açın.

Sık Sorulan Sorular

Beyaz ekran yalnızca WordPress yönetim panelinde çıkıyorsa ne yapmalıyım?

Ziyaretçi tarafı açık, yönetim paneli boşsa sorun büyük olasılıkla yalnızca panelde çalışan bir eklentiden ya da panelin daha yüksek bellek ihtiyacından kaynaklanır. debug.log kaydını açıp son satırlara bakın; günlük bir eklentiyi gösteriyorsa onun klasörünü yeniden adlandırın. Bellek hatası görüyorsanız yönetim paneli için ayrı bir sınır belirleyen WP_MAX_MEMORY_LIMIT sabitini yükseltebilirsiniz.

Kurtarma modu e-postası gelmezse ne yapabilirim?

İleti, Ayarlar → Genel ekranındaki yönetim e-posta adresine gönderilir; adres eskiyse ya da site e-posta gönderemiyorsa hiç ulaşmaz. Böyle bir durumda e-postayı beklemeden debug.log ile hatayı bulup eklenti ya da tema klasörünü yeniden adlandırın. İletinin ileride farklı bir adrese gitmesini istiyorsanız wp-config.php içinde RECOVERY_MODE_EMAIL sabitini tanımlayabilirsiniz.

WP_DEBUG’ı canlı sitede açık bırakmak sakıncalı mı?

Evet. WP_DEBUG_DISPLAY açık kalırsa hata mesajları ziyaretçilere sunucu yollarıyla birlikte görünür; günlük açık kalırsa debug.log büyür ve varsayılan konumunda tarayıcıdan okunabilir. Hata ayıklamayı yalnızca sorunu bulana kadar açık tutun, ardından değerleri kapatıp günlük dosyasını silin. Uzun süreli kayıt gerekiyorsa WP_DEBUG_LOG değerine web kökü dışındaki bir dosya yolu verin.

Eklenti klasörünün adını değiştirmek ayarlarımı siler mi?

Hayır. Eklenti ayarları veritabanında durur; klasörün adını değiştirmek yalnızca eklentinin çalışmasını durdurur. Klasörü eski adına döndürüp eklentiyi yeniden etkinleştirdiğinizde ayarlar kaldığı yerden gelir. Ayarlar ancak eklentiyi Eklentiler ekranından sildiğinizde ve eklenti kaldırılırken kendi verilerini temizleyecek biçimde yazılmışsa silinir.

Otomatik güncellemeden sonra çıkan beyaz ekranda eski sürüme dönebilir miyim?

Evet. Sorunlu eklentiyi devre dışı bıraktıktan sonra önceki sürümü geliştiricinin sayfasından indirip yükleyebilir ya da SSH’de wp plugin install komutuna --version ve --force parametrelerini ekleyerek belirli bir sürümü kurabilirsiniz. Tüm siteyi geri almak gerekiyorsa güncelleme öncesine ait yedekten dönün; büyük güncellemeleri önce staging kopyasında denemek bu durumu baştan önler.

Bu makale yardımcı oldu mu?

Geri bildiriminiz için teşekkürler!

kişi faydalı buldu

Paylaş

X LinkedIn WhatsApp

Sorunuz mu var? Destek ekibimize yazın.