200 OK Yanıtı

HTTP 200 OK'nin ne anlama geldiği (RFC 9110), dizine ekleme için neden gerekli ama yeterli olmadığı, soft 404 tuzağı, 200'ün 204 ve 304'ten farkı ve Googlebot'un gerçekte ne aldığının nasıl doğrulanacağı.

İlk yayın tarihi: 3 Tem 2026 · Son güncelleme: 22 Ağu 2026 · Advanced
Diller
Bu sayfada 1 kanıt sinyali

HTTP 200 OK, standart 2xx başarı kodudur (RFC 9110): sunucu kaynağı bulmuş ve onu döndürüyordur. Bir web sayfası için istediğiniz koddur; ancak gerekli, yeterli değildir. Google'ın kendi dokümanları dizine ekleme işlem hattının 'içeriği dizine ekleyebileceğini, ancak bunun garanti edilmediğini' söyler; kalite, yinelenen içerik, zayıf içerik ve noindex 200'ün üzerine ayrıca değerlendirilir. Klasik tuzak soft 404'tür: İçeriği hata veya boş sayfa gibi görünen bir URL 200 döndürür; Google bunu içerik katmanında algılar ve koddan bağımsız olarak Search Console'da soft 404 bildirir. 200'ü (başarı + gerçek gövde), 204'ten (başarı + boş gövde, soft 404 gibi ele alınır) ve 304'ten (önbellek sinyali, dizine ekleme kararı değil) ayırın. Kodu gerçeğe uydurun — yoksa 404/410, taşındıysa 301, yinelenense canonical etiketi — ve yalnızca tarayıcınızın gördüğüne değil, URL Inspection veya loglarla Googlebot'un ne aldığını doğrulayın.

TL;DR — 200 OK, standart 2xx başarı kodudur (RFC 9110 §15.3.1): sunucu isteği yerine getirir ve GET/HEAD için gövde, kaynağın bir gösterimidir. Varsayılan olarak sezgisel biçimde önbelleklenebilir. SEO açısından gerekli ama yeterli değildir — Google’ın kendi dokümanı “may index the content, but that’s not guaranteed,” (çeviri) “içeriği dizine ekleyebileceğini, ancak bunun garanti edilmediğini” söyler; kalite, yinelenen/zayıf içerik ve noindex 200’ün üzerine ayrıca değerlendirilir. Klasik başarısızlık soft 404’tür: hata veya boş içeriği 200 ile sarmalamak; Google bunu içerik katmanında algılar ve koddan bağımsız soft 404 bildirir. 200’ü (beklenen gövde), 204’ten (boş gövde, sayfalarda soft 404 gibi ele alınır) ve 304’ten (önbellek sinyali, dizine ekleme kararı değil) ayırın. Googlebot’un ne aldığını doğrulayın; cloaking, bot engelleme, coğrafi kurallar ve CDN/WAF yapılandırması tarayıcınızdan farklı bir kod sunabilir.

Spesifikasyonda 200 ne anlama gelir

Güncel yetkili kaynak RFC 9110’dur (HTTP Semantics) ve §15.3.1 açıkça şöyle der: “The 200 (OK) status code indicates that the request has succeeded.” (çeviri) “200 (OK) durum kodu, isteğin başarıyla tamamlandığını belirtir.” Gövdenin içeriği, istek yöntemine bağlıdır. Sayfalar açısından önemli yöntemlerde — GET ve HEAD — içerik, hedef kaynağın bir temsilidir. RFC ayrıca bir ayrım koyar: CONNECT yanıtları dışında, ileti çerçevelemesi sıfır uzunluğu açıkça belirtmiyorsa 200 yanıtının içerik taşıması beklenir. Dolayısıyla “200 yanıtının her zaman gövdesi vardır” ifadesi mutlak bir kural değil, kısa bir anlatımdır. Uygulamada dizine eklenmesini istediğiniz bir sayfanın hedefi boş değil, gerçek bir gövdedir. Bir 200, önbellek denetimi aksini söylemedikçe varsayılan olarak “sezgisel biçimde önbelleklenebilir”; bu nedenle sık taranan sayfalarda ETag ve Last-Modified gibi doğrulayıcı başlıklar önemlidir. Evidence for this claim RFC 9110 defines 200 OK as indicating that the request succeeded; the response content depends on the request method. Scope: HTTP semantics for 200 responses; this does not guarantee search indexing. Confidence: high · Verified: IETF: RFC 9110 §15.3.1 — 200 OK

