WordPress Kritik Hata ve Beyaz Ekran Çözümü: Hata Ayıklama Modu
Sitenizde ciddi bir sorun çıktı ve beyaz ekran hatası nasıl çözülür: kurtarma modu, WP_DEBUG ile debug.log okuma, hatalı eklenti ve temayı bulma, panele girmeden eklenti kapatma, PHP sürümü ve bellek sınırı hataları.

Sitenizi açtığınızda yalnızca "Sitenizde ciddi bir sorun çıktı." yazıyorsa (İngilizce kurulumlarda "There has been a critical error on this website") ya da sayfa tamamen bembeyaz geliyorsa, WordPress çalışırken bir PHP hatası oluşmuş ve sayfa yarıda kesilmiştir. İçeriğiniz kaybolmamıştır; hatayı veren eklentiyi, temayı veya ayarı bulup düzelttiğinizde site geri gelir. Bu rehberde WordPress kritik hata ve WordPress beyaz ekran sorununun nedenini hata ayıklama modu (WP_DEBUG) ile nasıl bulacağınızı, panele girebildiğiniz ve giremediğiniz durumlarda eklenti ve tema çakışmasını nasıl gidereceğinizi, PHP sürümü ve bellek sınırı kaynaklı hataları adım adım anlatıyoruz.
Ekran görüntüleri WordPress 7.1.4 Türkçe ve PHP 8.3 üzerinde, tarayıcıda çalışan resmi WordPress deneme ortamında, bilerek hata veren örnek bir eklentiyle alınmıştır. cPanel görüntüleri gerçek bir hesaptandır; kullanıcı adı maskelenmiştir.
Kritik Hata ve Beyaz Ekran Ne Demek?
WordPress 5.2'den bu yana ölümcül (fatal) bir PHP hatası oluştuğunda sayfayı boş bırakmak yerine aşağıdaki mesajı gösterir. Daha eski sürümlerde ya da hata WordPress yüklenmeden önce oluştuğunda aynı durum beyaz ekran olarak görünür.

En sık nedenler şunlardır:
- Bir eklenti veya tema güncellemesi yeni bir hata getirmiştir ya da başka bir eklentiyle çakışmaktadır.
- PHP sürümü değişmiştir ve eski bir eklenti veya tema yeni sürümle uyumsuzdur.
- PHP bellek sınırı yetmemiştir (
Allowed memory size ... exhausted). - Yarım kalmış bir güncelleme veya eksik yüklenmiş dosyalar vardır.
functions.phpgibi bir dosyada elle yapılan bir düzenlemede yazım hatası vardır.
Aşağıdaki adımların hepsinde işe yedek alarak başlayın. Henüz bir yedeğiniz yoksa cPanel'de dosyaları ve veritabanını indirmek birkaç dakika sürer; yöntem WordPress yedek alma rehberimizde.
Adım 1: Kurtarma Modu E-postasına Bakın
WordPress kritik bir hata yakaladığında, hatayı veren eklentiyi veya temayı bulmaya çalışır ve sitenin yönetici e-posta adresine bir bağlantı gönderir. Bu bağlantı sizi kurtarma modunda panele sokar: hatalı eklenti yalnızca sizin oturumunuz için duraklatılır, siz de onu panelden etkisizleştirebilirsiniz. Ziyaretçiler bu sırada hâlâ hata ekranını görür.
E-posta gelmediyse iki olasılık vardır: ya yönetici e-posta adresi eskidir ya da site e-posta gönderemiyordur. Birçok paylaşımlı hosting sunucusunda PHP mail() işlevi kapalı olduğundan, SMTP ayarı yapılmamış sitelerde bu e-posta hiç gönderilmez. Böyle bir durumda aşağıdaki adımlarla devam edin.
Adım 2: Hata Ayıklama Modunu Açın ve Hatayı Okuyun
Hangi dosyanın hata verdiğini tahmin etmek yerine WordPress'e söyletin.
- cPanel'de Dosya Yöneticisi'ni açın, sitenizin klasöründeki
wp-config.phpdosyasını seçip Düzenle'ye tıklayın. - Dosyada
define( 'WP_DEBUG', false );satırını bulun vefalsedeğerinitrueyapın. - Hemen altına aşağıdaki satırları ekleyin. Hepsinin
/* Hepsi bu kadar. Mutlu bloglamalar! */yorumundan önce olması gerekir (İngilizce kurulumlarda bu satır/* That's all, stop editing! */olarak geçer).
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

