500 Dahili Sunucu Hatası

500 Internal Server Error'ın ne olduğunu, Googlebot'un tarama sırasında sunucu hatalarını nasıl ele aldığını, kalıcı 500'lerin neden dizinden kaldırmaya yol açtığını ve bunların nasıl teşhis edilip düzeltileceğini öğrenin.

İlk yayın tarihi: 28 Haz 2026 · Son güncelleme: 22 Ağu 2026 · Advanced
Diller

500 Internal Server Error, RFC 9110'un sunucunun isteği yerine getirmesini engelleyen beklenmedik bir durum olarak tanımladığı genel bir sunucu tarafı hata kodudur; neyin bozulduğunu, ne kadar süreceğini veya yeniden denemenin işe yarayıp yaramayacağını söylemez. İzole bir 500 genellikle Google tarafından yeniden denenir, ancak kalıcı ve site geneline yayılan 500'ler Google'ın belgelenmiş tepkisini alır: daha yavaş tarama ve hatalar düzelmezse sonunda dizinden kaldırma. John Mueller kabaca kişisel bir kural olarak yaklaşık %1'in üzerindeki hata oranının muhtemelen gerçek bir sorun olduğunu söylemiştir, ancak Google'ın kendisi sert bir eşik yayımlamaz. Önce sunucu günlüklerinden teşhis koyun, ardından GSC'nin Sunucu hatası (5xx) raporunu kontrol edin; eklenti çakışmaları ve kaynak tükenmesi gibi nedenler belirli yığınlarda (özellikle WordPress'te) yaygındır, her yerde geçerli evrensel bir liste değildir.

Kısa özet — RFC 9110, 500’ü sunucunun isteği yerine getirmesini engelleyen beklenmedik koşul olarak tanımlar; durum kodunun sınırı budur, neden, süre ve yeniden denemeye uygunluk semantik değil teşhistir. Google’ın belgelenen tepkisi kademelidir: tekil 500’ler genellikle yeniden denenir; kalıcı ve site geneline yayılan 500’ler taramayı yavaşlatır ve çözülmezse sonunda dizinden çıkarılır. Mueller, yaklaşık %1’in üzerindeki hata oranının muhtemelen bir şeylerin bozuk olduğu anlamına geldiğine dair kişisel ve kaba bir pratik kural vermiştir; bu belgelenmiş Google eşiği değildir. Yeniden deneme → taramayı yavaşlatma → dizinden çıkarma sırası sabit zamanlayıcı değil, belgelenmiş davranışları anlatır. Önce sunucu günlüklerinden teşhis edin; ardından GSC Server error (5xx) raporu ve Crawl Stats “by response” görünümünü kullanın. 500 ile 503 ayrımı önemlidir: 503, yaklaşık 2 günlük rehber penceresiyle onaylanan “daha sonra gel” kodudur; kontrolsüz 500 aynı rehbere sahip değildir.

Evidence for this claim RFC 9110 defines 500 as an unexpected condition encountered by the server that prevented it from fulfilling the request. Scope: web requests Confidence: high · Verified: RFC 9110: HTTP Semantics

500 aslında nedir

Uygulamacıların kısaltmalarından değil, spesifikasyondan başlayın. HTTP anlambilimi standardı RFC 9110, 500 Internal Server Error’ı sunucunun isteği yerine getirmesini engelleyen beklenmedik bir durum olarak tanımlar. Durum kodunun kendisinin size söylediği şeyin tam sınırı budur. Kök nedeni, arızalanan bileşeni, sorunun ne kadar süreceğini, aynı isteğin yeniden denemede başarılı olup olmayacağını veya toparlanmanın olası olup olmadığını belirtmez. “Sunucu başa çıkamadığı bir şeyle karşılaştı” ifadesinin ötesindeki her şey teşhistir, durum kodu anlambilimi değil — teşhis de spesifikasyonda veya tarayıcıda değil, sunucu hata günlüklerinizde bulunur.

Evidence for this claim A 500 response means the server encountered an unexpected condition that prevented it from fulfilling the request. Scope: RFC 9110 defines the generic response semantics; it does not diagnose the underlying server fault. Confidence: high · Verified: IETF: RFC 9110 §15.6.1 — 500 Internal Server Error

“the server hit something it couldn’t handle” (Türkçe çeviri) Bu cümle, uygulamadaki kararın dayandığı normatif noktayı açıklıyor.

Ahrefs HTTP durum kodları rehberinde uygulamacıya dönük tanımı bilerek yalın tutuyorum: sunucu “bir tür sorunla karşılaşır ve daha iyi ya da daha özel bir hata koduna sahip değildir.” Bu, aynı RFC sınırının günlük dille açıklamasıdır — hâlâ genel yakalama kodu, hâlâ teşhis değil belirtidir. “encounters some kind of issue and doesn’t have a better or more specific error code.” (Türkçe çeviri) Bu kaynak cümlesi, kontrol listesindeki teknik gerekçeyi destekliyor.

502 (bad gateway), 503 (service unavailable) ve 504 (gateway timeout) ile birlikte 5xx ailesinde yer alır — hepsi sunucu tarafındadır, ancak 500 “daha iyi bir kod uygulanamaz” anlamına gelir. Durum kodunun kendisi teşhis ayrıntısı taşımadığı için tarayıcıyı yenilemek bunun neden olduğunu söylemez; gerçeği sunucunun hata günlükleridir. “no better code applies.” (Türkçe çeviri) Bu kaynak cümlesi, kontrol listesindeki teknik gerekçeyi destekliyor.

Googlebot 500’ü nasıl ele alır

Google’ın tarayıcısı tasarım gereği naziktir — tarama hızını sunucunuzun sağlığına göre ayarlar ve 5xx yanıtları “yavaşla” şeklinde okuduğu sinyallerden biridir. Google’ın güncel belgeleri bu tepkinin biçimini doğrular: 5xx ve 429 yanıtları, etkilenen URL sayısına göre ölçeklenen geçici bir tarama hızı düşüşüne yol açar ve başarısız olmaya devam eden URL’ler sonunda dizinden kaldırılabilir; bu sırada zaten dizine eklenmiş içerik başarılı bir yenileme beklenirken korunur. Evidence for this claim Google reduces crawling in response to 5xx errors and eventually removes persistently failing URLs from its index. Scope: Google documents the general 5xx progression; it does not provide a guaranteed retry or recovery timeline for an individual URL. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers John Mueller aynı ilerlemeyi Search Engine Journal’ın aktardığı bir Google SEO Office Hours oturumunda kendi sözleriyle açıklamıştır:

“We don’t have any strong thresholds on that. But essentially what happens with 500 errors is we’ll try to retry them. And if we continue to see …the 500 errors then we will …slow down crawling. And if we continue to see that there are 500 errors then we will drop those URLs from the index.” (Türkçe çeviri) “Bu konuda katı eşiklerimiz yok. 500 hatalarını yeniden deneriz; sürerlerse taramayı yavaşlatır, devam ederlerse bu URL’leri dizinden çıkarırız.”

Bunu belgelenmiş davranışların — yeniden deneme, daha yavaş tarama, olası kaldırma — açıklaması olarak okuyun; garantili geçişleri veya zamanlaması olan sabit üç adımlı bir zamanlayıcı olarak değil. Google bir aşamanın ne zaman sonrakine dönüştüğüne ilişkin kesin eşikleri yayımlamaz. Tek bir URL’deki izole 500 genellikle yeniden denenir ve sonraki başarılı getirme çoğunlukla konuyu kapatır — ancak bu yaygın durumun açıklamasıdır; tek seferlik bir hatanın sıfır maliyet taşıdığına dair garanti değildir. Gerçek ve belgelenmiş risk, düzelmeyen hatalarda yatar.

Neden site genelindeki durum kodu hataları tekil hatalardan ağırdır?

Bu kontrol noktası, durum kodu sunucu hatası için yanıtın ne anlattığını ve ne anlatmadığını açıklar.

Kısa özet — Bu kısa bölüm, 500 sunucu hatası için yanıtın ne anlattığını ve ne anlatmadığını açıklar; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun.

Mueller’in “buna bizim neden olduğumuzu varsayıyoruz” şeklindeki nedensel çerçevesini Google’ın güncel resmî belgelerinden kelimesi kelimesine alınmış ifade değil, Mueller’in kendi nitelemesi olarak ele alın. Temel mekanizma belgelenmiştir: daha fazla başarısız URL, ana makine genelinde daha fazla geri çekilmeye yol açar. Ancak resmî sayfa Googlebot’un belirli bir neden varsaydığını söylemez. Bu ayrım, kaynakları aşırı yorumlamadan kanıt sınırını korur.

Ne kadarı “fazla”?

Kesin bir çizgi yok — Google’ın kendi sorun giderme belgeleri hiçbir hata oranı eşiği yayımlamıyor. Mueller, SEO Office Hours’ta (resmi bir Google yayını değil, yine Search Engine Journal tarafından aktarılan) kabaca kişisel bir kural önermiştir:

Kısa özet — Kaynak özeti, durum kodu sunucu hatası için uygulama sırasında izlenecek sinyalleri bir araya getirir; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun.

Yaklaşık %1’i Mueller’e atfedilen gayriresmî bir koku testi olarak ele alın; belgelenmiş veya uygulanan bir Google sınırı olarak değil. Bunun altında muhtemelen sorun yoktur; üstünde araştırmaya değer — ancak %1’i aşmayı otomatik bir tetikleyici, altında kalmayı da garanti olarak görmeyin. Google’ın kamuya açık biçimde taahhüt ettiği tek sayı, bir sayının yokluğudur: “we don’t have any strong thresholds.”

500 ile 503: önemli olan fark

Birçok kişinin yanıldığı yer burasıdır. 503 Service Unavailable, bir tarayıcıya “geçici olarak kapalıyım, daha sonra geri gel” demenin onaylanmış yoludur. Google bunu kasıtlı kabul eder ve bir hoşgörü penceresi tanır. Google’ın kendi tarama sorun giderme belgesi açıkça şöyle der: “I’m temporarily down, come back later.” (Türkçe çeviri) Kaynak cümlesi, bu durum kodunun hangi koşulda kullanıldığını netleştiriyor.

Kısa özet — Bu anlatım, durum kodu sunucu hatası için uygulama sırasında izlenecek sinyalleri bir araya getirir; doğru durum kodu seçimini, kanıtı ve uygulama bağlamını koruyun. 503 429

Karşılaştırma şu: 503 kasıtlıdır ve yaklaşık 2 günlük yeniden deneme hoşgörüsü alır; kontrolsüz 500 kasıtsızdır ve böyle bir hoşgörü almaz — Google vazgeçene kadar yalnızca yeniden denenir. Pratik sonuç: planlı bakım veya kasıtlı aşırı yük savunması için 500 değil, 200 hata sayfası değil, 503 döndürün (ideal olarak bir Retry-After başlığıyla). Gerçek bir kesintiyi 200 gibi göstermeyin.

500 nasıl teşhis edilir

Bunu katmanlar hâlinde ele alın — uygulama/kod, platform/CMS, altyapı ve kaynaklar, ardından yapılandırma — önce en ucuz ve sonuç verme olasılığı en yüksek adımları uygulayın. (WordPress’e özgü) işaretli adımlar yaygın WordPress uygulamasıdır, evrensel düzeltmeler değildir; bunları gerçek yığınınıza uyarlayın.

  1. Sunucu hata günlükleri. error.log / access.log veya platform günlük görüntüleyicisi. Zaman damgalarını başarısız isteklerle eşleyin. Gerçek stack trace, PHP fatal error veya DB bağlantı hatası burada görünür; bunları okumadan sonraki her şey tahmindir.
  2. GSC — Server error (5xx) raporu. Search Console Page Indexing raporu Google’ın 500 gördüğü URL’leri işaretler. Ardından Crawl Stats içindeki zaman boyunca “by response” dağılımını okuyun; geçici sıçramayı kalıcı erişilebilirlik sorunundan böyle ayırırsınız.
  3. Bing Webmaster Tools. Tarama hata uyarıları Server Errors (5xx) grubunu, belirli URL’leri ve Crawl Information aracını gösterir.
  4. Yalnızca tarayıcıda değil, bot olarak yeniden üretin. Sayfa sizin için açılırken taramanın tetiklediği yük, bot algılama/güvenlik duvarı hatası veya eşzamanlı bot trafiğinde çalışan kapasite sınırı nedeniyle Googlebot’a 500 dönebilir. Yalnızca bota görünen hatayı yakalamak için URL Inspection, Fetch as Bingbot veya bot user-agent’lı curl kullanın. “Tarayıcımda çalışıyor” yeterli değildir.
  5. Eklenti / tema / modül çakışmaları (WordPress’e özgü kalıp; başka yığınlara uyarlayın). Önce yedek alın. Ardından uzantıları devre dışı bırakıp suçluyu ayırmak için sırayla yeniden etkinleştirin; dokunduğunuz dosyaların izin ve sahipliğini kontrol edin. Bu, barındırma sağlayıcılarının WordPress rehberlerinde sık görülür; her yığında başlıca neden olduğunun kanıtı değildir. Başka CMS veya özel uygulamada eşdeğer sorun üçüncü taraf modül, paket ya da middleware çakışmasıdır.
  6. Kaynak tükenmesi. PHP bellek sınırı, veritabanı bağlantı sınırı, paylaşımlı barındırma kapasitesi, trafik veya tarama sıçramaları. Sağlayıcınız kendi tarafından doğrulayabilir.
  7. Yapılandırma ve son değişiklikler. Bozuk .htaccess, hatalı sunucu ayarı, yeni dağıtım veya yanlış veritabanı kimlik bilgileri. En yüksek getirili başlangıç noktası son değişikliklerdir.

Nedene uygun şekilde nasıl düzeltilir

Düzeltmeyi teşhisin işaret ettiği katmanla eşleştirin. Bunlar, belirli yığınınızda en olası olanların evrensel veya sıralı bir listesi değil, uygulamacı yazılarında bildirilen yaygın kalıplardır:

  • Yapılandırma/dağıtım neden oldu → değişikliği geri alın; .htaccess, yapılandırma veya kimlik bilgilerini düzeltin.
  • Kaynak tükenmesi → sınırları (PHP belleği, DB bağlantıları) yükseltin veya barındırma katmanını yükseltin; tarama aşırı yükü tetikliyorsa bu aynı zamanda tarama hızıyla ilgili bir konudur.
  • Eklenti/modül çakışması → soruna neden olan uzantıyı kaldırın veya değiştirin.
  • Kod hatası → kodu düzeltin ve eksik hata işlemeyi ekleyin.
  • Söyleyemiyorsanız → kesin zaman damgaları ve günlük satırlarıyla sağlayıcınıza başvurun. Üretimde tahmin yürütmeyin.

Tekrarını önleme

Bu karar çerçevesi, durum kodu sunucu hatası için okurun ilgili durumu güvenle doğrulamasına yardımcı olur. 503 429, 5xx

SSS

500 hatası SEO’ya zarar verir mi? Belgelenmiş risk esas olarak kalıcılık ve ölçekle ilgilidir. Tekil 500’ler genellikle yeniden denenir ve tek seferlik kesinti için belgelenmiş ceza yoktur; site genelinde süren 500’ler taramayı yavaşlatır ve URL’leri sonunda dizinden çıkarabilir.

Google’ın 500 döndüren bir sayfayı dizinden kaldırması ne kadar sürer? Sabit bir zaman çizelgesi yoktur. Google önce yeniden dener ve taramayı yavaşlatır; dizinden kaldırma ancak hatalar sürerse gerçekleşir. Düzeltin; taramalar yeniden başarılı olduğunda sayfalar genellikle geri gelir.

Sitem tarayıcımda açılırken Googlebot neden 500 görüyor? Yalnızca bota görünen 500’ler genellikle kapasite veya bot işleme sorunlarıdır: taramanın tetiklediği yük, güvenlik duvarı/bot kuralları ya da yalnızca eşzamanlı bot trafiğinde devreye giren sınırlar. Doğrulanmış Googlebot isteğini aynı URL ve zamanda sunucu günlükleriyle eşleştirin.

Bu teknik not, durum kodu sunucu hatası için protokol ayrımını gerçek bir kullanım kararıyla ilişkilendirir.

WordPress’te 500’e ne sebep olur? Özellikle WordPress’te barındırma sağlayıcıları ve WordPress topluluğu en sık eklenti/tema çakışmalarını, bozuk bir .htaccess dosyasını veya PHP bellek sınırına ulaşmayı bildirir — bu, her 500’ün evrensel önde gelen nedenleri olduğu iddiası değil, o platform için bildirilen durumdur. Yukarıdaki teşhis sırası (önce günlükler, ardından neyin değiştiği) CMS’den bağımsız olarak aynıdır.

500 sonrasında bir isteği otomatik olarak yeniden denemek güvenli midir? Yalnızca önce yöntemi ve isteğin idempotence özelliğini kontrol ettiyseniz — 500 durumu tek başına bir yeniden deneme politikası yetkilendirmez. GET, HEAD, PUT ve DELETE genellikle güvenle yeniden denenebilir çünkü idempotent’tir (tekrarlanması ek yan etkilere yol açmamalıdır); yalın bir POST genellikle güvenli değildir, API’niz örneğin bir idempotency key ile idempotence garantisi vermedikçe — körlemesine yeniden denemek yinelenen sipariş, yinelenen e-posta veya iki kez ücret çekilmesi riski taşır. Yeniden denediğinizde jitter’lı üstel geri çekilme kullanın, deneme sayısını sınırlayın ve zaten başarısız olan bir sunucunun üzerine yeniden deneme fırtınası bindirmemek için bir yeniden deneme bütçesi belirleyin.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.