WordPress Eklentileri 500 İnternal Server Hatasına Yol Açabilir

Eğer wordpress sitenize yeni bir eklenti ekledikten veya güncelledikten hemen sonra 500 internal server hatası alıyorsanız, bunun sebebi kesinlikle en son yüklediğiniz veya güncellediğiniz eklentinin wordpress sitesi ile uyuşmazlığından dolayıdır. Fakat bazen eklenti yüklemeden veya herhangi bir güncelleme yapmadan da 500 internal server hatası almanız mümkün.

Eklentilerden dolayı 500 internal server hatası almanızın başlıca sebepleri;


  1. Çoğumuzun güvenlik önlemi için yaptığı, veritabanı tablo prefix isimlerinin wp_’den başka ( dsWt783_ gibi ) isimlere değiştirilmesi sonucu, eklentinin wp_ isimli prefixleri kullanma eğiliminde bulunması ve sonucunda gerekli tablolara ulaşamaması.
  2. Eklentinin kullandığı bazı ana fonksiyonların wordpress altyapınız tarafından daha önce silinmiş olması
  3. Eklentinin eski bir php formatında kodlanmış ve güncellenmemiş olması



Eklenti Çözümü – 500 internal server hatası

500 internal server hatası biraz önce yüklediğiniz eklentiden sonra ortaya çıktığı konusunda eminseniz. Çözüm basit. 500 internal server hatasına yol açan eklentiyi etkisizleştirmek. Peki admin paneline erişiminiz olmadan bir eklentiyi nasıl etkisizleştirirsiniz ? Alttaki yöntemi uygulayabilir yada diğer yöntemleri Admin Paneli Olmadan Eklenti Etkisizleştirme başlıklı yazımdan öğrenerek uygulayabilirsiniz.

Öncelikle yapmanız gereken FTP üzerinden wordpress sitenizin server‘ına bağlanmak ve arıdan tek yapanız gereken wp-content/plugins dosyanızın ismini değiştirmek.
FTP ile siteniz sunucusuna bağlandıktan sonra Wp-content >> Plugins dosyanıza gidin. Plugins dosyasının isminin sonuna “1“rakamı ekleyerek yeniden isimlendirin. Yani plugins dosyamızı yeniden isimlendirip plugins1 yapın. Şimdi wordpress sitenizin admin paneline ulaşabilirsiniz. WordPress sitenize geri dönün ve admin panelinizden giriş yapın.
Giriş işlemini yaptıktan sonra ekranınızda bir çok hata belirecektir. “A plugin was deactivated because the file B.php can’t be found” gibi. Aldırmayın, hiç bir veri kaybetmediniz.

Bu işlemi yaparak sadece tüm eklentileri etkisizleştirmiş olduk.




Şimdi tekrar wp-content/plugins1 dosyanıza geri dönün ve plugins1 dosyanızın sonundaki “1” rakamını kaldırın, yani dosyanızın ismini tekrar plugins yapın.

Böylece tüm eklentileriniz tekrar Admin paneli >> Eklentiler sayfasında görünücektir fakat, bu sefer hepsi etkisizleştirilmiş halde olacaktır. Tüm eklentileri tek tek aktifleştirin ve 500 internal server hatası oluşup oluşmadığını her bir eklentiyi etkinleştirdikten sonra tekrar kontrol edin. Ta ki problem yaratan eklentiyi bulana kadar.

.htaccess Dosyanız 500 İnternal Server Hatasına Sebep Olabilir

Eğer tüm yukarıdaki işlemleri yaptıktan sonra 500 internal server hatasının eklentilerden kaynaklanmadığına emin olduysanız, sırada ki bakmanız gereken şey .htaccess dosyanız. .htaccess dosyanız bir şekilde bozulmuş olabilir eğer sorun .htaccess dosyasındaysa, sitenizin ön yüzünde 500 internal server hatası alsanız bile hala admin panelinizden sitenize ulaşıyor olabilirsiniz.

.htacess Çözümü – 500 internal server hatası

FTP ile serverınıza bağlanın ve .htaccess dosyanızın ismini .htaccess_eski olarak değiştirin ve wordpress sitenizin admin paneline giriş yaptıktan sonra admin panelinden ayarlar >> kalıcı bağlantı ayarlarına sekmesine tıklayın ve hiç bir değişiklik yapmadan, değişiklikleri kaydet deyin.

Bu işlem otomatik olarak wordpress siteniz için yeni .htaccess dosyası oluşturacaktır. (Hatayı alıp almadığınızı bu işlemden sonra tekrar kontrol edin. Düzelmediyse okumaya devam ) ve tabi ki .htaccess dosyası üzerinde manuel olarak yaptığınız tüm değişiklikler silinecektir.

PHP Debugging Etkinleştirerek Hatanın Sebebini Bulmak

Eğer siteniz herhangi bir php kod hatasından dolayı 500 internal server hatası veriyorsa, bu hatanın tam olarak sitenizin hangi dosyasında ortaya çıktığını bulmak için wordpress’ten, bize bu hatanın nerede olduğunu söylemesini aşağıdaki kodu wp-config-php dosyamıza ekleyerek isteyeceğiz.

Aşağıdaki kodu wp-config-php dosyanız içerisinde aratın

define('WP_DEBUG', false);

ve bulduktan sonra silip aşağıdaki komutlarla değiştirin. Eğer bu satır wp-config.php dosyanızda hiç yoksa direkt aşağıdaki kodu wp-config.php dosyanıza ekleyin.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);




Bu işlemi yaptıktan sonra sitenize dönün ve 500 internal server hatası gördüğünüz sayfalarınızı yenileyin. WordPress size eğer hata php’den kaynaklanıyorsa, hatanın hangi dosyalar içinde hangi satırda yer aldığını ekranın üstünde yazılı bir şekilde söyleyecektir. Bundan sonra çözüm üretmek size kalmıştır çünkü, ortaya çıkan php kod hatası her kişinin web sitesi için farklılık gösterir.



500 İnternal Server Hatası

Önemli: 500 internal server hatasına sebep olan php kod hatasını bulup düzelttikten sonra wp-config.php dosyanıza eklediğiniz yukarıdaki kodları silin. Yoksa tüm hata bildirimleri php dosynanızın içinde birikicektir ve dosyanın boyutu devamlı artacaktır.

Memory Limit Arttırma 500 İnternal Server Hatasına Çözüm Olabilir

500 internal server hatasına bir diğer potansiyel çözüm yoluda wordpress’in varsayılan olarak atadığı 32mb olan memory limiti arttırmak olabilir.