WordPress beyaz ekran ve "sitenizde kritik bir hata oluştu" çözümü

WordPress 66 görüntülenme Markdown

Siteyi açıyorsunuz ve bembeyaz bir ekran ya da şu mesajı görüyorsunuz: "Sitenizde kritik bir hata oluştu. Daha fazla bilgi için site yöneticisi gelen kutusunu kontrol edin." (İngilizce arayüzde "There has been a critical error on this website"). Bunun anlamı PHP'nin bir hatayla durduğudur. Neredeyse her zaman son kurduğunuz ya da güncellediğiniz bir eklenti veya tema yüzünden olur. Önce nedenini öğrenin, sonra çözün.

1. Hata mesajını görün

WordPress hatayı gizler. Sorunu ortaya çıkarmak için wp-config.php dosyasında "That's all, stop editing" satırından önce şunları ekleyin (FTP ya da Dosya Yöneticisi ile):

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

Siteyi yeniden açıp hatayı tetikleyin; hata wp-content/debug.log dosyasına yazılır. Bu dosyadaki son PHP Fatal error satırı yolu söyler: /wp-content/plugins/ornek-eklenti/... ise suçlu o eklentidir, /themes/... ise temadır. İşiniz bitince bu satırları geri alın; debug.log herkese açık bir adreste durmasın diye dosyayı silin.

Hosting'de sunucunun kendi hata günlüğüne de bakabilirsiniz: panelin WEB bölümünde alan adının günlükleri bulunur.

2. Eklentiyi devre dışı bırakın (panele giremezseniz)

  1. FTP ya da Dosya Yöneticisi ile wp-content klasörünü açın.
  2. plugins klasörünün adını plugins-kapali yapın. WordPress tüm eklentileri bulamayıp devre dışı bırakır.
  3. Siteyi açın. Açıldıysa sorun bir eklentidir. Klasör adını tekrar plugins yapın ve içindekileri tek tek yeniden adlandırarak (ya da panelden etkinleştirerek) suçluyu bulun.
  4. Suçlu eklentiyi güncelleyin, değiştirin ya da silin.

3. Tema sorunuysa

wp-content/themes içinde etkin temanın klasörünü yeniden adlandırın. WordPress otomatik olarak varsayılan bir temaya (örneğin varsayılan WordPress teması) döner. Yüklü varsayılan tema yoksa indirip ekleyin.

4. Bellek sınırı

Günlükte Allowed memory size of ... bytes exhausted yazıyorsa PHP belleği yetmiyordur. wp-config.php dosyasına define('WP_MEMORY_LIMIT', '256M'); ekleyin. Hosting paketinde PHP sınırlarını .user.ini ile değiştirebilirsiniz.

5. PHP sürümü uyumsuzluğu

Günlükte Call to undefined function, Deprecated ya da Unsupported operand types gibi mesajlar eski yazılmış bir eklentinin yeni PHP sürümüyle çalışmadığını gösterir. Eklentiyi güncelleyin ya da yenisiyle değiştirin: PHP uyumsuzluğu.

Hâlâ olmuyorsa

  • WordPress çekirdek dosyaları bozulmuş olabilir: yönetim paneli açılıyorsa Güncellemeler sayfasından "yeniden kur", açılmıyorsa wp-admin ve wp-includes klasörlerini yeni indirdiğiniz WordPress'ten kopyalayın (wp-content ve wp-config.php dosyasına dokunmayın).
  • Hata sunucu kaynaklı (500, 502) ise: 500 hatası ya da VDS'te 502 hatası makalesine bakın.
  • Yedeğiniz varsa son çalışan sürüme dönün: WordPress yedekleme.

Sık sorulanlar

Yönetici mail adresi geldi, ne yapmalıyım?

WordPress, kritik hata olduğunda yönetici adresine hangi eklenti ya da temanın sorun çıkardığını söyleyen bir mail ve kurtarma bağlantısı gönderir. Bağlantıyla panele geçici olarak girip suçlu eklentiyi devre dışı bırakabilirsiniz.

Hata sadece belirli bir sayfada çıkıyor.

O sayfada çalışan bir eklenti ya da kısa kod (shortcode) hatalıdır. Günlükteki yol hangisi olduğunu gösterir.

WP_DEBUG açık kalsa olur mu?

Hayır; ekranda hata göstermek sitenizin iç yapısını ziyaretçiye açar. Yalnızca günlüğe yazdırın ve işiniz bitince kapatın.

İlgili makaleler

Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.