Teknik olarak 200 yalnızca sayfalar için değildir. RFC, “success” (çeviri) “başarı”nın yöntem başına ne anlama geldiğini şöyle sıralar:

İstek yöntemi200 gövdesi neyi temsil eder
GEThedef kaynak
HEADhedef kaynak, ancak gövde aktarılmadan
POSTeylemin durumu veya sonucu
PUT, DELETEeylemin durumu
OPTIONSkaynak için iletişim seçenekleri

GET dışındaki yöntemlerde çoğu zaman 200 görmezsiniz. MDN, başarılı PUT veya DELETE isteklerinin “often do not result in a 200 OK response,” (çeviri) “çoğu zaman 200 OK yanıtıyla sonuçlanmadığını” ve 201 Created ya da 204 No Content yanıtlarının daha yaygın olduğunu belirtir. Bunlar sayfa URL’lerinin SEO’su açısından önemli değildir; akılda tutulması gereken, dizine eklenmesini istediğiniz bir belge için hedefin gerçek gövdeli bir 200 yanıtı olduğudur.

Dizin ekleme için gerekli, ama yeterli değil

Bu, doğru anlaşılması gereken en önemli noktadır ve rakip sözlük sayfalarının çoğu burada düpedüz yanılır. “200 means the page gets indexed.” (çeviri) “200, sayfanın dizine alındığı anlamına gelir.” derler. Google’ın kendi belgesi aksini söyler: “passes on whatever it received to the next processing step… For Google Search, the next system is the indexing pipeline. The indexing systems may index the content, but that’s not guaranteed.” (çeviri) “Google’ın aldığı her şeyi ürüne özgü sonraki işleme aşamasına aktarır. Google Search için sonraki sistem dizine ekleme hattıdır. Dizinleme sistemleri içeriği dizine alabilir, ancak bunu garanti etmez.”

Evidence for this claim Google passes a 2xx response to its indexing pipeline, which may index the content but does not guarantee that it will do so; error-like content can be classified as a soft 404. Scope: Google Search handling of 2xx page responses and soft 404s. Confidence: high · Verified: Google: HTTP status codes and Search

Dolayısıyla 200, sayfanın arama sonuçlarındaki kaderi hakkında değil, HTTP yanıtı hakkında bir sözleşmedir. 200’den sonra Google bağımsız olarak şunları değerlendirir:

  • Kalite — zayıf, düşük değerli veya otomatik üretilmiş sayfalar dizine alınmayabilir.
  • Yinelenme — güçlü bir URL’nin yakın kopyası, kendi başına dizine alınmak yerine o URL altında birleştirilebilir (canonical etiketinin kontrol ettiği şey budur).
  • Yönergeler — meta etiketteki noindex veya X-Robots-Tag üstbilgisindeki yönerge, kusursuz 200 olsa bile sayfayı dizin dışında tutar.

Patrick’in Ahrefs rehberi aile düzeyinde aynı ayrımı yapar: “Most 2xxs will allow pages to be indexed. However, 204s will be treated as soft 404s and won’t be indexed.” (çeviri) “Başarı sınıfındaki kodların çoğu sayfaların dizine eklenmesine izin verir. Ancak içeriksiz yanıtlar soft hata olarak ele alınır ve dizine eklenmez.” 200 bir sayfayı dizinlemeye uygun kılar; onu dizine alınmış yapmaz.

