İçeriğe geç

WordPress Beyaz Ekran ve 'Kritik Bir Hata Oluştu' Uyarısı: Adım Adım Çözüm

Site bembeyaz açılıyor ya da 'Bu sitede kritik bir hata oluştu' yazıyor. Sebep neredeyse her zaman bir eklenti, tema ya da PHP sürümü. Kurtarma modu, hata kaydı ve eklenti klasörüyle teşhis.

Kodyva4 dk okumaWeb Sitesi Bakım ve Güvenlik
WordPress Beyaz Ekran ve 'Kritik Bir Hata Oluştu' Uyarısı: Adım Adım Çözüm

WordPress sitesi bembeyaz açılıyorsa ya da 'Bu sitede kritik bir hata oluştu' yazıyorsa, PHP bir hatayla karşılaşıp sayfayı oluşturamadan durmuş demektir. Sebep neredeyse her zaman son güncellenen bir eklenti, tema ya da hostingde değişen PHP sürümüdür. En hızlı çözüm sırası şu: yönetici e-postanıza gelen kurtarma modu bağlantısını kullanmak, gelmediyse eklentiler klasörünün adını değiştirip siteyi açmak, sonra suçlu eklentiyi tek tek bulmak.

Verileriniz bu hatada kaybolmaz. Yazılar, ürünler ve siparişler veritabanında durur; bozulan şey onları ekrana getiren kod.

Hata ne zaman başladı?

Teşhisin yarısı bu sorunun cevabında. Son 24 saatte ne değişti?

  • Bir eklenti ya da tema güncellendi mi? WordPress otomatik güncelleme yapıyorsa siz fark etmeden de olmuş olabilir.
  • Yeni bir eklenti kuruldu mu?
  • Hosting firması PHP sürümünü yükseltti mi? Hostingler eski sürümlerin desteğini bitirdiğinde toplu geçiş yapar.
  • Temanın functions.php dosyasına bir kod eklendi mi?

Cevap 'evet' ise suçluyu büyük ihtimalle buldunuz. Aşağıdaki adımlar onu güvenle devre dışı bırakmak için.

1. Kurtarma modu e-postasına bakın

WordPress 5.2'den beri ölümcül bir hata olduğunda yönetici e-posta adresine 'Sitenizde teknik bir sorun var' konulu bir mesaj gönderir. Mesajda hatanın hangi eklenti ya da temadan geldiği ve kurtarma modu bağlantısı bulunur.

Bağlantıya tıklayıp giriş yaptığınızda WordPress sorunlu eklentiyi yalnızca sizin oturumunuzda duraklatır. Eklentiler sayfasından onu devre dışı bırakın, sonra kurtarma modundan çıkın. Çoğu vakada iş burada biter.

E-posta gelmediyse spam klasörüne bakın. Hiç gelmemesi de olası; sitenin e-posta gönderimi zaten sorunluysa bu mesaj da ulaşmaz. O durumda iletişim formundan mail gelmiyor yazısındaki SMTP ayarı ileride işinize yarar.

2. Hata kaydını açın

Hata mesajını görmeden tahminle ilerlemek zaman kaybettirir. Hosting panelindeki dosya yöneticisinden ya da FTP ile sitenin kök klasöründeki wp-config.php dosyasını açın. 'That's all, stop editing' satırının üstüne şu üç satırı ekleyin:

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

Sayfayı bir kez yenileyin. wp-content klasöründe debug.log adında bir dosya oluşur. Son satırlarda 'PHP Fatal error' ile başlayan bir satır arayın. Satırda bir dosya yolu yazar; yol wp-content/plugins/eklenti-adi/ ile başlıyorsa suçlu o eklentidir, wp-content/themes/ ile başlıyorsa tema.

Sorun çözülünce bu satırları silin ya da true değerlerini false yapın. Hata kaydını açık bırakmak, sitenin iç yapısı hakkında bilgi sızdırabilir.

3. Eklentileri toplu olarak kapatın

Kurtarma modu yoksa ve hata kaydı net değilse, en güvenilir yöntem eklentileri toplu kapatmak. Dosya yöneticisinde wp-content/plugins klasörünün adını plugins-kapali olarak değiştirin. WordPress eklentileri bulamayınca hepsini devre dışı sayar.

Site açıldıysa suçlu bir eklenti. Klasörün adını geri plugins yapın, panelden eklentileri tek tek etkinleştirin ve her seferinde siteyi yenileyin. Hata dönünce son etkinleştirdiğiniz eklentiyi bulmuş olursunuz. 20 eklentili bir sitede bu iş 10-15 dakika sürer.

Sadece tek bir eklentiden şüpheleniyorsanız yalnızca onun klasörünün adını değiştirmek yeterli.

