Sinan ŞanverenSEO Uzmanı
Teknik SEO

HTTP durum kodları ve SEO: Google hangi koda nasıl davranır?

200, 301, 302, 404 ve 503 durum kodları ve Google için anlamları

HTTP durum kodu, bir sayfa istendiğinde sunucunun verdiği üç haneli yanıttır. Tarayıcıya ve Googlebot’a sayfanın durumunu bildirir: 200 sayfanın başarıyla geldiğini, 301 sayfanın kalıcı olarak taşındığını, 404 sayfanın bulunamadığını, 503 sunucunun geçici olarak hizmet veremediğini söyler. Google bir sayfayı dizine ekleyip eklemeyeceğine karar verirken ilk olarak bu koda bakar. Yanlış kod, doğru içeriğin bile dizinden düşmesine yol açabilir.

Ziyaretçi durum kodunu görmez, sayfanın açılıp açılmadığına bakar. Google ise tam tersine önce koda bakar. Bu yüzden bir sitenin teknik SEO denetiminde ilk kontrol ettiğim şeylerden biri durum kodlarıdır. Bu yazıda kodların sözlük anlamlarından çok, Google’ın her koda nasıl davrandığını anlatıyorum. Bilgilerin kaynağı Google’ın kendi belgeleridir.

Durum kodu sınıfları

Kodlar ilk hanelerine göre beş sınıfa ayrılır:

Sınıf Anlamı SEO açısından
1xx Bilgi Pratikte SEO’yu etkilemez
2xx Başarılı Sayfa dizine eklenmeye aday
3xx Yönlendirme Google hedef adresi takip eder
4xx İstemci hatası Sayfa yok sayılır, dizinden çıkar
5xx Sunucu hatası Tarama yavaşlar, sorun sürerse sayfa dizinden çıkar

2xx: Başarılı yanıtlar

200 OK

Sayfa başarıyla geldi demektir. Google’a göre 200 kodu, içeriğin dizine ekleme aşamasına aktarılmasını sağlar, ama dizine eklenmeyi garanti etmez. Sayfanın kalitesi, kopya olup olmadığı ve diğer sinyaller de değerlendirilir.

200 kodunun bir tuzağı var: Sayfa boşsa ya da “bulunamadı” mesajı gösteriyorsa, Google 200 koduna rağmen sayfayı hata sayfası olarak görür. Buna soft 404 denir.

204 No Content

Sunucu içerik göndermediğini söyler. Google’a göre bu durumda işlenecek bir içerik olmadığı için sayfa dizine eklenemez. Normal web sayfalarında bu kodla karşılaşmamanız gerekir.

3xx: Yönlendirmeler

Google’a göre tarayıcıları varsayılan olarak en fazla 10 yönlendirme adımını takip eder. Ama her ek adım taramayı yavaşlatır ve hata riskini artırır. Yönlendirmenin tek adımda son adrese gitmesi en sağlıklısıdır. Yönlendirme zincirlerini bu yüzden temizlemek gerekir.

301 ve 308: Kalıcı yönlendirme

Google’a göre 301 ve 308 eşdeğerdir. İkisi de Google’a hedef adresin asıl adres olduğuna dair güçlü bir sinyal verir. Bir sayfa kalıcı olarak taşındıysa, adres yapısı değiştiyse ya da iki sayfa birleştirildiyse kullanılır.

302, 303 ve 307: Geçici yönlendirme

Google’a göre 302 ve 307 eşdeğerdir ve hedef adresin asıl adres olduğuna dair zayıf bir sinyal verir. Bu, Google’ın büyük ihtimalle eski adresi dizinde tutacağı anlamına gelir. Geçici kampanyalar ya da kısa süreli bakım için uygundur. Kalıcı bir taşımada 302 kullanmak, yeni adresin dizine girmesini geciktirebilir. İki türün ne zaman kullanılacağını 301 ve 302 yönlendirme yazısında ayrıntılı anlattım.

304 Not Modified

Sunucu, sayfanın son taramadan beri değişmediğini söyler. Google’a göre bu kodun dizine ekleme üzerinde bir etkisi yoktur. Büyük sitelerde 304 kodunun doğru çalışması, Google’ın değişmeyen sayfaları yeniden indirmesini önler ve sunucu yükünü azaltır.

