WordPress, yazılım ve IT üzerine notlar
Anasayfa » WordPress » WordPress'te "Sitede kritik bir hata oluştu" ve beyaz ekran: Adım adım çözüm

WordPress'te "Sitede kritik bir hata oluştu" ve beyaz ekran: Adım adım çözüm

İçindekiler
  1. 1. E-postanızı kontrol edin
  2. 2. Hata günlüğünü açın
  3. 3. Eklentiyi panele girmeden kapatın
  4. 4. Tema mı?
  5. 5. PHP sürümü
  6. 6. Bellek ve diğer sebepler
  7. Sonrası

Eskiden WordPress'te ölümcül bir PHP hatası olduğunda ekran tamamen beyaz kalırdı. Buna "White Screen of Death" (WSOD) denirdi. WordPress 5.2'den bu yana gelen kurtarma modu sayesinde artık çoğunlukla şu mesajı görüyoruz: "Bu web sitesinde kritik bir hata oluştu."

Mesaj farklı ama sebep aynıdır: Bir PHP dosyası çalışırken ölümcül bir hata verdi ve sayfanın oluşturulması durdu.

1. E-postanızı kontrol edin

Kurtarma modu devredeyse WordPress, yönetici e-posta adresine "Sitenizde teknik bir sorun var" konulu bir e-posta gönderir. Bu e-postada iki değerli bilgi bulunur:

  • Hangi eklentinin ya da temanın, hangi dosyanın hangi satırında hata verdiği.
  • Bir kurtarma modu bağlantısı. Bu bağlantıyla panele girdiğinizde hatalı eklenti sizin için askıya alınır ve onu devre dışı bırakabilirsiniz.

Site e-posta gönderemiyorsa (ki bu da sık görülür) bu e-posta hiç gelmez. O zaman 2. adıma geçin.

2. Hata günlüğünü açın

wp-config.php dosyasına, "stop editing" satırının üstüne şunları ekleyin:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Sayfayı bir kez yenileyin, sonra wp-content/debug.log dosyasını açın. En alttaki PHP Fatal error satırı aradığınız şeydir. Örneğin:

PHP Fatal error: Uncaught Error: Call to undefined function each()
in /home/site/public_html/wp-content/plugins/eski-galeri/galeri.php:214

Bu satır suçluyu açıkça söylüyor: eski-galeri eklentisi, PHP 8'de kaldırılmış bir fonksiyonu kullanıyor.

Günlük boşsa sunucunun kendi PHP hata günlüğüne bakın. cPanel benzeri panellerde genellikle error_log adlı dosyalar ya da panelin "Hata günlükleri" bölümü bulunur.

3. Eklentiyi panele girmeden kapatın

Panele giremiyorsanız eklentiyi FTP ya da dosya yöneticisiyle kapatabilirsiniz:

  • wp-content/plugins/eski-galeri klasörünün adını eski-galeri.kapali yapın.

WordPress klasörü bulamayınca eklentiyi otomatik olarak devre dışı bırakır. Hangi eklenti olduğunu bilmiyorsanız plugins klasörünün tamamının adını değiştirin. Site açılırsa sorun bir eklentidedir; klasörü geri adlandırıp eklentileri tek tek açarak suçluyu bulun.

WP-CLI varsa çok daha hızlıdır:

wp plugin deactivate eski-galeri
wp plugin deactivate --all       # hepsini kapat

4. Tema mı?

Eklentiler temizse sıra temadadır. wp-content/themes altındaki aktif temanın adını değiştirirseniz WordPress varsayılan temalardan birine (örneğin Twenty Twenty-Five) döner. Elbette o varsayılan temanın kurulu olması gerekir. Bu yüzden en az bir varsayılan temayı silmeden tutmanızı öneririm.

5. PHP sürümü

Hosting firmanız PHP sürümünü yükselttiyse ya da siz panelden değiştirdiyseniz, eski eklentiler ve temalar çalışmayabilir. Hata kayıtlarında sık görülen işaretler:

  • Call to undefined function create_function() ya da each(): PHP 8'de kaldırılmış fonksiyonlar.
  • Unsupported operand types, Cannot access offset of type: PHP 8'in sıkılaşan tür kuralları.

Kısa vadeli çözüm, bir önceki PHP sürümüne geri dönmektir. Kalıcı çözüm ise eklentiyi güncellemek ya da desteği bitmişse yerine alternatif bulmaktır.

6. Bellek ve diğer sebepler

Allowed memory size of 134217728 bytes exhausted hatası bellek sınırının dolduğunu söyler. wp-config.php içinde WP_MEMORY_LIMIT değerini artırmak bazen yeter. Ancak bir eklenti sürekli bellek tüketiyorsa sınırı yükseltmek sorunu yalnızca erteler.

Nadir ama görülen diğer sebepler:

  • Yarım kalmış bir güncelleme ve kök dizinde unutulmuş .maintenance dosyası. Site "Bakım için kısa süreliğine kullanılamıyor" der; dosyayı silmek yeterlidir.
  • Bozuk bir .htaccess dosyası. Bu genelde 500 hatası verir; dosyayı yeniden adlandırıp panelde Kalıcı Bağlantılar'ı tekrar kaydedin.

Sonrası

Site açıldıktan sonra WP_DEBUG değerini tekrar false yapın ve debug.log dosyasını silin. Bir de şunu yapın: Güncellemeleri canlı sitede değil, önce bir kopyada deneyin. Bu alışkanlığı edindiğinizde bu yazıya bir daha ihtiyacınız olmaz.

Tezcan Kabakçı
Hosting teknik destek uzmanı ve WordPress uzmanı. 2024'ten beri bir hosting şirketinde teknik destek bölümünde çalışıyor; WordPress, DNS ve e-posta sorunlarını her gün yakından görüyor. YouTube kanalı.
Bu yazı 14 Ekim 2026 tarihinde WordPress kategorisinde yayınlandı.
Yeni yazılar e-postanıza gelsin

Ayda birkaç e-posta; istediğiniz an tek tıkla ayrılabilirsiniz.

Videolu anlatımlar YouTube'da
Sunucu ve WordPress sorunlarını kısa videolarla anlattığım kanala abone olabilirsiniz. ▶ Kanala abone ol

Yorumlar

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yazın

Yorumlar onaylandıktan sonra yayımlanır. Bağlantı içeren yorumlar spam olarak değerlendirilebilir.