4. Temayı kontrol edin

Eklentiler suçsuzsa sıra temada. wp-content/themes içindeki etkin temanın klasör adını değiştirin. WordPress, kurulu bir varsayılan tema (Twenty Twenty-Five gibi) varsa ona geçer. Site açılıyorsa sorun temada ya da temanın functions.php dosyasına sonradan eklenen bir kodda.

Varsayılan tema hiç kurulu değilse bu yöntem işe yaramaz; önce resmi WordPress dizininden bir varsayılan temayı themes klasörüne yükleyin.

5. PHP sürümü ve bellek sınırı

Hosting PHP'yi yeni bir sürüme taşıdıysa, eski ve güncellenmemiş bir eklenti yeni sürümde çalışmayabilir. Hosting panelinin PHP ayarlarından bir önceki sürüme dönmek siteyi geçici olarak açar. Kalıcı çözüm, eklentiyi güncellemek ya da yerine güncel bir alternatif bulmak; eski PHP sürümleri güvenlik güncellemesi almaz.

Hata kaydında 'Allowed memory size exhausted' yazıyorsa PHP bellek sınırı yetmiyor. wp-config.php dosyasına define( 'WP_MEMORY_LIMIT', '256M' ); satırı eklemek çoğu zaman yeter. Hosting paketinizin izin verdiği üst sınır bundan düşükse hosting firmanızdan artırmasını isteyin.

'Kısa süreliğine bakım nedeniyle kullanılamıyor' yazıyorsa

Bu ayrı bir durum. Güncelleme yarıda kesilmiş ve WordPress kök klasörde .maintenance adlı bir dosya bırakmış. Dosya yöneticisinde gizli dosyaları gösterin ve .maintenance dosyasını silin. Ardından yarım kalan güncellemeyi panelden tekrar çalıştırın.

Hiçbiri işe yaramazsa: yedekten dönmek

Sorun bulunamıyorsa ya da site acil açılmalıysa, hata başlamadan önceki bir yedeğe dönmek en hızlı yol. Hosting firmanızın otomatik yedeklerini panelden kontrol edin. Geri yüklemeden sonra hatayı tetikleyen güncellemeyi bir test ortamında deneyin. Yedeklerin neden düzenli alınması ve test edilmesi gerektiğini web sitesi yedekleme yazısında anlattık.

Bir daha yaşamamak için

Otomatik güncellemeleri tamamen kapatmak çözüm değil; güncellenmeyen eklenti, sitenin hacklenmesinin en yaygın sebebi. Daha dengeli bir yol:

  • Büyük güncellemeleri önce bir test kopyasında deneyin.
  • Güncellemeden hemen önce yedek alın.
  • Kullanmadığınız eklentileri silin. Her eklenti bir hata ihtimali.
  • Güncellemeyi cuma akşamı değil, sorun çıkarsa müdahale edebileceğiniz bir saatte yapın.

Bu işleri düzenli ve kontrollü yapmak, bakım ve destek paketinin temelidir. Siteniz şu an açılmıyorsa ve dosyalara girmek size uzak geliyorsa, bize yazın; önce durumu inceleyip neyin bozulduğunu söyleyelim.

#wordpress #beyaz ekran #kritik hata #sorun giderme

Sıkça Sorulan Sorular

Beyaz ekran hatasında yazılarım ve siparişlerim silinir mi?

Hayır. İçerik veritabanında durur. Hata, sayfayı oluşturan PHP kodunda; sorunlu eklenti ya da tema devre dışı kalınca her şey olduğu gibi geri gelir.

Yönetim paneline giremiyorum, eklentiyi nasıl kapatırım?

Hosting panelindeki dosya yöneticisinden ya da FTP ile wp-content/plugins altındaki eklenti klasörünün adını değiştirin. WordPress o eklentiyi otomatik olarak devre dışı sayar.

Site sadece yönetim panelinde beyaz ekran veriyor, neden?

Bazı eklentiler yalnızca panelde çalışan kod içerir, bu yüzden hata sadece orada görünür. Aynı adımlar geçerlidir: hata kaydını açın ve eklentileri tek tek kontrol edin.

PHP sürümünü eskiye almak güvenli mi?

Geçici bir çözüm olarak siteyi açar, ama desteği biten PHP sürümleri güvenlik güncellemesi almaz. Siteyi açtıktan sonra uyumsuz eklentiyi güncelleyip güncel PHP sürümüne dönün.

Blog yazıları genel bilgilendirme amaçlıdır; hukuki, mali veya teknik danışmanlık yerine geçmez.

Projeniz için teklif almak ister misiniz?

Hizmetlerimizi inceleyin ya da doğrudan teklif isteyin.

Hizmetleri Gör