WordPress sitenizi açtığınızda “500 Internal Server Error”, “HTTP Error 500” veya “Bu sayfa çalışmıyor” mesajıyla karşılaşıyorsanız sunucu, gelen isteği işlerken beklenmeyen bir sorun yaşamış demektir. Hata çoğunlukla bozuk .htaccess dosyası, uyumsuz eklenti, tema kodu, yetersiz PHP belleği, yanlış dosya izinleri veya sunucu yapılandırmasından kaynaklanır.
WordPress 500 Internal Server Error, sorunun gerçek nedenini doğrudan göstermediği için rastgele dosya silerek çözülmeye çalışılmamalıdır. CoreSoft Digital olarak bu tür WordPress hatalarında siteyi geçici olarak açmanın yanında sunucu kayıtlarını inceleyerek hatanın tekrar etmesine neden olan asıl problemi belirliyoruz. Bu rehberde ise uygulayabileceğiniz güvenli çözüm adımlarını sırasıyla ele alacağız.
500 Internal Server Error Nedir?
HTTP 500, sunucunun isteği aldığını ancak işlemi tamamlayamadığını gösteren genel bir durum kodudur. Hata tarayıcıdan, internet bağlantısından veya bilgisayarınızdan kaynaklanmak zorunda değildir. Çoğu durumda problem, WordPress’in çalıştığı web sunucusunda ortaya çıkar.
Ekranda aşağıdaki mesajlardan biri görülebilir:
500 Internal Server ErrorHTTP ERROR 500The server encountered an internal errorBu sayfa çalışmıyor
Hata yalnızca belirli bir sayfada çıkıyorsa kalıcı bağlantı kuralları, o sayfada çalışan bir eklenti veya özel PHP kodu incelenmelidir. Site genelinde görülüyorsa .htaccess, eklentiler, aktif tema, PHP sürümü ve sunucu kaynakları öncelikli olarak kontrol edilmelidir.
WordPress 500 Internal Server Error Neden Olur?
WordPress sitelerinde 500 hatasının en yaygın nedenleri şunlardır:
- Bozulmuş veya hatalı yapılandırılmış .htaccess dosyası
- Yeni yüklenen ya da güncellenen eklenti
- Eklentiler arasında oluşan kod çakışması
- Hatalı tema veya functions.php kodu
- Düşük PHP bellek limiti
- Uyumsuz PHP sürümü
- Yanlış dosya ve klasör izinleri
- Yarım kalan WordPress güncellemesi
- Bozulmuş WordPress çekirdek dosyaları
- PHP zaman aşımı veya kaynak sınırı
- Hatalı Apache ya da Nginx yapılandırması
- Güvenlik eklentisinin yanlış engelleme kuralı
- Zararlı yazılım tarafından değiştirilmiş dosyalar
- Hosting hesabının işlemci, RAM veya giriş işlemi limitini aşması
Hata bir eklenti veya tema güncellemesinden hemen sonra başladıysa ilk olarak son yapılan değişikliği geri alın. Herhangi bir işlem yapılmadığı hâlde ortaya çıktıysa otomatik güncellemeleri, hosting kaynak kullanımını ve sunucu hata kayıtlarını kontrol edin.
İşleme Başlamadan Önce Yedek Alın
WordPress dosyalarında değişiklik yapmadan önce mümkünse site dosyalarının ve veritabanının yedeğini alın. Site açılmıyor olsa bile hosting paneli, phpMyAdmin veya SFTP üzerinden yedek oluşturabilirsiniz.
En azından şu bileşenleri yedekleyin:
- WordPress veritabanı
- wp-content klasörü
- wp-config.php dosyası
- .htaccess dosyası
- Özel geliştirilmiş tema ve eklentiler
Dosyaları doğrudan silmek yerine yeniden adlandırmak daha güvenlidir. Böylece yaptığınız değişikliği kolayca geri alabilirsiniz.
1. Tarayıcı ve Önbellek Kontrolü Yapın
500 hatası genellikle sunucu kaynaklıdır ancak ilk kontrolde tarayıcı önbelleğini elemek yararlı olabilir. Siteyi gizli sekmede veya farklı bir tarayıcıda açmayı deneyin. CDN, sunucu önbelleği veya WordPress cache eklentisi kullanıyorsanız önbelleği temizleyin.
Aşağıdaki adresleri ayrı ayrı kontrol edin:
https://siteadresi.com/ https://siteadresi.com/wp-admin/ https://siteadresi.com/wp-login.php
Ana sayfa açılıyor ancak yönetim paneli açılmıyorsa sorun yalnızca yönetim alanında çalışan bir eklentiyle ilişkili olabilir. Yönetim paneli açılıyor fakat belirli yazılar 500 hatası veriyorsa kalıcı bağlantı kuralları daha güçlü bir şüphelidir.
2. Bozuk .htaccess Dosyasını Yenileyin
WordPress 500 Internal Server Error hatasının en sık karşılaşılan nedenlerinden biri bozulmuş .htaccess dosyasıdır. Bu dosya Apache ve LiteSpeed tabanlı sunucularda URL yönlendirmeleri, kalıcı bağlantılar ve bazı güvenlik kuralları için kullanılır.
Hosting dosya yöneticisi veya SFTP ile WordPress’in kurulu olduğu ana dizine girin. Bu klasör çoğunlukla public_html olarak adlandırılır.
Aşağıdaki dosyayı bulun:
.htaccess
Dosya görünmüyorsa dosya yöneticisindeki gizli dosyaları göster seçeneğini etkinleştirin. Ardından dosyanın adını şu şekilde değiştirin:
.htaccess-eski
Siteyi tekrar açmayı deneyin. Site çalışırsa 500 hatasının nedeni .htaccess dosyası veya bu dosyaya eklenen bir kuraldır.
Yönetim paneline girdikten sonra:
- Ayarlar > Kalıcı Bağlantılar bölümünü açın.
- Herhangi bir ayarı değiştirmeden sayfanın altındaki Değişiklikleri Kaydet düğmesine tıklayın.
- WordPress’in yeni .htaccess dosyası oluşturup oluşturmadığını kontrol edin.
- Sayfaları ve yazıları yeniden test edin.
Eski dosyada güvenlik, yönlendirme veya önbellek kuralları bulunuyorsa hepsini yeni dosyaya bir anda eklemeyin. Kuralları tek tek taşıyarak her değişiklikten sonra siteyi kontrol edin.
Önemli: Nginx sunucular .htaccess dosyası kullanmaz. Siteniz Nginx üzerinde çalışıyorsa yönlendirme ve sunucu kuralları Nginx yapılandırmasından yönetilir. Bu durumda hosting firması veya sunucu yöneticisiyle iletişime geçmek gerekir.
3. WordPress Eklentilerini Devre Dışı Bırakın
Bozuk .htaccess dosyası ihtimali elendiyse eklentileri kontrol edin. Özellikle güvenlik, önbellek, SEO, yönlendirme, yedekleme ve görsel optimizasyon eklentileri sunucu kurallarına müdahale edebilir.
Yönetim paneline erişebiliyorsanız:
- Eklentiler > Yüklü Eklentiler sayfasına girin.
- Bütün eklentileri seçin.
- Toplu işlemlerden Etkisizleştir seçeneğini uygulayın.
- Siteyi yeniden kontrol edin.
Site açılırsa eklentileri tek tek etkinleştirin. Her eklentiden sonra ana sayfayı, yönetim panelini ve daha önce hata veren sayfayı test edin. Hata hangi eklenti etkinleştirildiğinde tekrar başlıyorsa sorunlu eklentiyi bulmuş olursunuz.
Yönetim paneli açılmıyorsa eklentiler nasıl kapatılır?
Hosting dosya yöneticisi veya SFTP üzerinden şu dizine gidin:
wp-content/
Buradaki plugins klasörünün adını değiştirin:
plugins
yerine:
plugins-pasif
WordPress eklenti dosyalarına ulaşamayacağı için bütün eklentiler devre dışı kalır. Site açılırsa klasörün adını yeniden plugins yapın. Ardından yönetim panelinden eklentileri tek tek etkinleştirerek sorunlu olanı belirleyin.
Klasörü yeniden adlandırmak eklenti ayarlarını doğrudan silmez. Buna rağmen canlı ve gelir üreten sitelerde işlem öncesinde yedek alınması gerekir.
4. Aktif Temayı Kontrol Edin
Eklentiler kapatıldığı hâlde HTTP 500 hatası devam ediyorsa aktif tema incelenmelidir. Temanın functions.php dosyasına eklenen hatalı PHP kodu veya tema güncellemesi sonrasında oluşan uyumsuzluk sunucu hatasına yol açabilir.
Yönetim paneline erişebiliyorsanız Görünüm > Temalar bölümünden güncel bir varsayılan WordPress temasını etkinleştirin.
Panel açılmıyorsa şu dizine gidin:
wp-content/themes/
Aktif tema klasörünün adını geçici olarak değiştirin:
aktif-tema-pasif
Sunucuda başka bir kullanılabilir tema bulunuyorsa WordPress ona geçebilir. Bu nedenle işlemden önce güncel bir varsayılan WordPress temasının kurulu olduğundan emin olun.
Site varsayılan temayla açılırsa şu alanlar kontrol edilmelidir:
- Temanın functions.php dosyası
- Son eklenen özel PHP kodları
- Tema ile birlikte gelen yardımcı eklentiler
- Tema ile PHP sürümünün uyumluluğu
- Tema güncellemesinde değiştirilen dosyalar
Tema dosyalarında düzenleme yaptıysanız temiz tema paketi ile sunucudaki dosyaları karşılaştırın. Özel değişiklikleri doğrudan ana temada yapmak yerine child theme kullanmak, gelecekteki güncellemelerde sorun yaşama riskini azaltır.
5. PHP Bellek Limitini Artırın
PHP’nin kullanmasına izin verilen bellek yetersiz kaldığında WordPress 500 hatası verebilir. Bu problem özellikle sayfa oluşturucular, WooCommerce, yedekleme eklentileri ve çok sayıda eklenti kullanılan sitelerde görülür.
wp-config.php dosyasını açın ve “That’s all, stop editing” satırından önce aşağıdaki kodu ekleyin:
define( 'WP_MEMORY_LIMIT', '256M' );
Yönetim işlemleri için şu değer de kullanılabilir:
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
Aynı tanımlar dosyada zaten bulunuyorsa ikinci kez eklemeyin; mevcut değerleri düzenleyin.
Hosting firmasının uyguladığı PHP limiti 128 MB ise WordPress içerisinden 256 MB tanımlamak sunucu sınırını yükseltmeyebilir. Böyle bir durumda PHP Selector, php.ini veya hosting destek birimi üzerinden limitin değiştirilmesi gerekir.
Bellek limitini yükseltmek siteyi açsa bile aşırı bellek tüketen eklenti veya sorgu belirlenmelidir. Sürekli daha yüksek limit vermek, kötü çalışan kodu kalıcı olarak düzeltmez.
6. WordPress Hata Ayıklama Modunu Açın
500 hata ekranı gerçek sebebi göstermediği için WordPress debug kayıtları incelenebilir. Ana dizindeki wp-config.php dosyasına aşağıdaki tanımları ekleyin:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Siteyi yeniden açmayı deneyin. WordPress hata kaydı oluşturabilirse ayrıntılar çoğunlukla şu dosyaya yazılır:
wp-content/debug.log
Dosyanın son satırlarında hata veren eklenti, tema veya PHP dosyasının yolu görülebilir. Örneğin:
PHP Fatal error: Uncaught Error in /wp-content/plugins/ornek-eklenti/includes/example.php on line 84
Bu kayıt, hatanın hangi dosya çalışırken ortaya çıktığını gösterir. Ancak görünen dosya her zaman tek başına sorunun kaynağı olmayabilir; başka bir eklentiyle çakışma da yaşanabilir.
Hata tespit edildikten sonra debug modunu kapatın:
define( 'WP_DEBUG', false );
Hata mesajlarını ziyaretçilere göstermek dosya yolları, eklenti isimleri ve teknik yapı hakkında bilgi sızdırabilir. Bu nedenle WP_DEBUG_DISPLAY canlı sitelerde açık bırakılmamalıdır.
7. Hosting Hata Kayıtlarını İnceleyin
debug.log dosyası oluşmuyorsa hosting panelindeki sunucu ve PHP hata kayıtlarını kontrol edin. Panelde aşağıdaki menü isimlerinden biri bulunabilir:
- Error Log
- PHP Errors
- Errors
- Raw Access
- Apache Logs
- Nginx Logs
Hatanın gerçekleştiği saate ait son satırları inceleyin. Aşağıdaki mesajlar problemin kaynağını belirlemenize yardımcı olabilir:
PHP Fatal errorAllowed memory size exhaustedMaximum execution time exceededPermission deniedPremature end of script headersEnd of script output before headersToo many redirects
Permission denied mesajı dosya izinlerine, Allowed memory size exhausted PHP belleğine, Maximum execution time exceeded ise uzun süren bir PHP işlemine işaret eder.
Sunucu hata kayıtları, WordPress 500 Internal Server Error çözümünde ekrandaki genel hata mesajından çok daha değerlidir. Profesyonel müdahalede ilk incelenmesi gereken alanlardan biri bu kayıtlardır.
8. PHP Sürümünü Kontrol Edin
Hosting panelinden PHP sürümünün değiştirilmesi, eski eklenti ve temalarda 500 hatasına neden olabilir. Benzer şekilde yeni eklentiler de desteklemedikleri eski PHP sürümlerinde çalışmayabilir.
Hata PHP sürümü yükseltildikten hemen sonra başladıysa önceki çalışan sürüme geçerek siteyi test edebilirsiniz. Site açılırsa tema ve eklentilerin yeni PHP sürümüne hazır olmadığı anlaşılır.
Ancak eski PHP sürümünde kalmak güvenli bir kalıcı çözüm değildir. Uyumlu olmayan tema veya eklentiler güncellenmeli, değiştirilmeli ya da geliştirici tarafından düzenlenmelidir. PHP geçişlerinin önce sitenin staging kopyasında test edilmesi daha güvenlidir.
9. Dosya ve Klasör İzinlerini Kontrol Edin
Yanlış dosya izinleri, web sunucusunun WordPress dosyalarını okuyamamasına veya çalıştıramamasına neden olabilir.
WordPress’in resmî belgelerinde yaygın yapı olarak:
- Klasörler için 755 veya 750
- Dosyalar için 644 veya 640
izinleri belirtilir. Sunucu yapılandırmasına göre farklı değerler gerekebileceği için hosting sağlayıcınızın önerileri dikkate alınmalıdır.
WordPress klasörlerini çözüm amacıyla 777 yapmak güvenli değildir. Bu değer bütün kullanıcıların yazma iznine sahip olmasına neden olabilir ve ciddi güvenlik riski oluşturur.
Özellikle aşağıdaki alanların sahiplik ve izinlerini kontrol edin:
public_html wp-admin wp-includes wp-content wp-content/plugins wp-content/themes wp-content/uploads
Dosya sahipliği yanlışsa yalnızca chmod değerini değiştirmek yeterli olmayabilir. Sunucu yöneticisinin kullanıcı ve grup sahipliğini de düzeltmesi gerekebilir.
10. Bozuk WordPress Çekirdek Dosyalarını Yenileyin
Yarım kalan güncelleme, disk sorunu veya hatalı dosya aktarımı WordPress çekirdek dosyalarını bozabilir. Eklenti, tema ve .htaccess kontrolleri sonuç vermediyse çekirdek dosyaları yenilenebilir.
Yönetim paneline erişebiliyorsanız:
- Başlangıç > Güncellemeler sayfasına girin.
- WordPress sürümünü yeniden kurma seçeneğini kullanın.
- İşlem tamamlandıktan sonra siteyi kontrol edin.
Panel açılmıyorsa WordPress’in resmî paketinden temiz wp-admin ve wp-includes klasörleri yüklenebilir. Manuel işlem sırasında:
- wp-content klasörünü silmeyin.
- wp-config.php dosyasını değiştirmeyin.
- Önceden tam yedek alın.
- Doğru WordPress sürümünü kullandığınızdan emin olun.
Bu işlem yazıları ve sayfaları doğrudan silmez; ancak yanlış dosyaların üzerine yazılması ciddi sorunlara yol açabileceği için dikkatli uygulanmalıdır.
11. Sunucu Kaynak Limitlerini Kontrol Edin
Paylaşımlı hosting paketlerinde CPU, RAM, işlem sayısı, giriş işlemleri veya disk kullanımı sınırlanabilir. Site bu sınırları aştığında geçici 500 hataları görülebilir.
Hosting panelinden şu değerleri inceleyin:
- CPU kullanımı
- Fiziksel bellek tüketimi
- Entry Processes
- I/O kullanımı
- Disk alanı
- Inode limiti
- PHP işlem süresi
- Aynı anda çalışan PHP işlemleri
Hata yalnızca yoğun trafik sırasında çıkıyorsa kaynak limiti ihtimali güçlenir. Ancak hemen daha pahalı bir hosting paketine geçmeden önce yüksek kaynak tüketen eklentiler, yavaş veritabanı sorguları ve WordPress cron işlemleri araştırılmalıdır.
12. Güvenlik ve Zararlı Yazılım Kontrolü Yapın
500 hatası herhangi bir güncelleme veya yapılandırma değişikliği olmadan başladıysa dosya değişiklikleri ve güvenlik kayıtları kontrol edilmelidir.
Şu belirtiler varsa güvenlik ihlali ihtimali değerlendirilmelidir:
- Tanımadığınız yönetici hesapları
- WordPress dizinlerinde bilinmeyen PHP dosyaları
- Ana sayfanın farklı bir siteye yönlenmesi
- .htaccess dosyasının sürekli değişmesi
- Eklentilerin kendiliğinden yeniden yüklenmesi
- Aşırı CPU ve e-posta kullanımı
- Arama sonuçlarında istenmeyen sayfaların görünmesi
Zararlı yazılım bulunan bir sitede yalnızca 500 hatası veren dosyayı silmek yeterli değildir. Değiştirilen dosyalar, veritabanı kayıtları, yönetici hesapları ve olası arka kapılar birlikte incelenmelidir.
WordPress 500 Hatası Düzeldikten Sonra Ne Yapılmalı?
Site yeniden açıldığında aynı sorunun tekrarlamaması için şu önlemleri uygulayın:
- Düzenli ve otomatik yedekleme sistemi kurun.
- Yedekleri yalnızca sitenin bulunduğu sunucuda saklamayın.
- WordPress, tema ve eklentileri güncel tutun.
- Kullanılmayan eklenti ve temaları kaldırın.
- Güncellemeleri önce staging ortamında test edin.
- PHP sürümünü kontrollü şekilde yükseltin.
- Sunucu kaynak kullanımını takip edin.
- Hata kayıtlarını belirli aralıklarla inceleyin.
- Canlı sitede debug modunu açık bırakmayın.
- Dosya ve klasörlere 777 izni vermeyin.
- Güvenlik ve önbellek eklentilerini doğru yapılandırın.
WordPress 500 Internal Server Error Hakkında Sık Sorulan Sorular
WordPress 500 hatası kendiliğinden düzelir mi?
Sunucu yoğunluğu veya geçici kaynak sorunu nedeniyle oluştuysa hata kısa süre sonra ortadan kalkabilir. Ancak bozuk .htaccess, uyumsuz eklenti veya PHP hatası varsa problem müdahale edilene kadar devam eder ya da yeniden ortaya çıkar.
500 hatası içeriklerin silindiği anlamına mı gelir?
Hayır. HTTP 500, sunucunun isteği tamamlayamadığını gösterir. Yazılar, ürünler ve kullanıcılar genellikle veritabanında durmaya devam eder. Yine de dosya veya veritabanı üzerinde işlem yapmadan önce yedek alınmalıdır.
WordPress yönetim paneli de 500 hatası veriyorsa ne yapılır?
SFTP veya hosting dosya yöneticisi üzerinden .htaccess dosyasını ve plugins klasörünü yeniden adlandırarak test yapabilirsiniz. Ardından PHP hata kayıtları ve sunucu kaynak kullanımı incelenmelidir.
Sadece belirli bir sayfada 500 hatası neden olur?
Belirli bir sayfada çalışan kısa kod, sayfa oluşturucu bileşeni, özel sorgu, form veya eklenti hatalı olabilir. Kalıcı bağlantı kuralları ve o sayfanın PHP hata kayıtları kontrol edilmelidir.
.htaccess dosyasını silmek güvenli mi?
Dosyayı silmek yerine önce yeniden adlandırmak daha güvenlidir. Sorun çözülürse WordPress yönetim panelindeki Ayarlar > Kalıcı Bağlantılar sayfasından yeni dosya oluşturulabilir. Özel güvenlik ve yönlendirme kuralları ayrıca değerlendirilmelidir.
500 hatası hosting kaynaklı olabilir mi?
Evet. PHP-FPM sorunu, yanlış sunucu yapılandırması, kaynak limitinin aşılması, dosya sahipliği veya geçici sunucu arızası 500 hatasına yol açabilir. Bu durumlar hosting hata kayıtlarından anlaşılabilir.
WordPress 500 Hatası İçin CoreSoft Digital Desteği
WordPress 500 Internal Server Error, tek bir nedene bağlı olmadığı için kalıcı çözüm ancak hata kayıtları ve sunucu yapılandırması birlikte incelendiğinde bulunabilir. Problemli eklentiyi kapatmak siteyi geçici olarak açabilir; ancak uyumsuzluk, güvenlik açığı veya kaynak sorunu devam ediyorsa hata yeniden ortaya çıkabilir.
CoreSoft Digital; WordPress 500 hatası, beyaz ekran, kritik hata, eklenti ve tema çakışması, PHP uyumsuzluğu, zararlı yazılım temizliği ve performans sorunlarında profesyonel destek sunar. Siteniz açılmıyor, yönetim paneline erişemiyor veya 500 hatası belirli aralıklarla tekrarlıyorsa bizimle iletişime geçebilirsiniz.
Kaynaklar: WordPress yaygın hatalar rehberi, WordPress hata ayıklama dokümanı, WordPress dosya izinleri rehberi.