WordPress Beyaz Ekran Hatası (WSOD): Nedenleri ve Adım Adım Çözümü
Site bomboş beyaz açılıyorsa sebep genellikle eklenti, tema ya da bellek limiti. Gerçek hata mesajını görme ve beyaz ekranı çözme adımları.
Siteyi açıyorsun, bomboş beyaz bir sayfa. Hata mesajı yok, uyarı yok, hiçbir ipucu yok.
Korkutucu görünmesinin sebebi tam da bu: ekran hiçbir şey söylemiyor. Oysa sorun "bilgi yok" değil, "bilgi gizli" — ve ilk işin onu görünür yapmak.
Başlamadan: Aşağıdaki adımların bir kısmı dosya değişikliği gerektiriyor. Mümkünse önce yedek al — nasıl yapılacağı burada.
WSOD nedir?
WSOD (White Screen of Death), WordPress sitesinin hiçbir içerik ve hata mesajı göstermeden bomboş beyaz bir sayfa olarak açılmasıdır. Türkçede "ölüm beyaz ekranı" ya da kısaca beyaz ekran hatası olarak geçiyor.
Teknik olarak olan şu: PHP çalışırken ölümcül bir hatayla karşılaşıp duruyor. WordPress varsayılan ayarında hata mesajlarını ziyaretçilere göstermediği için ekrana hiçbir şey basılmıyor ve geriye boş bir sayfa kalıyor.
Önemli olan şu: bu bir veri kaybı değil. Yazıların, sayfaların ve medya dosyaların yerinde duruyor. Sorun görüntülemede, içerikte değil. Hata giderildiği anda site olduğu gibi geri geliyor.
Beyaz ekran neden olur?
Beş sebepten biri, neredeyse istisnasız:
| Sebep | Ne zaman şüphelenmeli |
|---|---|
| Eklenti çakışması | Bir eklenti kurduktan veya güncelledikten hemen sonra başladıysa |
| Tema hatası | Tema değiştirdikten, güncelledikten ya da tema dosyası düzenledikten sonra |
| PHP bellek limiti | Belirli sayfalarda (özellikle panelde) çıkıyorsa |
| PHP sürüm uyumsuzluğu | Hosting PHP sürümünü değiştirdikten sonra |
| Bozuk çekirdek dosya | Güncelleme yarıda kesildiyse, dosya yüklerken bağlantı koptuysa |
Beyaz ekranın nerede çıktığı da ipucu veriyor:
- Hem site hem panel beyaz: Muhtemelen eklenti, bellek limiti ya da çekirdek dosya
- Sadece site beyaz, panel açılıyor: Muhtemelen tema
- Sadece panel beyaz, site açılıyor: Muhtemelen bir eklentinin yönetim tarafı
- Sadece tek bir sayfa beyaz: O sayfadaki bir bileşen ya da bellek limiti
Adım 1: Gerçek hata mesajını gör
Bu adımı atlamak, karanlıkta arama yapmak demek. Beş dakika sürüyor ve genellikle sorunu doğrudan gösteriyor.
FTP ya da hosting dosya yöneticisiyle sitenin kök dizinindeki wp-config.php dosyasını aç. /* That's all, stop editing! */ satırının üstüne şunları ekle:
php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Kaydet ve siteyi tekrar aç. Sonra wp-content/debug.log dosyasını aç.
Bu dosyada genellikle şuna benzer bir satır göreceksin:
PHP Fatal error: Uncaught Error: Call to undefined function ...
in /home/kullanici/public_html/wp-content/plugins/eklenti-adi/dosya.php on line 142
Dosya yolu sana hangi eklentide veya temada sorun olduğunu doğrudan söylüyor. plugins/ yazıyorsa eklenti, themes/ yazıyorsa tema.
Not: WP_DEBUG_DISPLAY değerini false bıraktık; böylece hatalar ziyaretçilerin göreceği şekilde ekrana basılmıyor, sadece dosyaya yazılıyor. Sorun çözülünce bu üç satırı sil.
Log dosyası oluşmadıysa ya da boşsa sorun PHP seviyesinde daha derin olabilir; aşağıdaki adımlara devam et.
Adım 2: Eklentileri devre dışı bırak
Beyaz ekranın bir numaralı sebebi.
Panele girebiliyorsan
Eklentiler sayfasına git, hepsini seç, Toplu İşlemler → Devre Dışı Bırak. Site açıldıysa eklentileri teker teker aktif ederek hangisinin soruna yol açtığını bul.
Panele giremiyorsan
Bu daha yaygın durum. FTP ya da hosting dosya yöneticisi kullanacaksın:
- Hosting kontrol paneline gir, Dosya Yöneticisi'ni aç.
public_html/wp-content/klasörüne gir.pluginsklasörüne sağ tıkla → Yeniden Adlandır →plugins-eskiyap.- Siteyi aç.
WordPress eklentileri bulamayınca hepsini devre dışı sayıyor. Site açıldıysa sebep eklentilerden biri.
Şimdi suçluyu bul:
- Klasörün adını tekrar
pluginsyap. - İçine gir. Her eklentinin kendi klasörü var.
- Bir eklentinin klasör adını değiştir (örneğin
eklenti-adi-kapali), siteyi aç. - Site açıldıysa suçluyu buldun. Açılmadıysa adı geri al, sıradakine geç.
Hata ayıklama log'unda eklenti adını zaten gördüysen doğrudan ona bak, tek tek denemene gerek yok.
Suçluyu bulduktan sonra: Eklentiyi güncellemeyi dene. Zaten güncelse geliştiriciye bildir ya da alternatifine geç. Uzun süredir güncellenmeyen eklentiler bu tip sorunların sık kaynağı — eklenti seçimi yazımızda nelere dikkat edileceğini anlattık.
Adım 3: Temayı değiştir
Eklentiler değilse sıra temada. Özellikle sadece ön yüz beyazsa, panel çalışıyorsa güçlü ihtimal.
wp-content/themes/klasörüne gir.- Aktif temanın klasör adını değiştir (
temaadi-kapali). - Siteyi aç.
WordPress aktif temayı bulamayınca varsayılan temaya (Twenty Twenty-Beş gibi) geçiyor. Site açıldıysa sorun temada.
Varsayılan tema yüklü değilse WordPress de bir hata verecektir. Bu durumda wordpress.org'dan varsayılan temayı indirip themes klasörüne yükle, sonra tekrar dene.
Tema suçluysa: Temayı güncelle. Kendi düzenlemelerin varsa (özellikle functions.php dosyasına eklediğin kodlar) son eklediğin kodu kaldır — beyaz ekranın klasik sebebi, functions.php dosyasına yapıştırılan hatalı bir kod parçası.
Adım 4: Bellek limitini artır
Beyaz ekran özellikle yönetim panelinde ya da belirli sayfalarda çıkıyorsa bellek limiti şüphelisi.
wp-config.php dosyasına şu satırı ekle (yine /* That's all, stop editing! */ satırının üstüne):
php
define( 'WP_MEMORY_LIMIT', '256M' );
Panelin kendisi için ayrı bir limit de tanımlanabiliyor:
php
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Kaydet, siteyi dene.
Değişiklik hiçbir şeyi düzeltmediyse: Limit büyük ihtimalle sunucu tarafında kilitli. Hosting desteğine yazıp PHP bellek limitini artırmalarını iste. Paylaşımlı hostinglerde bu limit düşük tutuluyor.
Adım 5: PHP sürümünü kontrol et
Hosting PHP sürümünü yükselttiyse, eski bir eklenti veya tema yeni sürümle uyumsuz olabiliyor.
Hosting panelinde PHP sürümü ayarını bul. Bir sürüm geri alıp siteyi dene. Site açıldıysa sorun uyumsuzluk demektir.
Ama eski sürümde kalma. Desteği bitmiş PHP sürümleri güvenlik yaması almıyor. Geçici olarak geri al, uyumsuz bileşeni bul, güncelle veya değiştir, sonra tekrar güncel sürüme çık.
Adım 6: Çekirdek dosyaları yenile
Diğer adımlar sonuç vermediyse WordPress'in kendi dosyaları bozulmuş olabilir. Güncelleme yarıda kesildiğinde ya da dosya aktarımı koptuğunda oluyor.
- wordpress.org'dan WordPress'in güncel sürümünü indir, arşivi aç.
- Sunucudaki
wp-adminvewp-includesklasörlerini sil. - İndirdiğin arşivdeki temiz
wp-adminvewp-includesklasörlerini yükle.
Sakın silme: wp-content klasörü (tema, eklenti ve tüm medyan orada) ve wp-config.php dosyası.
Bu işlem içeriğine dokunmuyor, sadece WordPress'in kendi program dosyalarını yeniliyor.
Adım 7: .htaccess dosyasını sıfırla
Nadiren de olsa bozuk bir .htaccess beyaz ekrana yol açabiliyor.
- Kök dizindeki
.htaccessdosyasının adını.htaccess-eskiyap. - Siteyi aç.
- Açıldıysa panele gir, Ayarlar → Kalıcı Bağlantılar sayfasında Değişiklikleri Kaydet'e bas. WordPress dosyayı temiz haliyle yeniden oluşturuyor.
Not: .htaccess gizli bir dosya. Dosya yöneticisinde görünmüyorsa ayarlardan "gizli dosyaları göster" seçeneğini aç.
Hâlâ çözülmediyse
Hosting desteğine yaz. Sunucunun hata kayıtlarına (error log) sadece onlar bakabiliyor ve gerçek sebep çoğu zaman orada duruyor. "Şu saatte site beyaz ekran verdi, error log'a bakabilir misiniz?" demek en hızlı yol.
Yedeğine dön. Sorunun ne zaman başladığını biliyorsan, öncesindeki temiz yedeğe dönmek en hızlı çözüm. Yedek yükleme adımları burada.
Saldırı ihtimalini değerlendir. Beyaz ekranın yanında tanımadığın dosyalar, yönlendirmeler ya da açıklanamayan değişiklikler varsa sorun bir hata değil, zararlı yazılım olabilir. WordPress virüs temizleme rehberimize bak.
Beyaz ekranı tekrar yaşamamak için
- Güncelleme öncesi yedek al. Bu tek alışkanlık, beyaz ekranı 10 dakikalık bir soruna indiriyor.
functions.phpdosyasına doğrudan kod yapıştırma. Bir alt tema kullan ya da kod parçacığı eklentisiyle ekle — hatalı kod siteyi kilitlemesin.- Eklentileri toplu güncelleme. Birkaçını güncelle, siteyi kontrol et, devam et. Sorun çıkarsa hangisinden kaynaklandığını bilirsin.
- Terk edilmiş eklentileri temizle. PHP güncellendiğinde ilk kırılan onlar oluyor.
- Hata ayıklamayı nasıl açacağını öğren. Bu yazının ilk adımı, gelecekte her hatada işine yarayacak.
Sıkça sorulan sorular
WordPress beyaz ekran hatası nedir? PHP bir hatayla karşılaşıp durduğunda, WordPress hata mesajlarını göstermemeye ayarlı olduğu için ekrana hiçbir şey basılmamasıdır. Sayfa boş görünür ama arkada tanımlı bir hata vardır.
Beyaz ekranın en yaygın sebebi ne? Eklenti çakışması. İkinci sırada tema hataları, üçüncüde PHP bellek limiti geliyor.
Panele giremiyorum, nasıl çözerim?
FTP ya da hosting dosya yöneticisiyle wp-content/plugins klasörünün adını değiştirerek tüm eklentileri devre dışı bırak. Site açılırsa sebep eklentilerden biridir.
Beyaz ekran verilerimi siler mi? Hayır. Beyaz ekran bir görüntüleme sorunu; yazıların ve medyan veritabanında ve sunucuda duruyor.
Hata ayıklamayı açtım ama debug.log oluşmadı?
wp-content klasörünün yazma izni olmayabilir ya da hata PHP'nin daha erken bir aşamasında oluşuyordur. Bu durumda hosting desteğinden sunucu error log'unu isteyebilirsin.
functions.php dosyasına kod ekledim ve site beyaz oldu, ne yapmalıyım?
FTP ile dosyayı aç, eklediğin kodu sil, kaydet. Site anında açılır. Bu yüzden functions.php düzenlemeleri her zaman FTP erişimi elindeyken yapılmalı.
Sonuç
Beyaz ekran korkutucu görünüyor ama teşhisi sistematik: hatayı görünür yap, eklentileri kapat, temayı değiştir, belleği artır. Bu dört adım vakaların neredeyse tamamını çözüyor.
Karşılaşabileceğin diğer WordPress hataları ve çözümleri için WordPress hataları rehberimize bakabilirsin.