WordPress sitenizde aniden beyaz bir ekranla veya “500 İç Sunucu Hatası” mesajıyla karşılaşmak can sıkıcıdır. Hata mesajı size net bir şey söylemez; sadece bir şeylerin yolunda gitmediğini gösterir. Üstelik bu hata ziyaretçilerinizin sitenize erişimini tamamen keser, arama motorlarının gözünde güvenilirliğinizi sarsar ve e-ticaret yapıyorsanız doğrudan gelir kaybına yol açar.
Peki bu hatanın kaynağı nedir? Sunucunuz “genel bir sorun var ama tam olarak nerede olduğunu söyleyemiyorum” der. Bu yüzden sorunu bulup çözmek size kalır. Neyse ki çoğu durumda beş-on dakika içinde sitenizi tekrar ayağa kaldırabilirsiniz.
Bu yazıda 500 hatasını adım adım çözmenin yedi yolunu anlatacağım. Her adımda neyi neden yaptığınızı bilmenizi isterim; böylece bir dahaki sefere sorunu kendi başınıza daha hızlı çözersiniz. Sıfırdan başlayanlar için bile uygulanabilir, sade bir rehber olacak. Hadi başlayalım.
500 İç Sunucu Hatası Tam Olarak Nedir?
500 hatası, sunucunun beklenmedik bir durumla karşılaştığında verdiği genel bir HTTP durum kodudur. WordPress özelinde bu genellikle bir PHP betiğinin hatalı çalışması, bellek limitinin aşılması, bozuk bir .htaccess dosyası ya da uyumsuz bir eklenti yüzünden oluşur. Hata bazen tüm siteyi etkiler, bazen sadece yönetici panelinde görünür. Hatanın kaynağını bulmak için sistematik ilerlemek şart; yoksa saatlerce boşa uğraşabilirsiniz.
Unutmayın: 500 hatası bir belirtidir, kök neden değildir. Tamir etmeye çalışmadan önce nerede olduğunu anlamalısınız.
Adımlara Başlamadan Önce: Yedek ve Güvenlik
Bu adımlardan herhangi birini uygulamadan önce sitenizin tam bir yedeğini alın. Dosyaları (FTP üzerinden) ve veritabanını (phpMyAdmin veya hosting paneliniz üzerinden) ayrı ayrı yedekleyin. Kulağa sıkıcı geliyor ama yanlış bir değişiklikle siteyi tamamen erişilmez hale getirirseniz elinizde dönecek bir nokta olur. Beş dakikanızı alır.
Ayrıca hosting firmanızın günlük yedekleme hizmeti olup olmadığını kontrol edin. Çoğu kaliteli hosting otomatik yedek alır; belki tek tıkla geri dönebilirsiniz.
1. Sayfayı Yenileyin ve Tarayıcı Önbelleğini Temizleyin
Bazen sorun sunucuda değil, gördüğünüz hata sayfasındadır. Sunucu geçici bir yoğunluktan çıkmış olabilir ancak tarayıcı eski hata sayfasını göstermeye devam eder. Önce sayfayı Ctrl+F5 ile sert yenileyin. Olmadı, tarayıcı önbelleğini tamamen temizleyin veya gizli pencere açıp deneyin. Bir dakika içinde sorun çözülürse ne âlâ; çözülmezse bir sonraki adıma geçin.
Bu adımı atlamayın. İnsanların yarısı bu kadar basit bir kontrolü yapmadan hemen sunucu ayarlarına saldırıyor.
2. Hata Günlüklerini Kontrol Edin
Sunucu hata günlükleri, 500 hatasının tam nedenini gösteren bir numaralı kaynaktır. Hosting panelinize gidin (cPanel, Plesk veya özel panel). “Hata Günlükleri”, “Error Log” veya benzeri bir bölüm bulun. Orada son birkaç dakikaya ait kayıtları görüntüleyin.
Karşınıza şöyle bir satır çıkabilir:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /home/…/wp-content/plugins/…
Bu size hatanın bir eklentiden kaynaklandığını ve bellek limitinin aşıldığını açıkça söyler. Günlük yoksa hosting desteğinden isteyin; paylaşımlı hostinglerde bazen bu dosyaya doğrudan erişim olmaz. Ama WordPress kendi hata günlüğünü de tutabilir.
WordPress Hata Ayıklama Modunu Açın
WordPress’in wp-config.php dosyasına şu satırları ekleyerek daha detaylı hata mesajları görebilirsiniz:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Bunu yaptıktan sonra wp-content klasöründe oluşan debug.log dosyasını açın. Hatanın hangi dosyada ve hangi satırda olduğunu göreceksiniz. İşiniz bitince bu satırları kaldırın veya WP_DEBUG’u false yapın; açık bırakmak güvenlik riski oluşturur.
3. Eklenti ve Temaları Güvenli Modda Devre Dışı Bırakın
500 hatasının en yaygın sebepleri uyumsuz ya da bozuk eklentilerdir. Ama siteye giremiyorsanız onları normal yoldan devre dışı bırakamazsınız. Çözüm: FTP veya hosting dosya yöneticisi ile wp-content/plugins klasörünün adını geçici olarak değiştirin. Örneğin “plugins_gecici” yapın. Bu tüm eklentileri pasif hale getirir.
Sonra siteye tekrar bakın. Hata giderse, sorun eklentilerdedir. Şimdi “plugins” klasörünü eski adına döndürün ve içindeki her eklenti klasörünü tek tek adlandırarak hangisinin bozuk olduğunu bulun. Sırayla deneyin: birini aktif edin, siteyi kontrol edin, sorun çıkmazsa diğerine geçin.
Aynı şey tema için de geçerli. Varsayılan temayı (Twenty Twenty-Four gibi) yükleyin ve mevcut temanızın klasör adını değiştirip sitenin varsayılana dönmesini sağlayın. Eğer sorun temadaysa bu şekilde anlarsınız.
Bu adım günlüklerde net bir bilgi yoksa asıl can kurtarıcınızdır. Uzun sürebilir ama eninde sonunda sorumluyu yakalarsınız.
4. .htaccess Dosyasını Sıfırlayın
WordPress için .htaccess dosyası, kalıcı bağlantı ayarları ve yönlendirmeler açısından hayati önem taşır. Ama içindeki ufak bir yazım hatası bile sitenin 500 hatası vermesine yol açabilir. FTP ile sitenizin kök dizinine gidin, .htaccess dosyasını bilgisayarınıza indirin (yedek olsun) ve sunucudakini silin.
Ardından WordPress yönetim paneline gidip Ayarlar > Kalıcı Bağlantılar bölümüne tıklayın. Hiçbir şeyi değiştirmeden “Değişiklikleri Kaydet” derseniz WordPress sıfırdan temiz bir .htaccess oluşturur. Eğer panele de erişemiyorsanız, kendiniz manuel olarak şu temel içeriği ekleyebilirsiniz:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Bu çoğu standart kurulum için yeterlidir. Özel yönlendirme kurallarınız varsa onları eski dosyadan dikkatlice geri ekleyin. Her eklemeden sonra siteyi kontrol edin.
5. PHP Bellek Limitini Yükseltin
Bazı eklentiler veya temalar yoğun bellek kullanır ve özellikle paylaşımlı hostinglerde varsayılan 64 MB veya 128 MB limit yetmeyebilir. Bu, “Allowed memory size exhausted” hatası almanıza sebep olur. Bellek limitini artırmak için wp-config.php dosyasına aşağıdaki satırı ekleyin:
define('WP_MEMORY_LIMIT', '256M');
Bunu /* That's all, stop editing! Happy blogging. */ satırının hemen üzerine yapıştırabilirsiniz. Eğer hostinginiz buna izin vermiyorsa, destek ekibinden rica edin. 500 hatası alıyorsanız ve günlüklerde bellek hatası görüyorsanız, sorun büyük ihtimalle budur.
Ancak şöyle bir tuzak var: Limitleri aşırı yükseltmek sunucu performansını düşürebilir; özellikle paylaşımlı ortamda diğer siteleri etkileyebilirsiniz. İhtiyacınız kadar artırın, 256 MB çoğu site için yeterlidir.
6. WordPress Çekirdek Dosyalarını Yeniden Yükleyin
Bazı durumlarda WordPress’in kendi dosyaları bozulmuş olabilir. Eksik ya da hatalı bir güncelleme, sunucu hatası veya güvenlik açığı sonrası çekirdek dosyalar zarar görebilir. Bunu düzeltmenin en temiz yolu WordPress’i manuel olarak yeniden yüklemektir.
Adımlar:
- WordPress.org’dan en son sürümü indirin.
- Zip’i açın ve içindeki wp-admin, wp-includes ve kök dizindeki tüm WordPress dosyalarını (wp-config.php ve wp-content HARİÇ) FTP ile sitenize yükleyin. Üzerine yazın.
- Bu işlem mevcut içeriğinize, eklentilerinize ve temanıza dokunmaz; sadece çekirdek dosyaları tazeler.
Dikkat: wp-config.php dosyasını silmeyin. İndirdiğiniz pakette wp-config-sample.php var; sakın karıştırmayın.
Bu işlem sonrası site muhtemelen düzelecektir. Eğer hâlâ hata alıyorsanız sorun sunucu tarafında olabilir.
7. Hosting Desteğine Durumu İletin
Yukarıdaki tüm adımları uyguladınız ama hata gitmedi. İşte şimdi hosting desteğine yazma zamanı. Ama boş bir “sitem çöktü yardım edin” mesajı yerine, destek ekibinin işini kolaylaştıracak bilgileri ekleyin:
- Tam olarak hangi adımları denediğiniz.
- Varsa hata günlüklerinden bir alıntı.
- Hatanın ne zaman başladığı ve hangi işlemden sonra olduğu (güncelleme, yeni eklenti vs.).
Hosting tarafında yaygın sebepler şunlardır: sunucu kaynak kullanımınızın limiti aşması, PHP sürüm uyuşmazlığı, mod_security gibi güvenlik duvarı kurallarının istekleri engellemesi. Desteğe durumu net aktarırsanız çözüm süreci çok kısalır.
İleri Seviye: Kronik 500 Hatalarına Karşı Önlem Paketi
Bu yedi adım sorunu anlık çözmek içindir. Ama bazı sitelerde 500 hatası sık sık tekrarlıyorsa, altta yatan yapısal bir sorun vardır. Şu başlıklara göz atın:
Eklenti ve Tema Kalitesini Gözden Geçirin
Ucuz ya da güncellenmeyen eklentiler, özellikle WordPress ana sürümü yükseldikçe sorun çıkarmaya başlar. Kullanmadığınız eklentileri silin, aktif olanların güncel olduğundan ve desteklenen son WordPress sürümüyle uyumlu olduğundan emin olun. Eklenti deposundaki “Son güncelleme” tarihine bakmak basit bir filtreleme sağlar; altı aydan eskiyse risk artar.
PHP Sürümünü Güncel Tutun
WordPress’in önerdiği en düşük PHP sürümü sürekli yükseliyor. Hosting panelinizden PHP sürümünü kontrol edin; 7.4 ve altı artık kötü bir fikir. 8.0 veya üzeri idealdir. Ama geçiş yapmadan önce temanızın ve eklentilerinizin o sürümü desteklediğini teyit edin; yoksa yeni 500 hatalarına davetiye çıkarırsınız.
Kaliteli Hosting Seçimi
Paylaşımlı hostinglerde aynı sunucuyu kullanan başka bir sitenin yoğunluğu sizin limitlerinizi aşmanıza sebep olabilir. Eğer trafiğiniz artıyorsa veya WooCommerce gibi ağır bir altyapı kullanıyorsanız, VPS veya yönetimli WordPress hostinge geçmek birçok 500 hatasını kaynağında çözer. Geçiş maliyeti can sıkıcı olabilir ama sürekli site çökmesinden iyidir.
Sık Yapılan Hatalar ve Yanlış Yönlendirmeler
500 hatasıyla uğraşırken panikle yapılan tipik yanlışlara dikkat:
- Her şeyi aynı anda denemek: Eklentileri, .htaccess’i ve bellek limitini aynı anda değiştirirseniz hangi işlemin işe yaradığını bilemezsiniz. Sırayla ilerleyin.
- Yedek almadan işlem yapmak: Bir ayarı bozarsanız geri dönüşü olmaz.
- Hata günlüklerini görmezden gelmek: Günlükler parmağıyla sorunlu dosyayı gösterir; onlara bakmadan rasgele tamir denemek zaman kaybıdır.
- wp-config.php’yi yanlış düzenlemek: Dosyaya yanlış karakter eklemek siteyi toptan çökertebilir. Değişiklikleri düz metin editörü ile yapın.
- Sunucu kaynaklarını sürekli artırmayı çözüm sanmak: Bellek limitini 512 MB yapmak sorunu sadece örter; asıl sebebi (örneğin bellek sızıntısı yapan bir eklenti) bulmanız gerekir.
Adımları Uyguladıktan Sonra Sitenizi Kontrol Edin
Hata gitti diye hemen tarayıcıyı kapatmayın. Şu hızlı kontrolleri yapın:
- Ana sayfa, blog sayfası ve rastgele bir içerik sayfası düzgün yükleniyor mu?
- WordPress yönetim paneline sorunsuz girebiliyor musunuz?
- Site hızında gözle görülür bir düşüş var mı?
- Debug.log dosyasını tekrar kontrol edin; gizli kalmış uyarılar olabilir.
Her şey normalse, yaptığınız değişiklikleri not alın. Bir dahaki sefere aynı sorunu beş dakikada çözersiniz.
WordPress’te 500 iç sunucu hatası sinir bozucudur ama sistematik bir yaklaşımla çoğu zaman kısa sürede çözülür. Bu yedi adım size bir yol haritası sunar: önce yüzeysel kontroller, sonra günlüklerle kök neden tespiti, ardından sırasıyla eklentiler, tema, .htaccess, bellek ve çekirdek dosyaları. Tüm bunlar işe yaramazsa hosting desteğiyle el ele verip sorunu çözersiniz. Kalıcı çözüm içinse PHP ve eklenti güncelliklerini ihmal etmemek, kaliteli hosting kullanmak ve yedek alışkanlığı edinmek sizi birçok dertten korur.
Hata tam bir baş belası, çözmek şart.
PHP betik hatası genelde hangi eklentiden kaynaklanıyor acaba? Teşekkürler.
Beyaz ekranla karşılaşınca insan donup kalıyor, ben de geçen hafta yaşadım.
Sistematik ilerlemek gerek diyorsunuz ama bazen adımlar kafa karıştırıcı olabiliyor, özellikle yedek almayı bilmeyenler için.
E-ticaret sitemde bu hatayı aldığımda siparişler durdu, hosting panelinden hata loglarını kontrol ederek bozuk eklentiyi buldum. Makaledeki .htaccess kontrolünü de ekleyince sorun çözüldü, her ihtimale karşı wp-config.php bellek limitini artırdım.
Sadece yönetici panelinde çıkması bence daha sinir bozucu.
Adımlara başlamadan yedek alın demişsiniz, peki hata oluşmuşken veritabanı yedeğini phpMyAdmin’den almak güvenli mi? Bozuk tablolar yedeğe de yansır mı?
Beş on dakikada çözülür demişsiniz, umarım öyledir.
Sunucu genel bir sorun var diyip geçiyor, peki hosting firmasına ticket açmak yerine .htaccess dosyasını yeniden oluşturmak her durumda işe yarar mı? Özellikle önbellek eklentisi kullanıyorsak nasıl bir yol izlemeliyiz?
Geçenlerde aynı hatayı aldım, meğer eklenti güncellemesi uyumsuzluk yapmış.
Bellek limiti aşımı kısmı biraz göz korkutucu.
Makaledeki sıralama mantıklı, ancak benim gibi paylaşımlı hosting kullananlar için bellek limitini artırmak her zaman mümkün olmuyor. Hosting desteği olmadan yapılabilecek bir şey var mı?
Hatanın nerede olduğunu anlamak bazen saatler alabiliyor, yazıda 5-10 dakika demişsiniz ama biraz iyimser olmuş.
Hata loglarını incelemekten bahsetmişsiniz, log dosyası çok büyükse hangi satırlara bakmalıyız? Özellikle son birkaç hatayı filtrelemek için bir komut ya da ipucu verebilir misiniz?
Güzel özet olmuş, elinize sağlık.