4xx: İstemci hataları

Google’a göre 429 dışındaki bütün 4xx kodları aynı şekilde işlenir: Google bu adreslerin içeriğini yok sayar. Daha önce dizinde olan sayfalar dizinden çıkarılır. Yeni karşılaşılan 404 sayfaları işlenmez ve zamanla daha seyrek taranır.

404 ve 410

404 “bulunamadı”, 410 “kalıcı olarak kaldırıldı” demektir. Google açısından ikisi arasında belirgin bir fark yoktur. Silinen bir ürün ya da sayfa için ikisinden biri doğru yanıttır.

404 almak bir ceza değildir. Var olmayan bir sayfanın 404 döndürmesi doğru davranıştır. Sorun, var olması gereken bir sayfanın 404 döndürmesidir. Hangi 404’lerin düzeltilmesi gerektiğini 404 hataları nasıl bulunur? yazısında anlattım.

401 ve 403

401 kimlik doğrulama gerektiğini, 403 erişimin yasak olduğunu söyler. Google bu sayfaların içeriğini göremez. Google’a göre 429 dışındaki 4xx kodları tarama hızını etkilemez. Googlebot’un taramasını yavaşlatmak için 401 ya da 403 kullanmayın.

Bir güvenlik duvarı ya da bot koruma ayarı Googlebot’a 403 döndürüyorsa, siteniz ziyaretçiler için açık olduğu halde Google için kapalıdır. Cloudflare gibi hizmetlerde bot ayarlarını değiştirdikten sonra bunu mutlaka kontrol edin. Bu konuyu Cloudflare yapay zeka bot ayarları yazısında anlattım.

429 Too Many Requests

Sunucu “çok fazla istek geldi” der. Google’a göre 429, diğer 4xx kodlarından farklı olarak sunucunun aşırı yüklendiğinin işareti sayılır ve 5xx gibi işlenir.

5xx: Sunucu hataları

Google’a göre 5xx ve 429 kodları, Google’ın tarayıcılarının taramayı geçici olarak yavaşlatmasına yol açar. Dizinde olan sayfalar başlangıçta korunur, ama hata sürerse sonunda dizinden çıkarılır. Sunucu yeniden 2xx yanıtları vermeye başladığında Google tarama hızını kademeli olarak artırır.

500, 502, 504

Sunucuda bir hata oluştuğunu söyler. Google’a göre 500 durumunda tarama hızı, hata veren adreslerin sayısına orantılı olarak düşer. Kampanya dönemlerinde sunucu yükü arttığında bu hatalar çoğalır. Search Console’daki tarama istatistikleri raporunda sunucu hatalarının oranını izleyebilirsiniz.

503 Service Unavailable

Sunucunun geçici olarak hizmet veremediğini söyler. Planlı bakım için doğru koddur. Google’ın önerisi şöyle: Siteyi geçici olarak kapatmanız gerekiyorsa, içerik sayfalarını göstermeyin, 503 kodlu bilgilendirici bir sayfa gösterin ve Retry-After başlığıyla sitenin ne zaman döneceğini belirtin.

Google’a göre bu yöntem yalnızca kısa süreler için, en fazla birkaç gün uygundur. Daha uzun süren kapanmalar sitenin aramadaki görünürlüğünü belirgin biçimde etkiler. Bakım ekranı için 200 kodu döndürmek ise daha kötüdür: Google bakım sayfasını sitenin yeni içeriği sanabilir.

robots.txt dosyasının durum kodu

robots.txt dosyasının döndürdüğü kod, bütün sitenin taranmasını etkiler. Google’ın robots.txt belgesine göre:

  • 2xx: Dosya olduğu gibi işlenir.
  • 4xx (429 hariç): Google geçerli bir robots.txt yokmuş gibi davranır ve tarama kısıtlaması olmadığını varsayar.
  • 5xx: İlk 12 saat boyunca Google siteyi taramayı durdurur. Sonraki 30 gün boyunca önbellekteki son geçerli sürümü kullanır.