Soft 404 tuzağı

“200 hikâyenin tamamı değildir” sözünün en açık örneği soft 404’tür. Google’ın durum kodları belgesi mekanizmayı şöyle açıklar: “If the content suggests an error for Google Search, an empty page or an error message, Search Console will show a soft 404 error.” (çeviri) “İçerik Google Search açısından bir hataya, boş sayfaya veya hata mesajına işaret ediyorsa Search Console bir soft 404 hatası gösterir.” Buradaki önemli nokta, sınıflandırmanın HTTP koduna değil oluşturulan içeriğe dayanmasıdır. Google’ın dizine ekleme hattı 200’ün ötesine bakar; sayfadaki içerik “bulunamadı” izlenimi veriyorsa onu gerçek bir 404 gibi sınıflandırıp raporlar.

Kontrol edilmesi gereken durumlar şunlardır: sayfası artık boş bir şablon yükleyen üretimden kalkmış ürün, hâlâ 200 kabuğu döndüren silinmiş makale, sıfır öğeli filtrelenmiş kategori veya “nothing here” (çeviri) “burada hiçbir şey yok” mesajlı arama sonucu. Her biri teknik olarak doğru bir 200 döndürürken hem kullanıcılara hem Google’a görülecek bir şey olmadığını söyler.

Bu sitede tespit mekanizmaları ve düzeltmeler için özel bir soft-404-errors makalesi vardır; burada tekrarlamayacağım. 200 tartışmasının özeti basittir: gerçekten yok olmuş bir sayfada 200 döndürmek soft 404 için zemin hazırlar. Çözüm, kodu gerçeğe uydurmaktır.

İlgili tuzak: taşıma başarısı uygulama başarısı değildir

API ve izleme çevrelerinde sık çıktığı için sınırlı bir parantez açalım: HTTP katmanı ile uygulama katmanı uyuşmayabilir. Bir API uç noktası gövdesinde JSON hata nesnesiyle 200 gönderebilir; bir sayfa, arka uç bağımlılığı sessizce çökmüş ve gerçek içerik yerine bozuk bir bölüm oluşturmuşken 200 gönderebilir. Durum satırı “delivered fine” (çeviri) “başarıyla teslim edildi” der — iddiası bundan ibarettir. Yükün gerçekten doğru olup olmadığı ayrı bir sorudur ve durum kodu yanıtlamaz. Uygulamacılar API’nin hatayı 200 içine sarmalamak yerine 200 dışı kodla mı bildirmesi gerektiği konusunda ayrılır; bu, her ekibin seçtiği bir sözleşmedir, HTTP kuralı değil. Bu sitenin SEO odağında bunun sayfa düzeyindeki karşılığı yukarıdaki soft 404’tür: yalnızca durum satırına güvenmeyin, gövdenin gerçekten ne içerdiğine bakın.

200, 204 ve 304’ü birbirine karıştırmayın

İnsanların karıştırdığı üç kod vardır; yalnızca biri “here’s your page” (çeviri) “işte sayfanız” başarısıdır:

KodSınıfGövdeAnlamıSEO işlemi
200 OK2xxnormalde gerçek içerikBaşarı — “here’s your page” (çeviri) “işte sayfanız”Dizinlemeye uygun (garanti edilmez)
204 İçerik Yok2xxTasarım gereği boşBaşarı, kasıtlı olarak gövde yokSayfa URL’sinde soft 404 gibi ele alınır — bkz. 204-no-content
304 Değiştirilmedi3xxYokKoşullu istekte “Use your cached copy” (çeviri) “Önbelleğe alınmış kopyanı kullan”Önbellekleme sinyali, dizine ekleme kararı değil