- Kaydedin ve sitenizi bir kez yenileyin. Hata yeniden oluşur, ama bu kez
wp-content/debug.logdosyasına yazılır. - Dosya Yöneticisi'nde
wp-contentklasöründekidebug.logdosyasını açın ve en alttakiPHP Fatal errorsatırını okuyun.

Satırda in kelimesinden sonra gelen yol, hatanın kaynağını gösterir:
.../wp-content/plugins/eklenti-adi/...ise sorun o eklentidedir..../wp-content/themes/tema-adi/...ise sorun temadadır..../wp-includes/...veya.../wp-admin/...ise çekirdek dosyalar eksik ya da bozuk olabilir; yığın izinde (Stack trace) adı geçen eklentiye de bakın.Allowed memory size of ... bytes exhaustedise bellek sınırı yetmemiştir.
WP_DEBUG_DISPLAY değerini false yapmamızın nedeni şudur: bu ayar açık kalırsa aynı hata, sunucudaki dosya yollarıyla birlikte her ziyaretçinin ekranına yazılır. Bu bilgi saldırganların işine yarar.

Sorunu çözdükten sonra WP_DEBUG değerini yeniden false yapın ve debug.log dosyasını silin. Bu dosya wp-content içinde durduğu için tarayıcıdan indirilebilir ve sitenizin yapısıyla ilgili bilgi verir; WordPress'in Site sağlığı ekranı da bunu ciddi bir güvenlik sorunu olarak işaretler.
Adım 3: Hatalı Eklentiyi Devre Dışı Bırakın
Panele girebiliyorsanız
Hata yalnızca sitenin ön yüzündeyse panel çoğunlukla açılır. Eklentiler > Kurulu eklentiler sayfasında debug.log dosyasında adı geçen eklentinin altındaki Etkisizleştir bağlantısına tıklayın ve sitenizi yeniden açın.

Panele giremiyorsanız: klasör adını değiştirin
WordPress, klasörünü bulamadığı eklentiyi kendiliğinden etkisizleştirir.
- Dosya Yöneticisi'nde
public_html/wp-content/pluginsklasörüne gidin. - Hatalı eklentinin klasörünü seçin, Yeniden Adlandır ile adının sonuna
-kapaliekleyin (örneğinornek-eklenti-kapali). - Siteyi yenileyin. Açıldıysa sorun bu eklentidir. Klasörün adını eski hâline getirmeyin; eklentiyi güncelleyin, geliştiricisine bildirin ya da bir alternatifini kullanın.

Hangi eklenti olduğunu bilmiyorsanız plugins klasörünün tamamının adını plugins-kapali yapın. Site açılırsa sorun eklentilerdedir. Klasörü yeniden plugins yapın (eklentiler bu sırada etkisiz duruma geçmiş olur), sonra panelden eklentileri teker teker etkinleştirip her seferinde siteyi kontrol edin. Hata yeniden çıktığında son etkinleştirdiğiniz eklenti sorunludur.
VDS'te WP-CLI ile
wp plugin list --status=active
wp plugin deactivate ornek-eklenti
wp plugin deactivate --all
WP-CLI de aynı hatayla durursa komuta --skip-plugins --skip-themes ekleyerek eklentileri ve temayı yüklemeden çalıştırabilirsiniz.
Adım 4: Tema Kaynaklı Hatalar
debug.log hatanın wp-content/themes/... altındaki bir dosyadan geldiğini söylüyorsa:
- Panele girebiliyorsanız Görünüm > Temalar sayfasından WordPress'in kendi varsayılan temalarından birini (adı "Twenty" ile başlayan temalar) etkinleştirin.
- Panele giremiyorsanız Dosya Yöneticisi'nde
wp-content/themesiçindeki etkin temanın klasör adını değiştirin. WordPress yüklü başka bir temaya geçer; yüklü varsayılan tema yoksa wordpress.org'dan indirip aynı klasöre yükleyin. - Hata
functions.phpdosyasında elle yaptığınız bir değişiklikten sonra başladıysa o değişikliği geri alın. Tema dosyalarını panelin dosya düzenleyicisinden değiştirmek yerine bir alt tema (child theme) kullanın.
Adım 5: PHP Sürümü Uyumsuzluğu
Hata, PHP sürümünü yükselttikten hemen sonra başladıysa ve debug.log içinde Call to undefined function, Deprecated veya Uncaught TypeError gibi satırlar eklenti ya da tema dosyalarını gösteriyorsa, o yazılım yeni PHP sürümüne uyumlu değildir.
- cPanel'de MultiPHP Yöneticisi'ni açın, alan adınızı işaretleyin ve bir önceki PHP sürümünü seçip Uygula'ya tıklayın. Site genellikle hemen açılır.
- Ardından sorunlu eklentinin veya temanın güncellemesini yapın. Güncelleme yoksa uzun süredir bakım almayan bu yazılımın yerine güncel bir alternatif seçin.
- Güncellemeden sonra PHP sürümünü yeniden yükseltin. Destek süresi bitmiş sürümlerde (PHP 7.4 ve 8.0) kalıcı olarak kalmayın.

