WordPress
WordPress 500 Internal Server Error nasıl çözülür? Adım adım rehber

Kısa yanıt
WordPress 500 Internal Server Error, sunucunun isteğinizi işleyemediğini ama nedenini açıklamadığını bildiren genel bir HTTP hata koduyur; beyaz ekranın aksine tarayıcıda doğrudan bu mesajı görürsünüz. En sık neden bozulmuş bir .htaccess dosyasıdır, ardından PHP bellek limiti ve eklenti/tema çakışmaları gelir. Doğru sırayla ilerlendiğinde genellikle 15-20 dakikada çözülür.
Panik yapmadan, en kolay ve geri alınabilir adımdan başlamak önemlidir. wordpress 500 internal server error nasıl çözülür sorusunun kısa cevabı şudur: önce yedek alın, sonra .htaccess dosyasını yeniden oluşturun, ardından PHP bellek limitini ve eklentileri tek tek eleyerek kaynağı bulun.
WordPress 500 Internal Server Error neden oluşur?
500 Internal Server Error, WordPress’e özgü bir hata değildir; sunucunun “bir şeyler ters gitti ama size ayrıntı veremem” demesinin standart yoludur. Bu kod, yani wordpress 500 internal server error, ekranda göründüğü her durumda farklı bir kök nedenden kaynaklanabilir, ama pratikte liste kısadır:
- Bozulmuş veya yanlış yazılmış kurallar içeren bir
.htaccessdosyası - PHP bellek limitinin sitenin ihtiyacının altında kalması
- Az önce güncellenen bir eklentinin veya temanın PHP sürümüyle uyuşmaması
- Eksik yüklenmiş veya bozulmuş WordPress çekirdek dosyaları
- Sunucu tarafında kaynak kotasının aşılması veya bir zaman aşımı sınırı
Bu maddelerin ortak noktası, neredeyse her zaman bir güncelleme, yeni eklenti kurulumu veya hosting değişikliği sonrasında ortaya çıkmasıdır. Bu yüzden ilk soru her zaman “en son ne değişti?” olmalıdır; sorunu bu çerçevede ele almak, rastgele deneme yapmaktan çok daha hızlı sonuç verir.
İlk adım: dosyalara dokunmadan önce yedek alın
wordpress 500 internal server error hatasıyla karşılaşınca ilk dürtü genellikle dosyaları hızlıca silmek veya değiştirmek olur; bu, sorunu çözmek yerine büyütebilir. Herhangi bir değişiklik yapmadan önce dosya yöneticisi veya FTP üzerinden .htaccess, wp-config.php ve mümkünse veritabanının bir kopyasını alın. Bu adım, yanlış bir müdahalenin her zaman geri döndürülebilir olmasını garanti eder; hosting sağlayıcınızın otomatik yedeklemesi olsa bile, o anki durumu elle kopyalamak birkaç dakika sürer ama riski ortadan kaldırır.
.htaccess dosyasını yeniden oluşturun
Pratikte en sık çözülen vaka budur: bozulmuş bir .htaccess dosyası sunucunun isteği işleyememesine yol açar. Mevcut dosyayı yedekleyip silin, ardından WordPress panelinde Ayarlar → Kalıcı Bağlantılar sayfasını açıp hiçbir şeyi değiştirmeden “Değişiklikleri Kaydet” butonuna basın; WordPress standart bir .htaccess dosyasını sizin için yeniden oluşturur. Panele erişemiyorsanız aynı işlemi FTP ile dosyayı silip aşağıdaki standart bloğu elle yazarak da yapabilirsiniz:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Site geri geliyorsa sorun kesinlikle bu dosyadaydı; gelmiyorsa bir sonraki adıma geçin.
PHP bellek limitini kontrol edin
wordpress 500 internal server error hatası bazen hiçbir dosya bozulmadan, sadece PHP’nin sitenin ihtiyaç duyduğu belleği ayıramamasından doğar. wp-config.php dosyasına aşağıdaki satırı ekleyerek limiti yükseltebilirsiniz:
define( 'WP_MEMORY_LIMIT', '256M' );
Bu değer paylaşımlı hosting planlarında bazen sunucunun genel PHP limitiyle çakışır; böyle bir durumda hosting panelinizden PHP bellek değerini yükseltmeniz veya destek ekibinden bunu yapmasını istemeniz gerekir.
Hata ayıklama modunu açın ve günlükleri okuyun
500 Internal Server Error’ın can sıkıcı yanı, çoğu zaman WordPress’in kendi hata ayıklama moduna ulaşmadan, daha erken bir katmanda oluşmasıdır; bu yüzden WP_DEBUG her zaman ayrıntı vermez. Yine de denemeye değer:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
wp-content/debug.log dosyasında bir “Fatal error” satırı görürseniz, sorumlu dosya artık bellidir. Böyle bir satır yoksa hosting panelinizdeki sunucu hata kaydına (genellikle error_log adıyla) bakın; 500 hatasının çoğu zaman gerçek nedeni orada görünür, çünkü sorun PHP’nin kendisinden önce, web sunucusu seviyesinde oluşmuştur.
Hangi eklenti soruna yol açıyor?
Yukarıdaki adımlar sonuç vermediyse, klasik ama güvenilir yöntem eklentileri tek tek elemektir. FTP veya dosya yöneticisiyle wp-content/plugins klasörüne gidip klasörün adını geçici olarak (örneğin plugins-eski) değiştirin. WordPress bu klasörü bulamadığında tüm eklentileri otomatik olarak devre dışı kabul eder ve site genellikle geri döner.
Ardından klasörü eski adına çevirin ve eklentileri panel üzerinden tek tek, birer birer etkinleştirip her birinden sonra siteyi kontrol edin. Hata hangi eklenti etkinleştirildiğinde tekrar ortaya çıkıyorsa suçlu bulunmuş demektir; o eklentiyi güncelleyin, farklı bir alternatifle değiştirin veya geliştiricisiyle iletişime geçin.
Temayı varsayılana çevirip test edin
Eklentiler temiz çıkıyorsa sıra temaya gelir. wp-content/themes klasöründe WordPress’in güncel bir varsayılan teması (Twenty Twenty-Four gibi) yoksa indirip yükleyin, ardından wp-config.php dosyasına şu satırı geçici olarak ekleyin:
define( 'WP_DEFAULT_THEME', 'twentytwentyfour' );
Site geri geliyorsa sorun aktif temanızdadır; büyük ihtimalle bir güncelleme sonrası bozulan functions.php veya uyumsuz bir tema eklentisi vardır.
PHP sürümünü ve çekirdek dosyalarını kontrol edin
Eski bir eklenti veya tema, hosting sağlayıcınızın güncellediği yeni bir PHP sürümüyle uyumsuz kalabilir; tam tersi de mümkündür. Hosting panelinizden PHP sürümünü kontrol edin ve WordPress’in güncel sürümünün desteklediği aralıkta olduğunuzdan emin olun. Yukarıdaki adımların hiçbiri işe yaramadıysa, çekirdek dosyalarının bozulmuş olma ihtimali de vardır: wordpress.org’dan güncel WordPress’i indirip yalnızca wp-admin ve wp-includes klasörlerini (içerik veya ayar dosyalarına dokunmadan) FTP ile üzerine yükleyerek bozuk bir çekirdek dosyasını onarabilirsiniz.
Hosting sağlayıcınızla ne zaman iletişime geçmelisiniz?
Yukarıdaki adımların hiçbiri işe yaramıyorsa, sorun muhtemelen sunucu tarafındadır: kaynak kotası aşımı, bir zaman aşımı sınırı veya sunucu yapılandırma hatası gibi. Bu noktada hosting sağlayıcınızın teknik destek ekibine, hangi adımları denediğinizi ve sunucu hata kaydında ne gördüğünüzü net biçimde anlatarak başvurmak, sorunun daha hızlı çözülmesini sağlar. Sunucu günlüklerini kendi başınıza okumayı öğrenmek isterseniz SSH ve temel Linux komutları rehberimize göz atabilirsiniz; orada log dosyalarına erişim ve okuma adım adım anlatılıyor.
Tekrar yaşamamak için
wordpress 500 internal server error hatası genellikle önlenebilir bir sorundur. Eklenti ve tema güncellemelerini önce bir hazırlık (staging) ortamında test etmek, düzenli bir yedekleme rutini kurmak, kullanılmayan eklentileri silmek ve PHP sürümünü desteklenen aralıkta tutmak, bu hatayla tekrar karşılaşma olasılığını büyük ölçüde azaltır. Bu konuyu genel WordPress bakımı bağlamında ele alan WordPress beyaz ekran hatası rehberimize de göz atabilirsiniz; iki hata sık sık aynı güncelleme veya eklenti çakışmasından doğar.
Hata ayıklama sabitleri (WP_DEBUG, WP_DEBUG_LOG) hakkında güncel ve resmi referans için WordPress’in kendi Advanced Administration Handbook - Debugging in WordPress sayfasına bakabilirsiniz.
Sonraki adım
WordPress 500 Internal Server Error, doğru sırayla ilerlendiğinde çoğu zaman kendi başınıza, dosyalara dikkatli müdahale ederek çözülebilecek bir sorundur; ancak sunucu tarafında tekrarlayan veya kaynağı bulunamayan durumlarda profesyonel destek almak hem zaman hem veri güvenliği açısından daha güvenli bir seçimdir. WordPress temelli bir sitenin teknik bakımını veya daha sağlam bir mimariye taşınmasını değerlendirmek isterseniz, grup şirketimiz Web Tasarım Ofisi WordPress kurulumu ve teknik sorun giderme konusunda destek veriyor.
Sitenizin teknik altyapısını veya özel yazılım ihtiyaçlarınızı birlikte değerlendirmek için özel yazılım hizmetimizi inceleyebilir ya da bizimle iletişime geçebilirsiniz.
Dosya ve dizin izinlerini nasıl sıfırlarsınız?
Sunucunuzdaki hatalı dosya izinleri, web sunucusunun (Apache veya Nginx) WordPress çekirdek dosyalarını okumasını engelleyerek doğrudan 500 hatası üretir. Güvenlik eklentileri, sunucu taşımaları veya hatalı FTP yüklemeleri bu izinleri farkında olmadan değiştirebilir. WordPress ekosisteminde standart kural; tüm dizinlerin 755, tüm dosyaların ise 644 izin protokolüne sahip olmasıdır. Özel bir durum olarak hassas verileri barındıran wp-config.php dosyası 600 veya 640 değerine ayarlanmalıdır.
Bu sorunu çözmek için cPanel Dosya Yöneticisi veya FileZilla gibi bir FTP istemcisi kullanabilirsiniz. FTP istemcinizde ana dizine sağ tıklayıp izinleri düzenleme penceresini açın. Sayısal değer alanına 755 yazdıktan sonra alt dizinlere uygulama seçeneğini işaretleyin ve yalnızca klasörlere uygulanmasını seçin. İşlem tamamlandığında aynı adımı dosyalar için tekrarlayın; bu kez 644 değerini girip yalnızca dosyalara uygulanacak şekilde işlemi onaylayın. SSH erişiminiz varsa, sitenizin kök dizininde find . -type d -exec chmod 755 {} \; ve find . -type f -exec chmod 644 {} \; komutlarını çalıştırarak tüm hiyerarşiyi saniyeler içinde düzeltebilirsiniz.
Sıkça sorulan sorular
WordPress 500 Internal Server Error veri kaybına yol açar mı?
Hayır, hata genellikle sunucunun isteği tamamlayamamasından kaynaklanır; dosya veya veritabanı silinmez. Yine de .htaccess veya wp-config.php dosyasına dokunmadan önce yedek almak, yanlış bir müdahaleyi geri alınabilir kılar.
WordPress 500 Internal Server Error’ın en sık rastlanan nedeni nedir?
Bozulmuş veya yanlış kurallar içeren bir .htaccess dosyası, pratikte en sık görülen tetikleyicidir. Ayarlar → Kalıcı Bağlantılar sayfasından dosyayı yeniden oluşturmak, çoğu vakada ilk denenmesi gereken adımdır.
WP_DEBUG açıkken 500 hatası neden ekranda görünmeye devam ediyor?
500 Internal Server Error çoğu zaman WordPress kodu çalışmaya başlamadan, sunucu veya .htaccess katmanında oluşur; bu durumda WP_DEBUG hiçbir şey yakalamaz. Hata debug.log’da yoksa sorunun PHP katmanının altında, sunucu seviyesinde olduğunu varsaymak gerekir.
Hangi eklentinin soruna yol açtığını nasıl anlarım?
wp-content/plugins klasörünün adını FTP veya dosya yöneticisiyle geçici olarak değiştirip tüm eklentileri aynı anda devre dışı bırakın, ardından her birini tek tek yeniden etkinleştirip siteyi kontrol edin.
Sorunu kendim çözemezsem ne yapmalıyım?
debug.log ve sunucu hata kaydındaki (error_log) satırı, denediğiniz adımlarla birlikte hosting sağlayıcınızın teknik destek ekibiyle paylaşın; sorun kaynak kotası veya sunucu yapılandırmasıysa bu bilgi çözümü hızlandırır.