Bu yazımızda web sitelerinizde karşılaştığınız “500 Internal Server Error Hatası” ve bu hatanın çözümü konusunda ayrıntılı bilgi sahibi olacaksınız. Yazımızı okumayı bitirdikten sonra, söz konusu hata ile karşılaşsanız bile; kimseden yardım almadan dakikalar içinde web sitenizi yeniden yayına alabileceksiniz.

Genelde WordPress alt yapılı sitelerde rastlanan “500 Internal Server Error” hatasını düzeltmeye geçmeden evvel “Wordpress Site Taşıma Nasıl Yapılır?” başlıklı konumuzu okuyarak site yedeğinizi almanızı tavsiye ederiz.

Öncelikle belirtmeliyiz ki sitenizin adresini arama çubuğuna yazdığınızda karşınıza çıkan bu hata mesajının dört sebebi olabilir. Şimdi bu sebepleri ve çözümlerini başlıklar halinde anlatalım.

  • Bozulan .htacces Dosyası
  • PHP Hafıza Sınırı Sorunu
  • Problemli WordPress Eklentileri
  • Bozulan WordPress Dosyaları

1. Bozulan .htacces Dosyası

“Hypertext Access” teriminin kısaltması olan “.htaccess” dosyası; herhangi bir sebeple bozulmuş ise siteniz “500 Internal Server Error Hatası” verir. Sitenizin dosyalarının kurulu bulunduğu “WordPress” dizinini ve bu dizin altındaki tüm alt dizinleri kontrol eden yapılandırma dosyası .htaccess’in bu hataya sebep olup olmadığını anlamanın tek yolu aşağıdaki iki çözümü uygulamaktır.

Bahsedeceğimiz çözümleri uygulamak sitenize herhangi bir zarar vermez. Eğer hata .htaccess’ten kaynaklanmıyor ise sadece hatayı almaya devam edersiniz. Ama dediğimiz gibi anlamanın tek yolu çözümleri uygulamak.

Çözüm 1: .htaccess Dosyasını Yeniden İsimlendirin

Öncelikle hostinginizin FTP sunucusuna bağlanmanız için FTP bilgileri ve bir FTP istemcisi gerekli. Eğer FTP konusunda bilgi sahibi değilseniz ve bir FTP programınız yoksa; BURAYA tıklayarak FTP teknolojisi hakkında ayrıntılı bilgi sahibi olabilir ve FileZilla gibi ücretsiz bir FTP programı indirebilirsiniz.

FTP programı edindiyseniz aşağıdaki adımları sırasıyla takip edebilirsiniz.

  1. FileZilla’yı açın ve sitenizin FTP bilgilerini girerek bağlanın.
  2. Linux hosting kullanıyorsanız “public-htm” ya da “www” klasörüne, Windows hosting kullanıyorsanız “httpdocs” klasörüne çift tıklayın.
  3. Açılan alt dizinde .htaccess dosyasını bulun.
  4. Bu dosyaya farenizle bir defa tıklayarak (eğer çalışmadı ise sağ tıklayıp “yeniden adlandır” diyerek) adını “.htacces_1” veya “.htaccess_eski” şeklinde değiştirin.
  5. Değişiklik tamamlandıktan sonra sitenizin adresini tarayıcınıza yazın. Eğer hatayı almıyorsanız sorun çözülmüş demektir.
  6. Hala sorununuz çözülmedi ise aşağıdaki çözümleri uygulamaya devam edin.

Çözüm 2: .htaccess Dosyasını Yeniden Oluşturun

Bu çözümde .htaccess dosyasını yeniden oluşturmayı deneyeceğiz. Bu metotta WordPress admin paneli üzerinden yeniden .htaccess dosyası oluşturmayı anlatacağız.

  • WordPress admin paneline giriş yapın. Eğer admin paneliniz İngilizce ise sol taraftan Settings>Permalinks sekmesine tıklayın. Türkçe admin panel kullanıyorsanız Ayarlar>Kalıcı Bağlantılar sekmesine tıklayın.
  • Açılan pencerede “Save Changes” veya “Değişiklikleri Kaydet” düğmesine tıklayın.
  • Kalıcı bağlantıları yeniden kaydettiğinizde, yeni bir .htaccess dosyası oluşturdunuz.
  • Şimdi tarayıcıya site adresinizi yazıp hatayı tekrar alıp almadığınızı kontrol edin.
  • Eğer hatayı alıyorsanız aşağıdaki çözümleri uygulayın.

2. PHP Hafıza Sınırı Sorunu

