Site kesintisi

"Bu Sitede Kritik Bir Hata Oluştu" WordPress Hatası Nasıl Çözülür?

"Bu sitede kritik bir hata oluştu" (İngilizcesi "There has been a critical error on this website"), WordPress'in ölümcül bir PHP hatası yakaladığında beyaz ekran yerine gösterdiği mesajdır. Eski sürümlerde aynı durumda boş beyaz bir sayfa görünürdü; WordPress artık hatayı yakalar, ziyaretçiye bu mesajı gösterir ve site yöneticisine e-posta gönderir.

Hatanın nedeni neredeyse her zaman bir eklenti, tema ya da PHP ortamıyla ilgilidir ve çoğu durumda veri kaybı olmadan çözülür.

Önce e-postanıza bakın

WordPress bu hatayı yakaladığında, Ayarlar → Genel bölümündeki yönetici e-posta adresine "Sitenizde teknik bir sorun var" konulu bir e-posta gönderir. Bu e-postada iki önemli bilgi bulunur:

  • Hatanın kaynağı: Hangi eklentinin ya da temanın, hangi dosyanın hangi satırında hata olduğu.
  • Kurtarma modu bağlantısı: Bu bağlantıyla yönetim paneline, sorunlu eklenti ya da tema devre dışı bırakılmış olarak girebilirsiniz.

E-posta geldiyse kurtarma modu bağlantısıyla giriş yapın, sorunlu eklentiyi devre dışı bırakın ya da güncelleyin, sonra kurtarma modundan çıkın. Çoğu sorun burada çözülür.

E-posta gelmediyse (sitenin e-posta gönderimi çalışmıyor olabilir, spam klasörüne de bakın) aşağıdaki adımlara geçin.

En sık nedenler

Eklenti çakışması ya da hatalı güncelleme

En yaygın neden budur. Bir eklenti güncellemesi, WordPress çekirdeğiyle ya da başka bir eklentiyle uyumsuz olabilir. Hata bir güncellemenin hemen ardından başladıysa neredeyse kesin olarak bu güncellemeden kaynaklanıyordur.

Tema hatası

Tema güncellemesi ya da temanın functions.php dosyasına eklenen hatalı bir kod parçası aynı hatayı üretir. Kod parçası ekleme rehberlerindeki kodları doğrudan tema dosyasına yapıştırmak sık görülen bir nedendir.

PHP sürümü uyumsuzluğu

Hosting firması PHP sürümünü yükselttiyse ya da siz panelden değiştirdiyseniz, eski bir eklenti ya da tema yeni sürümde çalışmayabilir. Kaldırılmış bir PHP fonksiyonunu kullanan kod ölümcül hata verir.

Bellek sınırı

PHP'nin bellek sınırı (memory_limit) aşıldığında betik durdurulur. Ağır sayfa oluşturucular, büyük WooCommerce mağazaları ve çok sayıda eklenti bu sınırı zorlar.

Bozuk çekirdek dosyaları

Yarıda kesilen bir WordPress güncellemesi ya da zararlı yazılım çekirdek dosyalarını bozabilir.

Adım adım çözüm

  1. Hata kaydını açın. wp-config.php dosyasında şu satırları ekleyin ya da düzenleyin: define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); Sayfayı yeniden açtığınızda hata wp-content/debug.log dosyasına yazılır. Kayıttaki yol (/wp-content/plugins/eklenti-adi/...) sorunlu bileşeni gösterir. İş bitince bu ayarları geri alın.
  2. Sorunlu eklentiyi devre dışı bırakın. Dosya yöneticisinden ya da FTP'den wp-content/plugins içindeki ilgili klasörün adını değiştirin (örneğin eklenti-adi-kapali). Hangi eklenti olduğu belli değilse plugins klasörünün tamamını yeniden adlandırın; site açılırsa adı geri çevirip eklentileri panelden tek tek etkinleştirerek sorunluyu bulun.
  3. Temayı değiştirin. Sorun temadaysa wp-content/themes içindeki etkin tema klasörünü yeniden adlandırın. WordPress yüklü bir varsayılan temaya geçer.
  4. PHP sürümünü kontrol edin. Hosting panelinden bir önceki PHP sürümüne dönün; site açılırsa eklenti ve temalarınızı güncelleyip sonra tekrar yükseltin.
  5. Bellek sınırını artırın. wp-config.php dosyasına define('WP_MEMORY_LIMIT', '256M'); ekleyin ya da hosting panelinden PHP bellek sınırını yükseltin.
  6. Çekirdek dosyalarını yenileyin. wordpress.org'dan aynı sürümü indirip wp-admin ve wp-includes klasörlerini değiştirin. wp-content klasörüne ve wp-config.php dosyasına dokunmayın.
  7. Yedekten dönün. Hiçbiri işe yaramazsa hosting firmanızın yedeğinden hatanın başlamadığı bir güne dönün.

