WordPress siteniz aniden bembeyaz bir sayfaya dönüştüğünde, kalbinizin sıkıştığını hissetmeniz normal. Üstelik hata mesajı da yok. İşte tam bu noktada, panik yapmadan önce derin bir nefes alın ve yalnız olmadığınızı bilin.
WordPress beyaz ekran hatası (White Screen of Death – WSOD), sitenin ön yüzünde veya yönetim panelinde hiçbir içerik görünmemesiyle kendini belli eder. Aslında PHP kaynaklı bir ölümcül hatadan kaynaklanır ve hata raporlaması kapalı olduğu için bomboş bir sayfa görürsünüz.
Bu yazıda, hatayı adım adım çözmek için en etkili beş yöntemi öğreneceksiniz. Uygulamaya geçmeden önce almanız gereken önlemleri, en sık düşülen hataları ve hangi durumda hangi çözümü denemeniz gerektiğini net bir şekilde anlatacağım.
Başlamadan Önce: Yedek Alın ve Hata Günlüklerini Açın
Herhangi bir dosyaya dokunmadan önce, sitenizin tam yedeğini alın. Hosting panelinizdeki yedekleme aracı veya bir FTP istemcisiyle dosyaları ve veritabanını ayrı ayrı kopyalayın. Eğer mevcut bir yedeğiniz varsa, bu adımı atlayabilirsiniz ama yine de emin olun.
Ardından, WordPress’in sustuğu o hatayı konuşturmak için hata ayıklama modunu açın. Çünkü boş bir sayfaya bakarak sorunu tahmin etmeye çalışmak karanlıkta ok atmaya benzer.
Bunu yapmak için, FTP veya hosting dosya yöneticisi ile site kök dizininde bulunan wp-config.php dosyasına şu satırları ekleyin:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Bu kod, hataları ziyaretçilere göstermez ama /wp-content/ klasöründe bir debug.log dosyasına yazar. Artık hatayı görmek için bu dosyayı açabilirsiniz. Hata ayıklama açıkken sayfayı yeniden yükleyin ve log dosyasını kontrol edin. Size dosya adı ve satır numarasıyla birlikte hatanın kaynağını gösterecektir.
Eğer wp-config.php dosyasında bu satırlar zaten varsa ve false olarak ayarlanmışsa, değerleri true yapın. Hosting dosya yöneticisinin yerleşik düzenleyicisi yerine Notepad++ veya Sublime Text gibi bir kod düzenleyici kullanmanız daha güvenlidir.
Küçük bir detay: Bazı hosting firmaları sunucu seviyesinde hataları loglar. Hosting panelinizdeki “Hata Günlükleri” bölümünü de kontrol edin. Özellikle paylaşımlı hostinglerde bu kayıtlar işe yarayabilir.
Şimdi asıl çözümlere geçebiliriz.
1. Temayı Varsayılana Düşürerek Sorunu Kaynağından Ayırın
Beyaz ekran hatasının en yaygın sebebi, güncellenen ya da yeni yüklenen bir temanın uyumsuzluk çıkarmasıdır. Önce temayı kontrol edin çünkü diğer çözümlere göre uygulaması daha kolaydır ve sıklıkla işe yarar.
Yönetim paneline erişebiliyorsanız, Görünüm > Temalar yolundanTwenty Twenty-Four gibi varsayılan bir temayı etkinleştirin. Eğer panele giremiyorsanız — ki bu sık yaşanır — FTP ile müdahale etmeniz gerekir.
FTP istemcinizle /wp-content/themes/ klasörüne gidin. Kullandığınız temanın klasörünü geçici olarak yeniden adlandırın — örneğin “astra” yerine “astra-devredisi”. WordPress mevcut temayı bulamayacağı için otomatik olarak varsayılan temaya döner.
Bu işlemden sonra site düzelirse, sorunun temada olduğu kesinleşir. Temayı güncelleyin, geliştiricinin destek forumuna bakın veya temiz bir kurulum deneyin. Eğer özel bir tema kullanıyorsanız, eklediğiniz son kod parçacıklarını gözden geçirin. Özellikle functions.php dosyasında yapılan değişiklikler sıkça hataya yol açar.
Unutmayın: Tema klasörünü silmiyorsunuz, sadece adını değiştiriyorsunuz. Böylece istediğiniz zaman eski adını verip geri dönebilirsiniz. Eğer site hâlâ boşsa, bir sonraki adıma geçin.
2. Eklentileri Saf Dışı Bırakarak Çakışmaları Eleme
Eklentiler, WordPress’in gücü olduğu kadar zayıf karnıdır da. Güncelleme sonrası uyumsuzluk, iki eklentinin birbiriyle didişmesi veya PHP sürümüyle uyuşmama gibi nedenler beyaz ekrana yol açabilir.
Eğer yönetim paneli açıksa, Eklentiler > Yüklü Eklentiler sayfasına gidin. Tüm eklentileri toplu olarak pasifleştirin. Site düzelirse, eklentileri tek tek etkinleştirerek suçluyu bulabilirsiniz. Bu yöntem can sıkıcıdır ama kesin sonuç verir.
Ancak genellikle yönetim paneli de beyaz ekran verdiği için FTP kullanmak zorunda kalırsınız. /wp-content/ dizinindeki plugins klasörünü “plugins-devredisi” olarak yeniden adlandırın. Bu, tüm eklentileri aynı anda kapatır. Ardından siteyi kontrol edin. Eğer düzelmişse, klasörü eski adına çevirin ve içindeki her eklenti klasörünü tek tek yeniden adlandırarak sebebi bulun.
Bu işlem sırasında aklınızda bulunsun: Eklenti klasörünü yeniden adlandırmakla, eklentiyi silmek aynı şey değildir. Verileri kaybolmaz. Ayrıca, eğer siteniz çok eklentiliyse, önceliği son güncellediklerinize ve önbellek (cache) eklentilerine verin.
Önbellek eklentileri bazen inadına sorun çıkarır. Eğer WP Rocket, W3 Total Cache veya LiteSpeed Cache gibi bir eklenti kullanıyorsanız, sadece onu kapatıp denemekle başlayın. Çünkü bu eklentiler kendi /wp-content/ içindeki cache klasörlerine yazma işlemi yapar ve izin sorunlarıyla beyaz ekrana sebep olabilir.
Son bir not: Eğer eklentileri topluca kapatınca site düzelmediyse, sorun muhtemelen daha derinde. Ama umutsuzluğa kapılmayın; sıradaki adım genelde can simidi olur.
3. PHP Bellek Limitini Artırarak Kaynak Sıkıntısını Giderme
WordPress’in size beyaz bayrak açmasının sebebi bazen yeterince hafıza verilmemesidir. Özellikle sayfa kurucu eklentiler, ağır temalar ve çok sayıda içerik, PHP bellek limitini zorlar. Varsayılan 64 MB veya 128 MB limiti, talepkâr bir site için yetersiz kalabilir.
Bu durumda yapacağınız şey basit: PHP bellek limitini artırmak. Yine wp-config.php dosyasına şu satırı ekleyin:
define('WP_MEMORY_LIMIT', '256M');
Bu satırı “Hepsi bu, bu satırı ekleyip bitireceğim” diye eklemeyin. Dosyanın en alt kısmında, “That’s all, stop editing! Happy publishing.” yorumunun hemen üstüne yerleştirin. Çünkü diğer tanımlamalarla çakışmaması gerekir.
Eğer bu işe yaramazsa, sunucunuz gerçekten sınırlı olabilir ve hosting desteğinden limiti yükseltmesini istemeniz gerekebilir. Bazı paylaşımlı hosting ortamlarında, .htaccess veya php.ini dosyasıyla da limit artırılabilir. Ama wp-config.php üzerinden yapmak en sağlıklısıdır.
Bu adımın çözmediği durumlar, genellikle bozuk bir çekirdek dosyasına veya sunucu yapılandırmasına işaret eder. Merak etmeyin, birkaç etkili silahımız daha var.
4. WordPress Çekirdek Dosyalarını Sıfırlayarak Bozulmaları Onarma
Güncelleme sırasında kesinti, sunucu hatası veya yanlışlıkla silinen bir dizin, WordPress’in can damarı olan çekirdek dosyalarını bozabilir. Beyaz ekran hatasının yönetim panelini de kapsadığı ve diğer yöntemlerin işe yaramadığı senaryolarda bu yola başvurulur.
Korkmayın: Bu işlem içeriklerinizi, eklentilerinizi ve tema dosyalarınızı etkilemez. Sadece WordPress’in kendi dosyalarını temizleyip yenisiyle değiştiririz.
FTP ile site kök dizinine bağlanın. wp-admin ve wp-includes klasörlerini bilgisayarınıza yedekleyin. Ardından, sunucudaki bu iki klasörü silin. Evet, silin. Korkmayın, yeni çıkacak sürümden tekrar yükleyeceğiz. Ancak wp-content klasörüne ve kök dizindeki .htaccess, wp-config.php gibi özel dosyalara kesinlikle dokunmayın.
Şimdi WordPress.org’dan en güncel Türkçe sürümü indirin. Zip dosyasını açın. İndirdiğiniz temiz WordPress’teki wp-admin ve wp-includes klasörlerini, az önce sildiğiniz klasörlerin yerine FTP ile yükleyin. Ayrıca kök dizindeki wp-settings.php, wp-login.php gibi tekli dosyaları da yeni sürümdekilerle değiştirin (ama wp-config.php ve .htaccess hariç).
Bu işlem tam anlamıyla bir tazelemedir. Siteyi yeniden açtığınızda, büyük olasılıkla bembeyaz sayfa gitmiş olacak. Peki ya hâlâ devam ediyorsa?
5. Sunucu Kaynaklı Darboğazları ve Dosya İzinlerini Kontrol Etme
Bazen sorun WordPress’te değil, onu ağırlayan sunucudadır. PHP sürümü uyumsuzluğu, dosya izinleri veya disk kotaları gibi görünmez engeller beyaz ekrana davetiye çıkarır.
Öncelikle dosya izinlerini doğrulayın. Genel kural: Klasörler için 755, dosyalar için 644. wp-config.php için ise güvenlik gereği 600 veya 440 önerilir. FTP istemcinizle ana klasörlere sağ tıklayıp “Dosya İzinleri” bölümünden kontrol edebilirsiniz. Yanlış izinler, WordPress’in dosyalara erişimini engelleyerek hataya yol açabilir.
Sonra, hosting panelinizden PHP sürümünü kontrol edin. WordPress, PHP 7.4 ve üzerini resmi olarak destekler. Mümkünse 8.1 veya 8.2 gibi güncel bir sürüm seçin. Ancak burada kritik bir uyarı var: Sitenizin tüm tema ve eklentileri o sürümü destekliyor olmalı. Önce eklentileri pasifleştirip PHP’yi yükseltip sonra teker teker eklentileri açarak test etmek sağlıklı olur.
Ayrıca, sunucunun disk alanı dolmuş olması da beyaz ekran yapar. Hosting panelinden disk kullanımı grafiğine bakın. %90’ı aşmışsa, geçici dosyaları, yedekleri veya media kütüphanesini temizleyin. Özellikle /wp-content/uploads/ altındaki eski revizyonlar ve debug.log dosyası ciddi yer kaplayabilir.
Eğer tüm bu adımlara rağmen beyaz ekran inat ediyorsa, hosting desteğine durumu açıklayan bir bilet açın ve onlardan sunucu hata kayıtlarını kontrol etmelerini isteyin. Bazı sunucu düzeyindeki mod_security kuralları veya SuPHP ayarları sorun çıkarabilir ve bunlara sadece hosting firması müdahale edebilir.
Bu noktada şunu unutmayın: Beyaz ekranın sebebi tek bir faktör olmayabilir. Bazen bir eklenti çakışması + düşük bellek limiti birleşerek krizi doğurur. Bu yüzden yöntemleri tarif edilen sırayla denemek size zaman kazandırır.
Süreçte En Çok Yapılan Hatalar ve Kaçınma Yolları
Bu bölümü, “bunu sakın yapma” diyerek değil, tecrübeyle sabitlenmiş tuzaklar olarak düşünün.
- Doğrudan veritabanına müdahale etmek: Beyaz ekran sorunlarının çoğu dosya tabanlıdır. PhpMyAdmin’e dalıp
wp_optionstablosunu kurcalamak, durumu daha da kötüleştirir. Sadece dosya temelli çözümler tükendiğinde ve spesifik bir veritabanı hatasından eminseniz bu alana girin. - Yedeğe güvenmek yerine “belki düzelir” umuduyla değişiklik yapmak: Çözüm adımlarını uygulamadan önce yedeğin tam olduğundan emin olun. Aksi halde, geri dönüşü olmayan bir noktaya ulaşabilirsiniz.
- Tüm sorunlu eklentiyi silmek: Suçlu eklentiyi buldunuz diye hemen silmeyin. Önce pasifleştirin, site stabil çalışıyorsa alternatifini kurun. Veri kaybı yaşamamak için eklenti ayarlarını dışa aktarma özelliği varsa kullanın.
- Aceleyle PHP sürümünü en yeniye atlamak: Güncel PHP iyidir ama temanız veya kritik bir eklentiniz henüz desteklemiyorsa, işler daha da karışır. Önce uyumluluk listesini kontrol edin.
- Sadece önbelleği temizlemekle yetinmek: Tarayıcı önbelleği ve site önbelleği farklı şeyler. Beyaz ekran sunucu kaynaklı olduğu için tarayıcı önbelleğini temizlemek elbette çözüm değil. Ama site önbelleğini (varsa) FTP’den
/wp-content/cache/klasörünü boşaltarak temizlemeyi unutmayın.
Bu tuzaklara dikkat ettiğiniz sürece, kendi sitenizde cerrahi bir müdahale yapmış kadar kontrollü olursunuz.
Artık Beyaz Ekranla Başa Çıkabilirsiniz
WordPress beyaz ekran hatası ilk karşılaşıldığında korkutucudur. Ama gördünüz ki, sistematik bir yaklaşımla büyük oranda sizin kontrolünüzde. Hata ayıklamayı açın, temayı ve eklentileri test edin, bellek limitini artırın, gerekirse çekirdek dosyaları tazeleyin ve sunucu ayarlarına göz atın.
Bu beş yöntemden en az biri, sizi o sinir bozucu boş sayfadan kurtaracaktır. Tekrar aynı durumla karşılaşmamak için şu önlemleri rutininize ekleyin: Güncellemeleri önce staging ortamda deneyin, kaliteli ve düzenli güncellenen eklentiler kullanın, PHP bellek limitini yeterli bir seviyede tutun ve otomatik yedekleme eklentisi kurun.
Siteyi tekrar ayağa kaldırdıktan sonra, oturun bir nefes alın. Çünkü artık bu hatanın kalıcı bir felaket değil, çözülebilir bir teknik aksaklık olduğunu biliyorsunuz.
Beyaz ekran gerçekten ürkütücü oluyor.
Hata ayıklama kodunu eklerken dikkat etmemiz gereken bir nokta var mı?
Geçen hafta başıma geldi, yedek olmasaydı çok zorlanırdım.
Yedek almayı atlayan biri olarak bu uyarıyı ciddiye almalıyım. Ama ya hosting panelinde yedekleme aracı yoksa, manuel olarak almak güvenli mi?
Ben genelde eklenti çakışmasından kaynaklanan beyaz ekranla karşılaşıyorum. Makalede bahsedilen yöntemlerden önce eklenti klasörünü yeniden adlandırıp tek tek açarak sorunlu eklentiyi buluyorum, bu diğer adımlara göre daha hızlı sonuç veriyor.
Bence yedek almak her zaman ilk adım olmamalı.
Hata günlüğünü açmak iyi fikir ama log dosyası sunucuda gereksiz yer kaplamaz mı? Bu modu her zaman açık tutmalı mıyız yoksa sorun çözülünce kapatmalı mıyız?
Anlık kalp sıkışması kısmı çok doğru.
Makalede önerilen debug log dosyasını /wp-content/ klasöründe bulabileceğimizi söylemişsiniz. Peki hosting dosya yöneticisinde bu dosyayı görüntülemek için özel bir izin gerekir mi? Bazen dosya izinleri nedeniyle ulaşamıyorum. Ayrıca log dosyası çok büyürse performansı etkiler mi?
Bir keresinde temayı güncelledikten sonra bu hatayı almıştım, çözümü basitmiş meğer.
Veritabanını ayrı yedeklemek aklıma gelmezdi.
Özellikle hata mesajı olmaması insanı çıldırtıyor. Ben wp-config.php dosyasında WP_DEBUG’u true yapınca ekranda hatayı görüyorum ama log dosyasına yazdırmak daha güvenliymiş. Bir sonraki sefer bu yöntemi deneyeceğim.
Hata ayıklama modunu açmak işe yarıyor ama her seferinde dosya düzenlemek zahmetli.
Yazıda hata ayıklama kodlarını eklerken sitenin kök dizinindeki wp-config.php dosyasını kullanmamız gerektiğini söylemişsiniz. Peki bazı hostinglerde bu dosya farklı bir konumda olabiliyor mu? Örneğin benefitSHARE ortamlarında wp-config.php’nin yeri standart değil diye duymuştum. Bu durumda ne yapmalıyız?
Panik yapmamak en önemlisi gerçekten.