PHP hafıza sınırı sorunları; 500 Internal Server Error hatası almanızın nedenlerinden biri olabilir. Bu hatayı düzeltmek de oldukça basittir. Ayrıca çok sık karşılaşılmayan “memory exhausted” hatası da bu çözüm yöntemi ile giderilebilir. Bu çözümü uygulamak için aşağıdaki adımları izleyerek “wp-config.php” dosyasında bir takım değişiklikler yapacağız.

  • FTP İstemcisi programına sitenizin bilgilerini girerek FTP sunucunuza bağlanın.
  • Linux hosting kullanıyorsanız “public-htm” ya da “www” klasörüne, Windows hosting kullanıyorsanız “httpdocs” klasörüne çift tıklayın.
  • Açılan alt dizinde wp-config.php dosyasını bulun ve dosyayı çift tıklayarak bilgisayarınıza indirin.
  • İndirdiğiniz dosyayı Notepad++ ile düzenlemek için açın. Eğer bilgisayarınızda Notepad++ yoksa BURAYA tıklayarak resmi sitesinden indirin.
  • Wp-config.php dosyasında “ctrl+f” ile aratarak “/* That’s all, stop editing! Happy blogging. */” satırını bulun.
  • Bu satırın üst kısmına “define (‘WP_MEMORY_LIMIT’, ‘300M’);” kodunu ekleyin. Tırnak işaretleri arasındaki kodu eklediğinizden emin olun.
  • Kaydet diyerek düzenlediğiniz dosyayı kapatın.
  • Tekrar FTP istemcisi programa dönün ve düzenlediğiniz yeni wp-config.php dosyasını “üzerine yaz” diyerek yenisi ile değiştirin.
  • Tarayıcınıza site adresini yazın ve hatanın çözülüp çözülmediğini görün. Eğer hata çözülmemiş ise diğer adımları takip etmek için yazımızı okumaya devam edin.

3. Problemli WordPress Eklentileri

500 Internal Server Error hatası alıyor olmanın bir diğer sebebi de kullandığınız eklentiler olabilir. Genelde son yüklediğiniz eklentiden ya da eklentilerde yaptığınız son güncellemelerden sonra bu hata gözükür. Aşağıdaki çözüm yollarını uygulayarak bu hatayı düzeltmeniz mümkündür.

Çözüm 1: Son Güncellediğiniz ya da Yüklediğiniz Eklentiyi Devre Dışı Bırakmak

  • WordPress admin panelinize giriş yapın ve “Plugins” veya “Eklentiler” sekmesine tıklayın.
  • Açılan ekranda son yüklediğiniz veya güncellediğiniz eklentinin altında yazan “Deactive” veya “Etkisizleştir” seçeneğine tıklayın.
  • Tarayıcınıza site adresinizi yazın ve hatanın düzelip düzelmediğini kontrol edin.
  • Hata düzelmiş ise eklentinin eski sürümünü resmi web sitesinden tekrar indirip kurun. Fakat unutmayın ki güncel versiyonu kullanılmayan bir eklenti, sitenizde güvenlik açıklarına neden olabilir. Bu sebeple, sisteminizde sorunsuz çalışacak alternatif eklentilere yönelmeniz daha mantıklı olacaktır.
  • Eğer hata düzelmedi ise aşağıdaki çözüm yollarını deneyin.

Çözüm 2: Tüm Eklentileri FTP İle Devre Dışı Bırakmak

Bazen aynı anda birkaç eklentiyi güncellemiş ya da yüklemiş olabilirsiniz. Bu gibi bir durumda sorunun hangi eklentiden kaynaklandığını bulmak zorlaşacaktır. Fakat problemin eklenti kaynaklı olup olmadığını anlamak için bu çözümü uygulamanız gerekir.

  • FTP istemcisi ile WordPress sitenizin FTP hesabına bağlanın.
  • “wp-content” klasörü altındaki “plugins” klasörünü bulun.
  • “plugins” klasörüne farenizle sağ tıklayarak “yeniden adlandır” deyin ve adını “plugins_bir” ya da “plugins_eski” olarak değiştirin. Şuan tüm eklentileriniz devre dışı.
  • Sitenizin adresini tarayıcınızın çubuğuna yazın ve hatanın düzelip düzelmediğini kontrol edin.
  • Eğer hata düzelmiş ise sorununuz eklenti kaynaklı demektir. Tekrar FTP istemcisine dönün ve değiştirdiğiniz klasör adını eski haline getirin, yani klasörü “plugins” olarak tekrar adlandırın.
  • WordPress admin panelinize giriş yapın ve “Plugins” veya “Eklentiler” sekmesine tıklayın. Eklentileri teker teker etkinleştirin. Her etkinleştirdiğiniz eklentide 500 Internal Server Error hatası alıp almadığınızı kontrol edin. Bir etkinleştirme sonunda bu hatayı alıyorsanız, eklentinin geliştiricisine durumu bildirin. Ayrıca başka hangi eklentileri de kullandığınızı belirtmeyi unutmayın. Büyük ihtimal sorunlu eklenti, bir başka eklenti ile çakışıyordur.
  • Eğer hata düzelmedi ise çözümlerimizi incelemeye devam edin.

4. Bozulan WordPress Dosyaları