Adım 6: Bellek Sınırı Hatası
Allowed memory size of 41943040 bytes exhausted gibi bir satır görüyorsanız WordPress'in kendisine ayırdığı bellek yetmemiştir. WordPress varsayılan olarak tek bir site için 40 MB ister. wp-config.php dosyasına şu satırı ekleyin:
define( 'WP_MEMORY_LIMIT', '256M' );
Bu değer sunucunun PHP memory_limit ayarını aşamaz. cPanel'de MultiPHP INI Düzenleyicisi ile memory_limit değerini kontrol edebilirsiniz. Bellek hatası sürekli tekrar ediyorsa asıl neden genellikle çok fazla bellek kullanan bir eklentidir; sınırı yükseltmek yerine o eklentiyi bulmak daha kalıcı bir çözümdür. WooCommerce gibi ağır siteler için hesabınızın RAM kaynağı da yetmiyor olabilir; bu durumda bir üst pakete geçmek gerekir.
Adım 7: Çekirdek Dosyaları ve .htaccess
- Yarım kalmış bir güncellemeden sonra site kök klasöründe
.maintenanceadlı bir dosya kalabilir ve site sürekli bakım modunda olduğunu söyleyen bir mesaj gösterir. Dosyayı silin. - Çekirdek dosyalar bozulduysa wordpress.org'dan aynı sürümü indirin ve
wp-adminilewp-includesklasörlerini yenileriyle değiştirin.wp-contentklasörüne vewp-config.phpdosyasına dokunmayın. VDS'tewp core verify-checksumskomutu değişmiş çekirdek dosyalarını listeler. - 500 hatası alıyorsanız
.htaccessdosyasının adını.htaccess-eskiyapıp deneyin. Site açılırsa panelde Ayarlar > Kalıcı bağlantılar sayfasında Değişiklikleri kaydet'e tıklayarak temiz bir.htaccessoluşturun.
En Sık Hatalar
WP_DEBUGsatırını iki kez yazmak. Dosyada zaten birWP_DEBUGsatırı vardır; yenisini eklemek yerine mevcut olanı değiştirin. Aynı sabiti iki kez tanımlamak ayrı bir uyarıya neden olur.- Satırları "Hepsi bu kadar" yorumundan sonra eklemek. Bu durumda ayarlar etkisiz kalır.
- Hata ayıklamayı açık unutmak.
debug.logbüyür, diski doldurur ve herkes tarafından indirilebilir. - Hatalı eklentiyi silip yeniden kurmak. Aynı sürüm aynı hatayı verir; önce güncellemeyi ya da uyumluluğu kontrol edin.
- Yedek almadan dosya silmek. Eklenti klasörünü silmek yerine adını değiştirin; böylece ayarları ve dosyaları kaybetmezsiniz.
- Korsan (nulled) tema veya eklenti kullanmak. Bu dosyalar güncelleme alamaz, sıklıkla hata verir ve çoğu zaman zararlı kod içerir. Kritik hatanın kaynağı böyle bir dosyaysa onu kaldırıp lisanslı sürümünü kullanın.
Özet
- Önce yönetici e-postanıza gelen kurtarma modu bağlantısına bakın.
WP_DEBUGveWP_DEBUG_LOGdeğerlerini açın,WP_DEBUG_DISPLAYdeğerini kapalı tutun vewp-content/debug.logdosyasındaki sonFatal errorsatırını okuyun.- Hata bir eklentideyse panelden etkisizleştirin ya da klasör adını değiştirin; temadaysa varsayılan temaya geçin.
- PHP sürümü değiştiyse bir önceki sürüme dönüp yazılımı güncelleyin; bellek hatasında
WP_MEMORY_LIMITdeğerini artırın. - İşiniz bitince hata ayıklamayı kapatın ve
debug.logdosyasını silin.
Yazının konusu olmayan bir hata görüyorsanız ilgili rehberlerimize bakın: veritabanı bağlantı hatası, şifre sıfırlama ve wp-admin giriş sorunları, WordPress kurulumu. PHP sürümünü panelden seçebileceğiniz, LiteSpeed ve NVMe SSD altyapılı paketler için web hosting, kaynakları yalnızca size ayrılmış bir sunucu için VDS sunucu sayfamızı inceleyebilirsiniz. AnkSOFT'ta barındırılan sitenizde hata sürüyorsa debug.log dosyasındaki son hata satırını ekleyerek destek talebi açın.
Kaynaklar
- Debugging in WordPress (WordPress Developer Resources):
WP_DEBUG,WP_DEBUG_LOG,WP_DEBUG_DISPLAY - Fatal Error Recovery Mode in 5.2 (Make WordPress Core): kurtarma modu
- Editing wp-config.php: WP_MEMORY_LIMIT
- WordPress sunucu gereksinimleri
- cPanel MultiPHP Manager belgesi
Sıkça Sorulan Sorular
WordPress sitenizde ciddi bir sorun çıktı hatası nasıl düzeltilir?
Önce yönetici e-postanıza gelen kurtarma modu bağlantısına bakın. Gelmediyse wp-config.php dosyasında WP_DEBUG ve WP_DEBUG_LOG değerlerini true, WP_DEBUG_DISPLAY değerini false yapın, siteyi yenileyin ve wp-content/debug.log dosyasındaki son Fatal error satırında adı geçen eklentiyi veya temayı devre dışı bırakın.
WordPress beyaz ekran neden olur?
Beyaz ekran, sayfa oluşturulurken ölümcül bir PHP hatası oluştuğunu gösterir. En sık nedenler uyumsuz ya da hatalı bir eklenti veya tema güncellemesi, PHP sürümü değişikliği, yetersiz bellek sınırı ve yarım kalmış güncellemelerdir.
Panele giremiyorum, eklentiyi nasıl devre dışı bırakırım?
cPanel Dosya Yöneticisi'nde wp-content/plugins klasörüne gidin ve hatalı eklentinin klasör adının sonuna -kapali ekleyin. WordPress klasörünü bulamadığı eklentiyi kendiliğinden etkisizleştirir. Hangisi olduğunu bilmiyorsanız plugins klasörünün tamamının adını değiştirip eklentileri tek tek açarak bulun.
WordPress debug.log dosyası nerede?
WP_DEBUG ve WP_DEBUG_LOG açıkken hatalar varsayılan olarak wp-content/debug.log dosyasına yazılır. Bu dosya tarayıcıdan indirilebildiği için sorunu çözdükten sonra hata ayıklamayı kapatın ve dosyayı silin.
PHP sürümünü değiştirdikten sonra site hata veriyor, ne yapmalıyım?
cPanel MultiPHP Yöneticisi'nden alan adınız için bir önceki PHP sürümünü seçip Uygula'ya tıklayın, ardından debug.log'da adı geçen eklenti veya temayı güncelleyin. Güncelleme yoksa bakım almayan yazılımın yerine güncel bir alternatif seçin ve sonra PHP sürümünü yeniden yükseltin.
Allowed memory size exhausted hatası nasıl çözülür?
wp-config.php dosyasına define( 'WP_MEMORY_LIMIT', '256M' ); satırını ekleyin. Bu değer sunucudaki PHP memory_limit ayarını aşamaz. Hata sürekli tekrar ediyorsa çok bellek kullanan eklentiyi bulmak ya da hesabın kaynaklarını artırmak gerekir.