Tekrar yaşamamak için

  • Güncellemeleri toplu yapmayın; önce önemli eklentileri tek tek güncelleyin ve siteyi kontrol edin.
  • Büyük güncellemelerden önce yedek alın.
  • Kod parçalarını tema dosyasına değil, bir alt temaya ya da kod parçası eklentisine ekleyin.
  • Kullanmadığınız eklentileri silin; az eklenti, az çakışma demektir.
  • Yönetici e-posta adresinin güncel ve çalışır olduğundan emin olun; kurtarma modu bağlantısı oraya gelir.

Kritik hata kesinti sayılır mı?

Ziyaretçi açısından evet: sayfa açılmaz, yalnız hata mesajı görünür. WordPress bu mesajı gösterirken çoğu zaman 500 durum kodu döndürür. Ana sayfanın 500 vermesi kesinti olarak yakalanır. Hata yalnız bir alt sayfada, örneğin ödeme sayfasında ise ana sayfayı yoklamak bunu görmez; o adresi ayrıca izlemek gerekir. 500 hatasının diğer nedenlerini 500 Internal Server Error yazısında anlattık.

Siteniz kritik hata verdiğinde ilk siz öğrenin

WordPress'in uyarı e-postası yalnız sitenin e-posta gönderimi çalışıyorsa ulaşır ve çoğu zaman spam klasörüne düşer. domainizle.tr sitenizi dışarıdan yoklar; site hata verdiğinde ve yeniden açıldığında haber verir. Ödeme ya da sepet sayfası gibi önemli adresleri URL izleme ile, sayfada olması gereken bir metnin kaybolmasını da içerik izleme ile ayrıca takip edebilirsiniz.

Sık sorulan sorular

Kritik hata verilerimi siler mi?

Hayır. Hata, sayfanın oluşturulması sırasında ortaya çıkar; yazılarınız, sayfalarınız ve veritabanınız yerinde durur. Sorunlu bileşen devre dışı bırakıldığında site olduğu gibi geri gelir.

Kurtarma modu e-postası gelmedi, ne yapmalıyım?

Önce spam klasörüne bakın. Yine yoksa sitenizin e-posta gönderimi çalışmıyor olabilir. Bu durumda dosya yöneticisinden eklenti klasörünü yeniden adlandırarak aynı sonucu elde edebilirsiniz.

Yönetim paneline de giremiyorum, ne yapmalıyım?

Hosting panelindeki dosya yöneticisi ya da FTP ile wp-content/plugins klasörünün adını değiştirin. Bu, bütün eklentileri devre dışı bırakır ve panele girmenizi sağlar.

Hata yalnız mobilde ya da yalnız bir sayfada çıkıyor, neden?

Hata, o sayfanın kullandığı bir eklentiden ya da kısa koddan kaynaklanıyordur. Hata kaydı hangi dosyada olduğunu gösterir.

Sitenizin hata verdiğini müşterinizden öğrenmeyin. Hesap oluşturun, sitenizi ekleyin ve kesinti olduğunda ilk siz haberdar olun.

Bunu her ay elle kontrol etmeyin

domainizle.tr domain ve SSL bitiş tarihlerini kendiliğinden okur, sitenizin açık olup olmadığını düzenli yoklar; süre dolmadan önce kademeli olarak ve site kapandığında haber verir. Kurulum ya da sunucu erişimi gerekmez.

1 ay ücretsiz deneyin Nasıl çalışır