Bu yüzden robots.txt dosyasının 503 ya da 500 döndürmesi, bütün sitenin taranmasını durdurabilir. Google, bakım sırasında bile robots.txt için 503 döndürülmemesini öneriyor. Dosyanın içeriğiyle ilgili kuralları robots.txt nasıl yazılır? yazısında anlattım.

Durum kodu nasıl kontrol edilir?

Tek bir sayfa için en hızlı yol tarayıcının geliştirici araçlarıdır. Sayfada F12’ye basın, Ağ (Network) sekmesini açın ve sayfayı yenileyin. Listenin en üstündeki isteğin “Durum” sütunu, sayfanın durum kodudur.

Komut satırını kullanıyorsanız curl -I https://www.ornek.com/sayfa/ komutu yalnızca yanıt başlıklarını getirir. İlk satırda kodu görürsünüz.

Google’ın gördüğü kodu öğrenmek için Search Console’daki URL Denetleme Aracı ile canlı test yapın. Bu yöntem, güvenlik duvarının Googlebot’a farklı davranıp davranmadığını da gösterir.

Bütün site için Screaming Frog gibi bir tarama aracı kullanın. Araç her adresin durum kodunu listeler. 3xx, 4xx ve 5xx dönen adresleri filtreleyip sitenin içinden bu adreslere link verilip verilmediğine bakın. Site içi linklerin doğrudan 200 dönen son adresi göstermesi gerekir.

Kısa kontrol listesi

  • Var olan bütün sayfalar 200 döndürüyor.
  • Var olmayan bir adres (ornek.com/boyle-bir-sayfa-yok) 404 döndürüyor, 200 değil.
  • Kalıcı taşımalarda 301, geçici durumlarda 302 kullanılıyor.
  • Yönlendirmeler tek adımda son adrese gidiyor.
  • Site içi linkler yönlendirmeli ya da 404 dönen adresleri göstermiyor.
  • robots.txt 200 döndürüyor.
  • Güvenlik ayarları Googlebot’a 403 döndürmüyor.
  • Search Console’da sunucu hatası oranı düşük ve sabit.

Durum kodları, teknik SEO’nun en temel ama en sık gözden kaçan konularından biri. Sitenizin durum kodlarını ve tarama sağlığını birlikte incelemek isterseniz teknik SEO danışmanlığı sayfasına göz atabilirsiniz.

Sık Sorulan Sorular

404 mü 410 mu kullanılmalı?

Google'a göre 429 dışındaki bütün 4xx kodları aynı şekilde işlenir. 404 ve 410 ikisi de sayfanın dizinden çıkarılmasını sağlar. Sayfanın kalıcı olarak kaldırıldığını belirtmek için 410 kullanılabilir, ama SEO açısından ikisi arasında belirgin bir fark yoktur.

Site bakımdayken hangi kod kullanılmalı?

503 (hizmet kullanılamıyor) kodu kullanılmalı ve mümkünse Retry-After başlığıyla sitenin ne zaman döneceği belirtilmeli. Google'a göre bu yöntem yalnızca kısa süreler için uygundur. Site günlerce 503 döndürürse sayfalar dizinden düşmeye başlayabilir.

Googlebot kaç yönlendirmeyi takip eder?

Google'a göre Google'ın tarayıcıları varsayılan olarak en fazla 10 yönlendirme adımını takip eder. Yine de her ek adım taramayı yavaşlatır. En iyisi yönlendirmenin tek adımda son adrese gitmesidir.

Bir sayfanın durum kodunu nasıl öğrenirim?

Tarayıcınızın geliştirici araçlarındaki Ağ (Network) sekmesinde sayfayı yenileyip ilk isteğin durum sütununa bakabilirsiniz. Search Console'daki URL Denetleme Aracı da Google'ın sayfayı tararken aldığı yanıtı gösterir. Çok sayıda sayfa için bir tarama aracı kullanın.

Sitenize birlikte bakalım

30 dakikalık ücretsiz görüşmede sitenizin verisine birlikte bakıyoruz. Gördüğüm en büyük fırsatları ve hangisiyle başlamanız gerektiğini anlatıyorum.

Ücretsiz ön görüşme talep et →