HTTP Durum Kodları Rehberi
Bu rehberde, en yaygın HTTP durum kodları ve SEO etkisi üzerine konuşacağımız harika bir içerik Benden size bir tavsiye farklı durum kodları ile o kadar sık karşılaşacaksınız. Sürekli hangi kodun neyi ifade ettiğini aramak yerine, bu içeriği yer işareti olarak ekleyiniz.
HTTP açılımı, Hyper Text Transfer Protocol (Köprü Metni Aktarım Protokolü), web’in omurgasıdır. HTTP, istemci (siz) ve sunucu arasındaki iletişimi sağlamaktadır. Günümüz artık dijital bir çağ olduğundan zamanımızın çoğunu internette geçirmekteyiz. Bir konuda işlem yapmak veya bilgi almak amacıyla interneti sürekli aktif kullanıyoruz.
Bir arama sorgusu sonucunda, SERP’te yer alan sayfalara tıkladığında bazen içeriklere erişemiyorsunuz. Cihazınızın ekranında 403, 404, 500, 503, 529 ve daha pek çok farklı üç haneli sayılar ile karşılaşıyorsunuz. Peki bir içeriğe ulaştığınız zaman bir durum kodu oluşmuyor mu? Arka planda kullanıcının görmediği bazı durum kodları oluşmaktadır. HTTP durum kodları ve hata kodları hakkında detaylı bilgi sahip olun ve SEO çalışmalarınızda sıralamanıza katkı sağlayın.
Konuya derinlemesine incelemeden önce, SEO Nedir? Adlı yazımı okumanızı kesinlikle tavsiye ederim.
Yazı İçeriğimiz
HTPP Status Nedir?
HTTP status, web site sunucusunun, bir isteği yerine getirip getirmeyeceğini belirtmek adına tarayıcıya gönderdiği bir durum mesajdır. Ev durum kodları ve özellikleri W3C tarafından belirlenir. Durum kodları ayrıca isteğin sonucunu tarayıcıya bildirmek için HTTP başlığı içine gönderilmektedir.
İstekte herhangi bir problem yaşanmadığı sürece, sunucu tarafından HTTP 200 durum başarılı kodu döndürür. Fakat her istek ne yazık ki başarılı durum kodu ile dönmemekte, sunucu bir isteği yerine getirmeye çalışırken bazı yanlış giden durumlar yaşanabilmektedir.
HTTP Durum Kodları (Status Codes) Nedir?
HTTP durum kodları, üç haneden oluşmakta ve siz her web sayfası erişim talebinde bulunduğunuz bu durum kodları üretilmektedir. Sunucunun istekleri nasıl değerlendirdiğini hakkında bilgi sahibi olmamızı sağlar. Herhangi bir hata veya problem olmadığı sürece bu durum kodları ekranımıza yansımaz.
Bir SEO uzmanı, web sitesi sahibi veya yazılımcıysanız, HTTP status codes hakkında bilgi sahibi olmalısınız.
Chrome tarayıcıya sahipseniz, SEO için HTTP Başlığı ve Yönlendirme Denetleyicisi eklentisi ile tüm durum kodları anında görebilirsiniz. İstek başarılı ya da başarısız hiç fark etmez size, sunucunun isteği nasıl karşıladığını gösterir.
HTTP Durum Kodları ve Anlamları
- 1XX Bilgi Kodları: Web sitesinde herhangi bir istekte bulunduğunuz zaman, tarayıcı tarafından başlatılan isteği sunucu işlemekte olduğunu belirtir (100–199).
- 2XX Başarı Kodları: İsteğin, sunucu tarafında sorunsuz bir şekilde tarayıcıya iletildiğini ya da iletileceğini belirtmektedir (200–299).
- 3XX Yönlendirme Kodları: Web sitesinde bir istekte bulunduğunuz URL için hedefin değiştiği durumları belirtmek için kullanılır. Bu durumda tarayıcının daha fazla işlem yapması gerekebilir (300-399).
- 4XX İstemci Hata Kodları: Web sayfasına, içeriğine ulaşılmadığı veya içerik kısmında teknik bir sorun ile karşılaşıldığını belirtmek için kullanılır (400–499).
- 5XX Sunucu Hata Kodları: Sunucu tarafında yaşanılan problemleri belirtmek için kullanılır (500–599).
En sık karşılaşılan HTTP durum kodları ve anlamları hakkında daha detaylı bilgi için içeriğimi okumaya devam edin.
HTTP 1XX Durum Kodları
Bilgilendirici HTTP durum kodları, isteğin halen devam ettiğiniz göstermektedir.
- HTTP 100 : İstemci tarafından yapılan isteğin başlık kısmı alındı ve tarayıcı isteğe devam etmesi gerektiğini ve isteğin gövdesini almaya hazır olduğunu belirtmektedir.
- HTTP 101 : İstemci tarafında HTTP protokolü değiştirilmesi gerektiğini anlar ve uygulamaya başlar. Ör: HTTP/1.1 protokolünden zorunlu olarak HTTP/2 protokolüne geçmek gibi tanımlanabilir.
- HTTP 102 : Sunucu, tarayıcı tarafından yapılan isteğin alındığını ve işleniyor olduğunu belirtir. Yanıt henüz belli olmadığını belirtmek için kullanılır.
- HTTP 103 : Bazı isteklerin yani kaynakların sunucu tarafında önceden yüklendiğini belirten yanıt başlığı içerir.
HTTP 2XX Durum Kodları
Başarılı HTTP durum kodları isteğin gerçekleştirildiğini ve tarayıcının bilgiyi aldığını belirtir.
- HTTP 200: Başarılı durum kodu her şey yolunda mesajı vermektedir. Tarayıcıdan yapılan istek, sunucu tarafından alındı ve başarılı bir şekilde tarayıcıya aktarıldığını belirtmektedir.
- HTTP 201: Post işlemlerinden sonra isteğin yerine getirildiğini ve yeni kaynağın oluşturulduğunu belirtir.
- HTTP 202: Tarayıcı tarafından yapılan işlemin kabul edildiğini belirtmeye yarar. Fakat sonuç başarılı ya da başarısız olabilir.
- HTTP 203: Yetkili olmayan bilgi olarak tanımlanmaktadır. İstek, sunucu tarafından 200 durum kodu almasına rağmen daha sonrasında kaynağın yanıtı değiştirdiğini ifade eder.
- HTTP 204: Sunucun tarafında, isteğin işlendiğini fakat döndürülen içeriğin olmadığını ifade etmek için kullanılır.
- HTTP 205: İçeriği sıfırla baştan al anlamına gelmektedir. 205 (Reset Content) durum kodu yanıtı tarayıcıya belge görünümünü sıfırlamasını söylemektedir. Bu sayede istek sunucudan alındığı haliyle gösterilir.
- HTTP 206: Kısmı içerik başarılı bir durum kodu olarak ifade edilir. Tarayıcınız ‘aralık üstbilgisi’ kullanıyorsa, bu kod size kaynağın yalnızca bir kısmının gösterileceğini bildirir.
- HTTP 226: Sunucu tarafından bir GET işleminin yapıldığını anlık ileti kullanıldığını ifade etmektedir.
HTTP 3XX Durum Kodları
Kaynağın yerinin değiştirildiğini ifade etmektedir. 3XX kodları, kaynağın (içeriğin) nerede aranacağını ya da içeriğin alternatif adresinin neresi olduğunu göstermektedir.
- HTTP 300: İsteğin çoktan seçmeli kaynağı olduğunu, tarayıcının yapılan isteğin sonucunda birden fazla yanıt kaynağı olduğundan bunlardan birini seçmelidir.
- HTTP 301: Web sayfasının ya da kaynağın kalıcı olarak başka bir adrese (URL’e) taşındığını ifade etmektedir. İstenen içeriğin yeni URL’i yanıtta açıkça belirtilmektedir.
- HTTP 302: Web sayfasının ya da kaynağın geçici olarak başka bir adrese (URL’e) taşındığını ifade etmektedir. Bu durum arama motoru botlarına URL’de ilerleyen zamanlarda değişiklik yapılacağını bildirmektedir.
- HTTP 303: Sunucu, istemciyi, istenen kaynağı bir GET isteğiyle başka bir URL’de almaya yönlendirmek için bu yanıtı gönderdi. Dört birincil HTTP istek yöntemi hakkında bilgi gerektirir.
- HTTP 304: Önbelleğe alma ve kontrol amacıyla 304 durum kodu kullanılmaktadır. Tarayıcıya önbelleğe alınan kaynak/içerik değişmediğini belirtmektedir. 304 durum yanıtı, web sayfanızın performansını yükleme süresini hızlandırmaktadır.
- HTTP 307: Web sayfasının ya da kaynağın başka bir URL’e geçici yönlendirme yapıldığını belirtmektedir. 302 durum kodundan farklı olarak HTTP yöntemi değiştirilmemesi gerekir. Eğer ki POST işlemi yapılıyorsa, POST yöntemi tekrardan kullanılmalıdır.
- HTTP 308: Web sayfasının ya da kaynağın başka bir URL’e kalıcı olarak taşındığını belirtmektedir. 301 durum kodundan farklı olarak HTTP yönteminin değiştirilmemesi gerekir. HTTP Yanıt başlığı tarafından belirtilen başka bir URL’de kalıcı olarak bulunur.
HTTP 4XX kurum kodları
İstemci hata kodları, web sayfası bulunamadığını belirtmektedir. Web sayfa kullanılamıyor veya istek teknik olarak bir hatalı durum ile karşılaştığını ifade etmektedir.
- HTTP 400: Sunucu, tarayıcı (istemci) tarafında ki bir hata nedeniyle isteğe yanıt veremediğini ifade eden durum kodudur.
- HTTP 401: Kullanıcıların, web sayfasına erişmesi için geçici kimlik doğrulaması yapması gerektiğini belirtmektedir. Yetkisiz istek durumunu belirtmektedir.
- HTTP 402: Web sayfası erişebilmek için ödeme gerekli olduğunu belirtmek için kullanılan hata durum kodudur. Nadiren kullanılmakta ve gelecekte kullanılması için rezerve edildiği anlamına gelmektedir.
- HTTP 403: Web sayfasına veya içeriğine erişimin yasak olduğunu belirten hata durum kodudur. Örneğin şifre yada erişim yetkisi gerektiğini ifade eder.
- HTTP 404: İnternette en çok yaygın olarak görülen hata durum kodudur. Belirtilen kaynağın, sunucu tarafında artık yer almadığını belirtmektedir.
- HTTP 405: Hedef kaynak devre dışı olduğu veya istek yönteminin desteklenmediği belirten hata durum kodudur.
- HTTP 406: Tarayıcının ‘Accept Header’ bölümünde verilen özelliklerin kabul edilemez olduğunu ifade etmek için kullanılan hata durum kodudur.
- HTTP 407: Web sitesi proxy sunucu kullanıyorsa, kaynağa erişmek için proxy kimlik doğrulaması yapılmalıdır.
- HTTP 408: Tarayıcının isteği yapacağı zamanda, sunucunun isteği beklediği durumlarda zaman aşaması durumunda karşılaşılmaktadır. Sunucu boşta kalan bir isteği kapatmak ister ve zaman aşımından önce tam olarak tamamlanmamıştır. Bu durumlarda sunucu bağlantıyı sonlandırmadan önce herhangi bir hata mesajı göndermezler.
- HTTP 409: Yapılan isteğin bir uyumsuzluk veya çakışma olması sebebiyle isteğin, kaynak/sunucu ile çakıştığı (Conflict) belirten hata durum kodudur.
- HTTP 410: Tarayıcı tarafından yapılan istek/kaynak, sunucudan kalıcı olarak silindiğini ve eski haline döndürülemeyeceğini belirtmektedir.
- HTTP 411: Uzunluk gerekli, sunucu isterse Content-Length başlığı olmayan bir içeriği kabul edebilir veya etmeyebilir. Sunucu herhangi bir sebeple içerik uzunluğu başlığı olmayan bir mesajı kabul etmeyi reddettiğinde yanıt olarak gönderilir.
- HTTP 412: Tarayıcı istek yaptığında, HTTP header koşulları sunucu tarafından karşılanmadığında ön koşul başarısız hata durum kodu ile karşılaşmaktayız.
- HTTP 413: Tarayıcı tarafından yapılan isteğin, sunucu tarafından tanımlı sınırdan daha büyük olduğunda yük çok büyük hata durum kodu ile karşılaşırız. Sunucu isterse bağlantıyı kapatabilir veya bir yeniden dene-sonra başlık alanı döndürebilir.
- HTTP 414: Tarayıcı isteğinin, sunucu tarafından tanımlı uzunluktan daha fazla ise, URL çok uzun hata durum kodu ile karşılaşırız. Bu durum farklı sebepler ile karşımıza çıkabilir. Sunucu, güvenlik açıklıklarından dolayı bir saldırı altında olduğunda veya URL bir yönlendirme döngüsü içerisinde ise hata durum kodu alırız.
- HTTP 415: Sunucu, istek tarafından yapılan medya isteğin veri biçimini sebebiyle desteklenmeyen ortam türü hata durum kodu ürettiğinde isteği reddeder.
- HTTP 416: Sunucu, isteği iade edemiyor sebebi ise belirtilen aralık başlığı URL verilerini kapsamı dışında olduğundandır.
- HTTP 417: İstem hata yanıtı beklenti başarısız oldu durum kodunu vermektedir . İsteğin beklenen başlık alanı gereksinimleri sunucu tarafından karşılanamıyor.
- HTTP 418: Hyper Text Coffee Pot Control Protocol referans olarak April Fools’un 1998-2014 yılları arasında kullandığı bir şakadır. I’m a teapot durum kodunda bazı web siteleri, işlemek istemediği otomatik sorgular için bu yanıt kodunu döndürmektedir.
- HTTP 421: Yapılan istek, yapılandırılmamış yanıt üretemeyen bir sunucuya yönlendirildiğinde yanlış yönlendirilmiş istek hata durum kodu ile karşılaşırız.
- HTTP 451: Sunucu tarafında, istenen kaynağa erişim yasak, resmi olarak sansürlenmiş bir web sayfası olabilir.
HTTP 5XX Durum Kodları
5XX durum hata kodları, server tarafında yaşanılan teknik veya yazılımsal problemleri bildirmek için kullanılır.
- HTTP 500: Sunucu, yapılan isteği tamamlayamadığı durumlarda görülen bir durum kodudur.
- HTTP 501: Sunucu tarafından isteği yönetemediği ya da destekleyemediği anlamına gelen bir durum kodudur.
- HTTP 502: Ağ geçidi veya proxy sunucuları arasında, veri alışverişinde oluşabilecek hataları temsil etmektedir..
- HTTP 503: Sunucunun geçici süreli olarak hizmet veremeyeceğini belirtmektedir.
- HTTP 504: Yapılan istek, bir sunucu diğer sunucunun yanıt vermesini beklerken isteğin zaman aşımına uğradığını belirtmektedir.
- HTTP 505: HTTP isteklerinde protokol sürümü desteklenmediğini belirtmektedir.
- HTTP 511: İstek sunucuya iletilmeden önce bir kimlik doğrulaması yapılması gerektiği belirtir.
HTTP Durum Kodları ve SEO Arasındaki İlişki
Peki, bu durum kodlarını öğrenmek yazılımcılar için faydalıyken, SEO için durum aynı mı? Web’de ki görünürlük için kesinlikle SEO uzmanları HTTP durum kodlarını bilmeli ve önemsemelidir.
HTTP durum kodları bazen sitenizin sıralamasını ve görünürlüğünü etkileyebilir.
Web sitesi geliştiricileri ile sürekli temas halinde olmanız gerekir. Tespit ettiğiniz, HTTP durum kodlarını anında geliştiriciye iletilmelisiniz.
Kritik Tarayıcı Sorunları
Kritik tarayıcı sorunları, web sitesi denetiminde ilk kontrol etmeniz gereken koddur. 4XX ve 5XX HTTP durum kodları, sayfanıza gelen ziyaretçilerin içeriğinize erişmesini engeller. 4XX hata durum kodları, içeriğin bulunamadığını veya artık yer almadığını gösterir. 5XX hata durum kodları ise sunucu tarafında kaynaklanan hataları işaret eder.
Web sitesi ziyaretçileri bu tür hata durumları ile karşı karşıya kaldıklarında web sitenizden hemen çıkmaktadır. Bu tür hata durum kodları çözülmediği sürece rakipleriniz sizin yerinize daha fazla trafik elde edecektir.
Özellikle bu tür hata durum kodları, ana sayfanızda çıkmaması için elinizden gelenin fazlasını yapmalısınız.
Yönlendirme Sorunları
Yönlendirme sorunları, kullanıcı deneyimi ve SEO açısından oldukça önemlidir. Google, yönlendirmeler sonucunda oluşan zaman kayıplarını sevmiyor.
302/307 durum kodları, geçici olarak bir yönlendirme olduğunu belirtir. Yönlendirmeler, web sayfasına çok fazla bağlantı değeri sağlamaz. Yönlendirme zincirlerinden mutlaka kaçınmalısınız. İstek yapılan URL için çok fazla yönlendirme zinciri varsa, sayfanız arama sonuçlarında görünmeyebilir.
Meta redirection, sunucuya zaman aşımından sonra, tarayıcıyı yeniden yönlendirmesini söyler. Sunucu yapılandırma ayarları ile yönlendirme için .htaccess dosyasını kullanabilirsiniz.
Web sayfa yükleme hızı bir sıralama faktörü olarak değerlendirilmektedir. Kullanıcı içeriğinize erişmek için zaman kaybederse, sıralamanıza da olumsuz etkisi olacaktır.
Yönlendirme sorunları, arama motoru botlarının web sayfaları taramasını ve dizine eklenmesini engeller. Bu sorunları görmezden gelmek SEO çalışmalarınızda size sorun çıkaracaktır.
Web Sitesinde 404 Hataları Nasıl Tespit Edilir ve Düzeltilir?
Web sayfalarında, 404 hatası veya “Sayfa Bulunamadı” hatası pek çok sebeple kaynaklanabilir. Bu durum kodları istemci taraflı bir hatadır. 404 hatalarına neyin sebep olduğunu bulmak ve tespit etmek için, SEO araçlarından faydalanabilirsiniz. 404 hataları sebebini bulmak için kendinize şu sorular sorun:
- URL yapısı değişti mi? Cevabınız evet ise, eski URL yapısından yeni URL yapısına 301 yönlendirme yapın. CMS (Wordpress, Shopify vs.) eklentileri, siz URL yapısını değiştirdiğinizde otomatik yönlendirme yaparlar. 301 yönlendirmeleri, 1 yıl boyunca sitenizden kaldırmamanız gerekir. Google, yapılan değişikleri kalıcı olarak sağlaması için tutmanızı önerir.
- Sayfayı yenileyin, web sayfasına bazen erişemediğiniz durumlar anlık olarak karşınıza çıkabilmektedir. Yapılacak ilk işlem sayfanın yenilenmesi ya da başka cihazlardan istekte bulunulmasıdır.
- Önbelleği ve çerezleri temizleyin: Bazı durumlarda önbellek ve çerezler içeriğe erişmemizde can sıkıcı bir duruma yol açabilir. Tarayıcı önbelleği temizlemek ve çerezleri silmek, sayfaya tekrar erişmenizi sağlayabilir.
Web sitenizde yer alan 3XX, 4XX ve 5XX durum koduna sahip sayfa ve içeriklerinizi kolayca tespit edebilirsiniz. Screaming Frog SEO Spider Website Crawler aracı ile web sitenizin teknik SEO analizlerini rahatlıkla yapabilirsiniz.
Web Sitesinde HTTP 503 Durum Kodu Hataları Nasıl Düzeltilir?
HTTP 404 hata durum kodlarından farklı olarak, HTTP error 503 durum kodu düzeltilmesi için doğrudan müdahale edemezsiniz. 5XX durum kodları sunucu tarafında yaşanılan hataları belirtmektedir. Bu hata durum kodunu ele alırken üç faktörü göz önünde bulundurun:
1. Bu hata ile karşılaştığınız web sitesiniz çok fazla trafik alıyor mu? Web sitenize gelen trafiğin bot trafiği değil gerçek trafik olduğundan emin olun. Sunucunuz aşırı trafik yükünü kaldırmıyor olabilir. Yapılacak en iyi işlem, hosting sağlayıcınızı ya da paketinizi değiştirmektir.
2. Web sayfası 503 hatası veriyorsa, sunucuya kısa süreli erişim yapılamıyordur. Sunucu bakımda (yedekleme) ya da çökmüş olma ihtimali yüksektir. bazen sunucunuz bakımda olabilir veya çökmüş olabilir. Sunucunun ne zaman yedekleneceğini ve erişim yapılamayacağını mutlaka barındırma sağlayıcısından öğrenin.
3. Web sitenize herhangi bir DoS veya DDoS saldırısı olup olmadığını öğrenin.
Sonuç
Bir protokol gibi görünen HTTP, aslında bundan daha fazlasıdır. Durum kodlarını öğrenmek ve çözüm bulmak, web sitenizin SEO açısından ilerleme kaydetmesini sağlamaktadır. JavaScript altyapısına sahip web sitelerinizi SEO açısından teknik analizi yapmak istiyorsanız “Screaming Frog ile JavaScript Web Siteleri Tarama” adlı yazımı okuyabilirsiniz.
HTTP durum kodları ile sürekli karşılaşacaksınız. Bu durum kodlarının hepsini ezberlemek imkansızdır. Bu içeriği kaydetmeniz, hatalara anında çözüm bulmanıza fayda sağlayacaktır. Sizlerde arama motoru sonuç sayfalarında üst sıralarda yer almanızı istiyorsanız, mutlaka durum kodlarını dikkate alınız.