Bu hata oldukça nadir görülen bir hatadır. Genelde WordPress dosyaları üzerinde düzenleme yapmadığınız sürece bu hatayı almanız söz konusu değildir. Çok nadir de olsa, yeni yüklenen bir eklenti ya da tema yüzünden de WordPress dosyalarınız zarar görebilir. Hatanın bozulmuş WordPress dosyalarından kaynaklanıp kaynaklanmadığını görmek için, bu dosyaları yenileri ile değiştirmelisiniz. Genelde bozulan dosyalar; “wp-admin” ve “wp-includes” dosyalarıdır. Aşağıdaki adımları izleyerek söz ettiğimiz dosyaları yenileri ile değiştirebilirsiniz.

Çözüm 1: wp-includes ve wp-admin Klasörlerini Yenilemek

  • Önce BURAYA tıklayarak WordPress son sürümünü resmi sitesinden indirin.
  • İndirdiğiniz dosyayı WinRAR programı ile açın. Eğer WinRAR programınız yoksa BURAYA tıklayarak resmi sitesinden indirebilirsiniz.
  • Açtığınız WordPress klasöründen wp-includes ve wp-admin dosyalarını masaüstüne alın.
  • FTP istemcisi program ile sitenizin FTP sunucusuna bağlanın.
  • Linux hosting kullanıyorsanız “public-htm” ya da “www” klasörüne, Windows hosting kullanıyorsanız “httpdocs” klasörüne çift tıklayın.
  • Açılan dizine masaüstünüzdeki wp-admin ve wp-includes dosyalarını “üzerine yaz” diyerek yeniden yükleyin.
  • Hatanın giderilip giderilmediğini görmek için tarayıcınıza site adresinizi yazın.
  • Eğer hata çözülmemiş ise aşağıdaki adımı uygulayın.

Çözüm 2: WordPress Hata Ayıklama (Debugging İşlemi)

  • FTP istemcisi ile sitenizin FTP sunucusuna erişin ve wp-config.php dosyasına çift tıklayarak masaüstünüze indirin.
  • İndirdiğiniz dosyayı Notepad++ ile açın ve “ctrl+f” tuşlarına tıklayarak “/* That’s it, stop editing! Happy blogging */” satırını bulun.
  • Bu satırın üstüne aşağıdaki kodları ekleyin.

define (‘WP_DEBUG’, true);

define (‘WP_DEBUG_LOG’, true);

define (‘WP_DEBUG_DISPLAY’. false);

@ini_set (‘display_errors’, 0);

  • Dosyayı kaydederek kapatın ve düzenlediğiniz dosyayı tekrar FTP programı kullanarak “üzerine yaz” deyip yenisi ile değiştirin.
  • Tarayıcınıza gidin ve site adresini yazarak 500 Internal Server Error hatasını tekrar alın.
  • Tekrar FTP istemcisine dönün ve “wp-content” klasörü altında yeni oluşan “debug.log” dosyasını bulun.
  • Bu dosyayı bilgisayarınıza indirip açın. Hatanın neden kaynaklandığını size gösterecektir. Eğer oluşan hata hakkında bir fikriniz yoksa, yorum kısmından yazılım uzmanlarınıza hatanızı iletin. Yazılım uzmanlarımız en kısa sürede size yardımcı olmaya çalışacaktır.

WordPress Admin Panele Girerken 500 Internal Server Error Hatası

Bazen 500 Internal Server Error hatası; sadece WordPress admin paneline erişirken ya da bir medya dosyası yüklerken alınabilir. Eğer site ziyaretçileriniz bu hatayı almıyor ise, sadece admin paneline erişim esnasında hata söz konusu ise; yine bir hafıza limiti problemi söz konusu demektir. Aşağıdaki maddeler uygulayarak bu sorunu birkaç dakika içinde halledebilirsiniz.

Önemli: Bu metot sadece localhost çalışmalarında, VPS, VDS ve dedicated hesaplarında geçerlidir. Paylaşımlı bir hosting kullanıyorsanız, bu yöntem çözüm sağlamayabilir. Bu durumda hosting firmanızla irtibata geçmelisiniz.

  • Bir Notepad++ dosyası oluşturun ve dosyanın içine “memory=64mb” (tırnak işaretlerini yazmadan) kodunu ekleyin.
  • Oluşturduğunuz dosyaya “php.ini” adını verin. Dosya uzantısının “.ini” olduğundan emin olun.
  • FTP istemcisi program ile FTP sunucunuza bağlanın ve dosyayı “wp-admin” klasörünün içine atın.
  • Tarayıcınızdan admin panele erişim sağlayın ve bir medya dosyası yükleyin.
  • Hatayı almıyorsanız sorun hafıza limitlerinden kaynaklı demektir.

Bu yöntemi uyguladıktan sonra sorununuz geçici olarak çözüldü demektir. Kalıcı çözüm için, bu kaynağı tüketen yazılımı bulmanız ve o yazılımdaki sorunu düzeltmeniz gerekir.

Yazıyı okumayı bitirdiğinize göre, 500 Internal Server Error hatalarını tek başınıza düzeltebilecek hale geldiniz. Web teknolojileri ile alakalı her türlü sorununuza çözüm bulmak için sitemizi takip etmeye devam edebilirsiniz.