WordPress Sitenizde 500 İç Sunucu Hatasını Düzeltme Kılavuzu
WordPress sitenizde karşılaştığınız en sinir bozucu hatalardan biri şüphesiz “500 Internal Server Error” (500 İç Sunucu Hatası) mesajıdır. Bu hata, sitenizin düzgün çalışmasını engelleyerek ziyaretçilerinize ve size erişim sorunları yaşatır. Genellikle sunucu tarafında bir şeylerin yanlış gittiğini gösterir, ancak kesin nedenini belirtmediği için teşhisi ve çözümü biraz zor olabilir. Bu kapsamlı rehberde, 500 İç Sunucu Hatasının ne olduğunu, neden ortaya çıktığını ve WordPress sitenizde bu hatayı adım adım nasıl giderebileceğinizi detaylı bir şekilde inceleyeceğiz.
500 İç Sunucu Hatası Nedir ve Neden Ortaya Çıkar?
500 İç Sunucu Hatası, bir web sunucusunun belirli bir isteği yerine getiremediğini belirten genel bir HTTP durum kodudur. Kullanıcı, web sitesine erişmeye çalıştığında tarayıcısında bu hatayı görür. Bu hata, sunucunun bir sorunla karşılaştığını, ancak sorunun tam olarak ne olduğunu spesifik olarak açıklayamadığını gösterir. WordPress bağlamında, bu genellikle sitenizin sunucuyla iletişim kurmasını engelleyen bir dizi olası sorundan kaynaklanır.
Genel Nedenler:
* Hatalı .htaccess Dosyası: WordPress’in ve sunucunun nasıl davrandığını kontrol eden .htaccess dosyası bozulduğunda veya yanlış yapılandırıldığında 500 hatası sıkça görülür. Bu dosya, kalıcı bağlantılar, yeniden yönlendirmeler ve güvenlik kuralları gibi birçok önemli ayarı içerir.
* PHP Bellek Limiti Sorunları: WordPress eklentileri veya temaları, sunucunun izin verdiğinden daha fazla PHP belleği tükettiğinde 500 hatası ortaya çıkabilir. Özellikle büyük ve karmaşık sitelerde veya bellek yoğun eklentiler kullanıldığında bu durum yaşanabilir.
* Eklenti veya Tema Çakışmaları: Yeni bir eklenti veya tema yükledikten sonra veya mevcut bir eklentinin/temanın güncellenmesiyle birlikte diğer bileşenlerle uyumsuzluk yaşanabilir. Bu çakışmalar, sitenin düzgün çalışmasını engelleyerek 500 hatasına yol açabilir.
* Bozuk WordPress Çekirdek Dosyaları: WordPress’in temel dosyaları (çekirdek dosyaları) bir şekilde bozulduğunda veya eksik olduğunda da 500 hatası görülebilir. Bu durum, yanlış FTP aktarımları, sunucu hataları veya kötü amaçlı yazılım saldırıları sonucunda ortaya çıkabilir.
* Yanlış Dosya İzinleri: Sunucudaki dosya ve klasörlerin yanlış izinlere sahip olması, sunucunun bu dosyalara erişmesini veya bunları işlemesini engelleyebilir. Bu da 500 hatasına neden olabilir.
* PHP Sürümü Uyumsuzluğu: WordPress siteniz veya kullandığınız eklentiler/temalar, sunucunuzda çalışan PHP sürümüyle uyumsuz olabilir. Eski veya çok yeni bir PHP sürümü, bazı fonksiyonların düzgün çalışmamasına ve hataya yol açabilir.
* Sunucu Taraflı Sorunlar: Nadiren de olsa, sorun doğrudan sizin sitenizle ilgili olmayabilir ve sunucu sağlayıcınızın genel sunucu yapılandırmasında veya donanımında bir sorun olabilir.
Hata Ayıklama Sürecine Başlamadan Önce Yapılması Gerekenler
500 İç Sunucu Hatasını düzeltmeye çalışmadan önce, olası veri kaybını önlemek ve sorun giderme sürecini daha güvenli hale getirmek için bazı ön adımlar atmanız kritik öneme sahiptir.
Yedekleme Yapın
Herhangi bir sorun giderme işlemine başlamadan önce sitenizin tam bir yedeğini almak en önemli adımdır. Bu, yanlış bir şey yapmanız durumunda sitenizi önceki çalışan durumuna geri yükleyebilmenizi sağlar. Çoğu hosting sağlayıcısı otomatik yedekleme hizmetleri sunar, ancak manuel olarak da bir yedekleme alabilirsiniz. WordPress yedekleme eklentileri (UpdraftPlus, All-in-One WP Migration gibi) veya hosting kontrol paneliniz (cPanel, Plesk vb.) üzerinden yedekleme yapabilirsiniz.
Hata Günlüklerini Kontrol Edin
Hata günlükleri (error logs), sorunun kökeni hakkında değerli ipuçları sağlayabilir. Hosting sağlayıcınızın kontrol panelinde (genellikle cPanel’de “Hata Günlükleri” veya “Error Logs” bölümü bulunur) bu günlükleri bulabilirsiniz. Eğer hosting kontrol panelinizde hata günlüklerine erişemiyorsanız, WordPress’in kendi hata ayıklama modunu etkinleştirebilirsiniz.
Bunun için wp-config.php dosyanızı bir metin düzenleyici ile açın ve aşağıdaki satırı bulun:
define( 'WP_DEBUG', false );
Bu satırı aşağıdaki şekilde değiştirin:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Bu ayarlar, hataları wp-content klasöründe bulunan debug.log adlı bir dosyaya kaydetmenizi sağlar ve hataların doğrudan web sayfasında gösterilmesini engeller. Hata mesajları, genellikle sorunun hangi eklentiden, temadan veya dosyadan kaynaklandığını gösterebilir.
Tarayıcı Önbelleğini Temizleyin
Bazen tarayıcınızın önbelleğinde veya çerezlerinde depolanan eski veriler, sitenin doğru şekilde yüklenmesini engelleyebilir. Hata ayıklama adımlarına geçmeden önce tarayıcınızın önbelleğini ve çerezlerini temizlemeyi deneyin. Bu basit adım, bazen sorunu çözebilir veya en azından sorunun sitenizde değil, istemci tarafında olmadığını doğrulamanıza yardımcı olabilir.
WordPress 500 Hatasını Adım Adım Düzeltme Yöntemleri
Yukarıdaki ön adımları tamamladıktan sonra, şimdi 500 İç Sunucu Hatasını gidermek için çeşitli yöntemleri deneyebiliriz. Bu yöntemleri genellikle en kolaydan en karmaşığa doğru bir sırayla uygulamak en iyisidir.
Yöntem 1: .htaccess Dosyasını Sıfırlama
Hatalı veya bozuk bir .htaccess dosyası, 500 hatasının en yaygın nedenlerinden biridir. Bu dosyayı sıfırlamak genellikle sorunu çözebilir.
1. FTP veya Dosya Yöneticisi ile Bağlanın: Hosting hesabınıza FTP istemcisi (FileZilla gibi) veya hosting kontrol panelinizdeki (cPanel gibi) Dosya Yöneticisi aracılığıyla bağlanın.
2. Public_html Klasörüne Gidin: Genellikle WordPress kurulumunuz public_html (veya www, htdocs) klasörünün içinde bulunur. Bu klasöre gidin.
3. .htaccess Dosyasını Bulun: Bu klasörde .htaccess adlı bir dosya bulacaksınız. Bu dosya gizli olabilir, bu yüzden FTP istemcinizde veya Dosya Yöneticisinde “Gizli Dosyaları Göster” seçeneğini etkinleştirmeniz gerekebilir.
4. Yeniden Adlandırın: .htaccess dosyasını htaccess_old veya benzeri bir isimle yeniden adlandırın. Bu, mevcut dosyanın yedeğini almanızı ve WordPress’in yeni bir dosya oluşturmasını sağlamanızı sağlar.
5. Sitenizi Kontrol Edin: Tarayıcınızda sitenizi ziyaret ederek 500 hatasının düzelip düzelmediğini kontrol edin.
* Hata Çözülürse: Sorun .htaccess dosyasındaydı. WordPress paneline giriş yapın ve “Ayarlar” > “Kalıcı Bağlantılar” (Permalinks) bölümüne gidin. Hiçbir değişiklik yapmadan “Değişiklikleri Kaydet” butonuna tıklayın. Bu işlem, siteniz için yeni ve doğru bir .htaccess dosyası oluşturacaktır.
* Hata Devam Ederse: Sorun .htaccess dosyasında değil demektir. Yeniden adlandırdığınız htaccess_old dosyasını tekrar .htaccess olarak adlandırarak eski haline getirebilirsiniz.
Yöntem 2: PHP Bellek Limitini Artırma
Eklentiler veya temalar tarafından tüketilen PHP bellek limitinin aşılması, 500 hatasına yol açabilir. Bu limiti artırmak sorunu çözebilir.
1. wp-config.php Dosyasını Düzenleme:
* FTP veya Dosya Yöneticisi ile public_html klasöründeki wp-config.php dosyasını açın.
Aşağıdaki satırı bulun (genellikle / That's all, stop editing! Happy blogging. */ satırının hemen üstünde yer alır):
define('WP_MEMORY_LIMIT', '256M');
* Eğer bu satır yoksa, yukarıdaki yorum satırının hemen üstüne ekleyin. Bellek limitini 256M veya 512M gibi daha yüksek bir değere ayarlayabilirsiniz.
* Dosyayı kaydedin ve sitenizi kontrol edin.
2. php.ini Dosyasını Düzenleme (Gerekirse):
* Bazı hosting ortamlarında wp-config.php üzerinden bellek limitini değiştirmek mümkün olmayabilir. Bu durumda, ana WordPress klasörünüzde (veya hosting kontrol panelinizde) php.ini adlı bir dosya arayın.
* Bu dosyayı açın ve memory_limit satırını bulun:
memory_limit = 256M;
* Değeri artırın (örneğin, memory_limit = 512M;).
* Eğer php.ini dosyasını bulamıyorsanız veya düzenleyemiyorsanız, hosting sağlayıcınızla iletişime geçerek bu ayarı onlar için yapmalarını isteyebilirsiniz.
Yöntem 3: Tüm Eklentileri Devre Dışı Bırakma
Yeni bir eklenti yükledikten veya mevcut bir eklentiyi güncelledikten sonra 500 hatası alıyorsanız, sorunun bir eklentiden kaynaklanma olasılığı yüksektir.
1. FTP veya Dosya Yöneticisi ile Bağlanın: wp-content klasörüne gidin.
2. plugins Klasörünü Yeniden Adlandırın: plugins klasörünü plugins_old gibi bir isimle yeniden adlandırın. Bu işlem, tüm eklentileri otomatik olarak devre dışı bırakacaktır.
3. Sitenizi Kontrol Edin: Sitenizi tarayıcınızda ziyaret edin.
* Hata Çözülürse: Sorun bir eklentiden kaynaklanıyor demektir. Şimdi plugins_old klasörünü tekrar plugins olarak adlandırın.
* WordPress paneline giriş yapın ve “Eklentiler” > “Yüklü Eklentiler” bölümüne gidin. Tüm eklentiler devre dışı görünecektir.
* Eklentileri tek tek etkinleştirin ve her etkinleştirmeden sonra sitenizi kontrol edin. Hata yeniden ortaya çıktığında, en son etkinleştirdiğiniz eklenti sorunlu olandır. O eklentiyi kaldırın, farklı bir alternatif bulun veya geliştiricisiyle iletişime geçin.
* Hata Devam Ederse: Sorun eklentilerden kaynaklanmıyor demektir. plugins_old klasörünü tekrar plugins olarak adlandırarak eklentilerinizi eski haline getirebilirsiniz.
Yöntem 4: Varsayılan Temaya Geçiş Yapma
Tıpkı eklentiler gibi, özel bir tema da 500 hatasına neden olabilir, özellikle tema dosyalarında bir hata varsa veya başka bir bileşenle çakışıyorsa.
1. FTP veya Dosya Yöneticisi ile Bağlanın: wp-content/themes klasörüne gidin.
2. Mevcut Temanızı Yeniden Adlandırın: Aktif olan temanızın klasörünü (örneğin, mytheme ise mytheme_old olarak) yeniden adlandırın. Bu işlem, WordPress’in otomatik olarak varsayılan temalardan birine (Twenty Twenty-Four, Twenty Twenty-Three vb.) geçmesini sağlayacaktır.
3. Sitenizi Kontrol Edin: Sitenizi tarayıcınızda ziyaret edin.
* Hata Çözülürse: Sorun temanızdan kaynaklanıyor demektir. Temanızın geliştiricisiyle iletişime geçin veya farklı bir tema kullanmayı düşünün.
* Hata Devam Ederse: Sorun temadan kaynaklanmıyor demektir. Yeniden adlandırdığınız tema klasörünü eski haline getirebilirsiniz.
Yöntem 5: WordPress Çekirdek Dosyalarını Yeniden Yükleme
WordPress’in çekirdek dosyaları (yani, WordPress kurulumunun temel dosyaları) bozulduğunda veya eksik olduğunda 500 hatası oluşabilir. Bu dosyaları yeniden yüklemek sorunu çözebilir.
1. WordPress.org’dan İndirin: WordPress.org resmi web sitesinden (https://wordpress.org/download/) sitenizde yüklü olan aynı sürümün temiz bir kopyasını indirin.
2. Dosyaları Ayıklayın: İndirdiğiniz .zip dosyasını bilgisayarınızda bir klasöre çıkarın.
3. wp-content Klasörünü ve wp-config.php Dosyasını Hariç Tutun: Çıkardığınız dosyalar arasında wp-content klasörünü ve wp-config.php dosyasını silin. Bu ikisi, sitenizin benzersiz içeriğini ve yapılandırmasını içerir ve üzerine yazılmamalıdır.
4. FTP ile Yükleyin: FTP istemcinizi kullanarak kalan tüm dosyaları ve klasörleri (özellikle wp-admin ve wp-includes klasörleri) sitenizin ana dizinine (public_html) yükleyin. FTP istemciniz size “Hedefte zaten var olan dosyaların üzerine yazılsın mı?” diye sorduğunda “Evet” veya “Tümünü üzerine yaz” seçeneğini seçin.
5. Sitenizi Kontrol Edin: Dosyalar yüklendikten sonra sitenizi kontrol edin. Bu işlem, bozuk veya eksik çekirdek dosyalarını düzeltmelidir.
Yöntem 6: Dosya ve Klasör İzinlerini Kontrol Etme
Yanlış dosya ve klasör izinleri, sunucunun WordPress dosyalarına erişmesini engelleyerek 500 hatasına neden olabilir.
1. FTP veya Dosya Yöneticisi ile Bağlanın: Sitenizin ana dizinine gidin.
2. İzinleri Kontrol Edin ve Düzeltin:
* Klasörler: Tüm klasörler için izinler 755 olmalıdır.
* Dosyalar: Tüm dosyalar için izinler 644 olmalıdır.
* wp-config.php: Bu dosya için izinler genellikle 644 veya daha güvenli olan 600 olabilir.
* FTP istemcinizde veya Dosya Yöneticisinde bir klasöre veya dosyaya sağ tıklayarak “Dosya İzinleri” (File Permissions) veya “CHMOD” seçeneğini bulabilirsiniz.
* İzinleri ayarlarken, alt klasörlere ve dosyalara da uygulanması için “Alt dizinlere ve dosyalara özyinelemeli olarak uygula” (Recurse into subdirectories) seçeneğini kullanabilirsiniz. Ancak bu işlemi yaparken çok dikkatli olun, yanlış ayarlar daha büyük sorunlara yol açabilir. Öncelikle ana klasörler (wp-admin, wp-includes, wp-content) ve bunların içindeki dosyalar için bu ayarları uygulayın.
3. Sitenizi Kontrol Edin: İzinleri düzelttikten sonra sitenizi kontrol edin.
Yöntem 7: PHP Sürümünü Kontrol Etme ve Güncelleme
WordPress ve eklentileri belirli PHP sürümleriyle daha iyi çalışır. Eski veya uyumsuz bir PHP sürümü 500 hatasına neden olabilir.
1. Hosting Kontrol Paneline Giriş Yapın: Hosting sağlayıcınızın kontrol paneline (cPanel, Plesk vb.) giriş yapın.
2. PHP Sürüm Yöneticisini Bulun: Genellikle “PHP Sürüm Yöneticisi” (PHP Version Manager) veya “MultiPHP Manager” gibi bir bölüm bulunur.
3. PHP Sürümünü Kontrol Edin ve Güncelleyin: Sitenizin kullandığı PHP sürümünü kontrol edin. WordPress genellikle en son kararlı PHP sürümlerini (şu anda 7.4 ve üzeri, tercihen 8.0+) önerir. Eğer eski bir sürüm kullanıyorsanız, daha yeni ve uyumlu bir sürüme geçiş yapmayı deneyin.
4. Sitenizi Kontrol Edin: PHP sürümünü güncelledikten sonra sitenizi kontrol edin. Herhangi bir sorun yaşarsanız, eski sürüme geri dönebilirsiniz.
Yöntem 8: wp-admin ve wp-includes Klasörlerini Yeniden Yükleme
Bu yöntem, Yöntem 5’in daha hedefe yönelik bir versiyonudur ve genellikle bu iki klasördeki bozuk dosyalardan kaynaklanan sorunları çözmek için kullanılır.
1. WordPress.org’dan İndirin: Sitenizde yüklü olan WordPress sürümünün temiz bir kopyasını indirin.
2. wp-admin ve wp-includes Klasörlerini Ayıklayın: İndirdiğiniz .zip dosyasından sadece wp-admin ve wp-includes klasörlerini çıkarın.
3. FTP ile Yükleyin: FTP istemcinizi kullanarak bu iki klasörü sitenizin ana dizinine (public_html) yükleyin ve mevcut dosyaların üzerine yazmayı onaylayın.
4. Sitenizi Kontrol Edin: Yükleme tamamlandıktan sonra sitenizi kontrol edin.
Yöntem 9: Veritabanı Sorunlarını Kontrol Etme
Nadir durumlarda, 500 hatası bozuk bir veritabanından kaynaklanabilir. WordPress’in yerleşik veritabanı onarım aracını kullanarak bu sorunu giderebilirsiniz.
1. wp-config.php Dosyasını Düzenleyin:
* FTP veya Dosya Yöneticisi ile wp-config.php dosyasını açın.
Aşağıdaki satırı ekleyin (genellikle / That's all, stop editing! Happy blogging. */ satırının hemen üstüne):
define('WP_ALLOW_REPAIR', true);
* Dosyayı kaydedin.
2. Veritabanı Onarım Aracını Ziyaret Edin: Tarayıcınızda http://www.siteniz.com/wp-admin/maint/repair.php adresini ziyaret edin (siteniz.com yerine kendi alan adınızı yazın).
3. Onarım İşlemini Başlatın: Bu sayfada “Veritabanını Onar” (Repair Database) veya “Veritabanını Onar ve Optimize Et” (Repair and Optimize Database) seçeneklerini göreceksiniz. İlgili seçeneği tıklayarak onarım işlemini başlatın.
4. wp-config.php Dosyasını Geri Alın: Onarım tamamlandıktan sonra, wp-config.php dosyasından eklediğiniz define('WP_ALLOW_REPAIR', true); satırını kaldırmayı unutmayın. Bu, veritabanı onarım aracının herkese açık olmasını engeller ve güvenlik açısından önemlidir.
5. Sitenizi Kontrol Edin: Sitenizi ziyaret ederek hatanın düzelip düzelmediğini kontrol edin.
Hata Devam Ederse Ne Yapmalı?
Yukarıdaki tüm yöntemleri denemenize rağmen 500 İç Sunucu Hatası devam ediyorsa, sorunun daha derinlerde olabileceği anlamına gelir.
Hosting Sağlayıcınızla İletişime Geçin
Sorunun sunucu tarafında olma ihtimali yüksektir. Hosting sağlayıcınızın teknik destek ekibi, sunucu günlüklerine daha detaylı erişime sahiptir ve sorunun kökenini belirlemede size yardımcı olabilir. Onlara hangi adımları denediğinizi ve hata günlüklerinde (eğer erişebildiyseniz) gördüğünüz mesajları iletin.
Profesyonel Yardım Alın
Eğer teknik konularda kendinizi rahat hissetmiyorsanız veya sorunu çözmek için zamanınız yoksa, bir WordPress uzmanından veya web geliştiricisinden profesyonel yardım almayı düşünün. Uzmanlar, sorunu hızlı ve etkili bir şekilde teşhis edip çözebilirler.
Hata Günlüklerini Tekrar Kontrol Edin
Yukarıdaki adımlardan herhangi birini uyguladıktan sonra, wp-content/debug.log dosyasını tekrar kontrol edin (eğer WP_DEBUG’ı etkinleştirdiyseniz). Yeni hata mesajları, sorunun nedeninin değiştiğini veya daha spesifik bir hale geldiğini gösterebilir.
Önleyici Tedbirler ve İyi Uygulamalar
500 İç Sunucu Hatası gibi sorunlarla karşılaşma olasılığını en aza indirmek için aşağıdaki önleyici tedbirleri ve iyi uygulamaları benimseyebilirsiniz:
* Düzenli Yedekleme: Sitenizin düzenli ve otomatik yedeklerini alın. Bu, herhangi bir felaket durumunda sitenizi hızla geri yüklemenizi sağlar.
* Güncel Tutma: WordPress çekirdeğini, temaları ve eklentileri her zaman en son sürümlerine güncel tutun. Güncellemeler genellikle hata düzeltmeleri, güvenlik yamaları ve performans iyileştirmeleri içerir.
* Güvenilir Eklenti ve Tema Kullanımı: Yalnızca güvenilir kaynaklardan, iyi yorumlara sahip ve düzenli olarak güncellenen eklentileri ve temaları kullanın. Bilinmeyen kaynaklardan gelen eklentiler güvenlik açıkları veya uyumsuzluklar yaratabilir.
* PHP Bellek Limiti Ayarlarını Optimize Etme: Sitenizin ihtiyaçlarına uygun bir PHP bellek limiti ayarlayın. Aşırı düşük bir limit sorunlara yol açarken, gereksiz yere çok yüksek bir limit de sunucu kaynaklarını israf edebilir.
* Güvenilir Hosting Sağlayıcısı Seçimi: Kaliteli ve güvenilir bir hosting sağlayıcısı seçmek, sunucu kaynaklarının yeterli olmasını ve teknik desteğin hızlı ve etkili olmasını sağlar. Ucuz hosting paketleri bazen yetersiz kaynaklar veya kötü yapılandırmalar nedeniyle sorunlara yol açabilir.
* Değişiklikleri Test Ortamında Deneme: Yeni bir eklenti yüklemeden, tema değiştirmeden veya büyük bir güncelleme yapmadan önce, bu değişiklikleri bir staging (test) ortamında denemek, canlı sitenizde olası hataları önlemenize yardımcı olur.
500 İç Sunucu Hatası korkutucu görünebilir, ancak çoğu durumda yukarıdaki adımları dikkatlice takip ederek çözülebilir. Sabırlı olun, her adımı tek tek deneyin ve her değişiklikten sonra sitenizi kontrol etmeyi unutmayın. Bu rehberin, WordPress sitenizdeki bu can sıkıcı hatayı gidermenize yardımcı olacağını umuyoruz.