204 gerçek bir başarı kodudur; ancak boş gövdesi tarayıcıya dizine ekleyecek hiçbir şey vermez. Bu nedenle bir sayfa URL’sinde soft 404 sınıfına girer. Bu ayrı bir makalenin konusudur; boş gövde durumunu normal bir 200 ile karıştırmayın. 304 ise aynı ailede bile değildir: koşullu bir isteğe (If-None-Match / If-Modified-Since) istemcinin önbellekteki kopyasının hâlâ güncel olduğunu bildirerek yanıt verir. Gövde taşımaz ve dizine ekleme hakkında hiçbir şey söylemez; 200’ün başka bir biçimi değil, tarama verimliliği mekanizmasıdır. “200 ile 304 aynı şey değil mi?” sorusu, önbellek iyileştirmesiyle başarı yanıtını birbirine karıştırır.

Googlebot’un gerçekten ne aldığını doğrulayın

Rakip makalelerin neredeyse tamamının atladığı bir boşluk var: aynı URL için farklı istek yapanlar farklı kodlar alabilir. Tarayıcınız temiz bir 200 görebilirken Googlebot başka bir yanıt alabilir. Bunun nedeni bazen kasıtlı cloaking’dir (Google’ın Arama Essentials kurallarında spam ihlali); daha sık olarak WAF/bot engelleme kuralları, coğrafi IP hedefleme, CDN uç mantığı veya botlarda hata veren bir A/B testi gibi yapılandırma hatalarıdır.

Bu nedenle “tarayıcımda 200 görüyorum” demek, “Google da 200 görüyor” demenin kanıtı değildir. Doğru tanı, Googlebot’un kendisinin aldığı yanıtı kontrol etmektir:

  • GSC URL Inspection — Google’ın getirdiği durum kodunu ve oluşturulan içeriği görmek için Canlı Test’i çalıştırın; kendi makinenizin gördüğünü değil.
  • Sunucu/CDN günlükleri — Her kullanıcı aracısının gerçekten aldığı kod için en güçlü kanıtı sağlar.

Terminalinizden yaptığınız düz curl -I yararlıdır, ancak Googlebot’tan farklı uç kurallara çarptırılabilecek başka bir istektir. Sonuçları veri noktası olarak görün; son söz olarak değil.

HTTP durum yanıtlarını nasıl kontrol eder ve izlersiniz

  • Tarayıcı DevTools — Network sekmesinde yeniden yükleyin, belge isteğini seçin ve Status sütununu okuyun.
  • Komut satırı — Tek isteğin başlıkları için curl -I https://example.com/page, yönlendirme zincirini izlemek için curl -IL kullanın.
  • Google Search Console — URL Inspection raporu taranan durumu gösterir ve Canlı Test yapmanızı sağlar.
  • Bing Webmaster Tools — URL Inspection aracı Bingbot’un aldığı yanıtı doğrulamanın Bing tarafındaki yoludur. (Bing, Google’ın yaptığı gibi durum kodlarının dizine eklemeyi nasıl etkilediğine dair ayrı bir rehber yayımlamıyor; bu nedenle Bing adına politika uydurmayın.)
  • Tarayıcı araçları — Screaming Frog ve Ahrefs Site Audit, tüm sitedeki durum kodlarını toplu olarak gösterir; ücretsiz Ahrefs SEO Toolbar bulunduğunuz sayfanın kodunu gösterir.

“healthy” (çeviri) “Sağlıklı” görünüm şudur: önemli canonical URL’ler gerçek içerikle tutarlı biçimde 200 döndürür; gerçekten kaldırılmış veya taşınmış sayfalar yanıltıcı bir 200 yerine 404/410 ya da 301 döndürür.

Karar tek satırda

Kodu gerçekle eşleştirin. Dizinde olması isteniyor → anlamlı içerikle 200. Kalıcı olarak kaldırıldı → 404 veya 410 (404-not-found bölümüne bakın). Taşındı → 301. Başka bir URL’nin kopyası → 200 dışında bir kodu zorlamak yerine canonical etiketini tercih edilen sürüme yöneltin. 200, bunu gerçekten hak eden sayfalar için yeşil ışıktır; ne daha fazlası ne de daha azı.

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.