Son kullanıcı olarak web de gezinirken sıkça karşılaştığımız hata sayfaları vardır. Genellikle kullanıcı bir anlam veremeden sayfayı terkeder ancak her hata kodunun kendi içinde bir anlamı ve ziyaretçiye mesajları vardır. Bunları bilmek çoğu zaman site hakkında bir izlenim oluşturmanızda önemli katkı sağlar. Bu makalemde özet bilgiler ile bu hata kodlarına değinmek istedim. Gruplamaları var mıdır? En sık hangi kodlar ile karşılaşmak mümkündür gibi…
Durum Kodu Aralıkları
1xx – Bilgi
- 100 Continue : İstek başarılı alındığı ve devam edilebileceği belirtilir
- 101 Switching Protocols : Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir
2xx – Başarılı
- 200 OK : İstek başarılı alınmış ve cevap başarılı verilmiştir
- 201 Created : İstek başarılı olmuş ve sunucuda yeni bir kaynak yaratılmıştır
- 202 Accepted : Sunucu isteği kabul etti ancak henüz işlemedi
- 203 Non-Authoritative Information : Sunucu isteği başarılı işledi, ancak başka kaynakta olabilecek bilgi döndürmektedir
- 204 No Content : İstek başarılı alınmış ancak geri içerik döndürülmemektedir
- 205 Reset Content : İstek başarılı alınmış ancak geri içerik döndürülmemektedir. Ancak içerik temizlenecektir (örneğin bir web formunda doldurulan bilgiler)
- 206 Partial Content : GET için kısmi içerik (içeriğin bir belirli bir parçası) başarılıyla döndürülmüştür
3xx – Yönlendirme
- 300 Multiple Choices : Sunucuda isteğe göre birden fazla seçenek olduğunu bildirir. Sunucu seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebilir
- 301 Moved Permanently : Bir kaynağın (veya sayfanın) kalıcı olarak başka bir yere taşındığını bildirir ve o yere yönlendirme sağlar
- 302 Found (HTTP 1.0) – Moved Temporarily (HTTP 1.1) : Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. Kaynağın ana adresi değişmemiştir
- 303 See Other : Farklı bir kayanağa GET yapılması gerektiğini belirtir
- 304 Not Modified : İstenilen kaynakta daha önce yapılan istekten beri herhangi bir değişikliğin olmadı belirtilir ve içerik gönderilmez
- 305 Use Proxy : Sunucu tarafından döndürülen proxy’in kullanılması gerektiği belirtilir
- 306 Switch Proxy : Bu durum kodu artık kullanılmıyor
- 307 Temporary Redirect : Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir.
4xx – istemci hatası
- 400 Bad Request : İstek hatalı (isteğin yapısı hatalı) olduğu belirtilir
- 401 Unauthorized : İstek için kimlik doğrulaması gerekiyor
- 402 Payment Required : Ödeme gerekiyor. (gelecekte kullanılması için ayrılmıştır)
- 403 Forbidden : Kaynağın yasaklandığını belirtir
- 404 Not Found : İstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir
- 405 Method Not Allowed : Sunucu , HTTP Method’u kabul etmiyor
- 406 Not Acceptable : İstemcinin Accept header’ında verilen özellik karşılanamıyor
- 407 Proxy Authentication Required : Proxy üzerinden yetkilendirme gerekir
- 408 Request Timeout : İstek zaman aşımına uğradı (belirli bir sürede istek tamamlanamadı)
- 409 Conflict : İstek içinde çelişki var
- 410 Gone : Kaynak artık yok
- 411 Length Required : İstekte “Content-Length” (içeriğin boyutu) belirtilmemiş
- 412 Precondition Failed : Sunucu istekte belirtilen bazı önkoşulları karşılamıyor
- 413 Request Entity Too Large : İsteğin boyutu çok büyük olduğu için işlenemedi
- 414 Request-URI Too Long : URI (URL) fazla büyük
- 415 Unsupported Media Type : İstenilen kaynak istenilen medya tipinin desteklemeiyor
- 416 Requested Range Not Satisfiable : İstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilebiliyor veya uygun değil
- 417 Expectation Failed : Sunucu “Expect” ile istenileni desteklemiyor veya yerine getiremiyor
5xx – Sunucu Hatası
- 500 Internal Server Error : Sunucuda bir hata oluştu ve istek karşılanamadı
- 501 Not Implemented : Sunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır
- 502 Bad Gateway : Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor
- 503 Service Unavailable : Sunucu şu anda hizmet vermiyor (kapalı veya erişilemiyor)
- 504 Gateway Timeout : Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) belirli bir zaman içinde cevap alamadı
- 505 HTTP Version Not Supported : HTTP Protokol versiyonu desteklenmiyor
Bazı HTTP Durum Kodları ve Anlamları:
1- 200 Kodu
Birçoğumuzun aşina olduğu durum kodlarından bir tanesidir. 200 kodu sitenin çalışır durumda olduğunu Google Botlarına bildirir, Google Botu da bu şekilde sitenin ayakta olduğunu anlayıp indexleme işlemine devam eder.
2- 301 Kodu
301 kodu en önemli yönlendirme kodlarından bir tanesidir. Eticaret sitenizi 5 sene önce açtınız, sonra yapı değişikliğine veya kullandığınız hazır paketi değiştirme yoluna gittiniz. İşte bu durumda 301 kodu sitenizin hayatını kurtaran bir kod olarak karşınıza çıkar. Çünkü yıllardır emek verdiğiniz sayfaların sayfa adresleri (Url’leri) de bu değişiklik ile değişecektir. Google indexleme mekanizmasını sayfa adresleri üzerine kurduğundan yaptığınız değişikliği Google botlarına 301 ile bildirmediğiniz sürece eski sayfa adresleriniz ve yeni sayfa adresleriniz olmak üzere Google’da indexli sayfalarınız oluşur.
Bu durum kopya içerik (duplicate content) sorununa neden olacak ve kısa zaman içerisinde
Google’dan gelen trafiğiniz dörtte biri veya daha fazla oranda düşecek, eski sıralamalarınız gidecek, satışlarınız düşecek. Yazının bu kısmı biraz olumsuz oldu ama maalesef en sonunda bunlarla karşılaşacaksınız.
Bu durum kopya içerik (duplicate content) sorununa neden olacak ve kısa zaman içerisinde
Google’dan gelen trafiğiniz dörtte biri veya daha fazla oranda düşecek, eski sıralamalarınız gidecek, satışlarınız düşecek. Yazının bu kısmı biraz olumsuz oldu ama maalesef en sonunda bunlarla karşılaşacaksınız.
Fakat 301 kodunu doğru kullanırsanız eski sıralamalarınızın yeni sayfa adreslerine geçmesini sağlayabilir, trafik kaybını engelleyebilirsiniz. Burada da en önemli nokta 301 yaparken eski sayfa adreslerinizi birebir yeni adreslerinize yönlendirmeniz gerektiğidir. Yani example.com/id-55544 sayfasının yeni adı example.com/cep-telefonu ise ilk sayfa adresini ikinci adrese 301 ile yönlendirmeniz gerekmektedir. Bütün site için bu yapıyı kurmanız gerekmektedir.
301 server üzerinde yapılması gerekir, bu açıdan yazılımcınız ve server’a bakan ekibiniz size yardımcı olabilecektir. 301’in kısa tanımı kalıcı yönlendirmedir, bunu da eklemeden geçmeyeyim.
3- 302 Kodu
302 kodu ise geçici yönlendirme çeşidi olarak bilinir. Eğer bir sayfa adresini arama motorunda göstermek isteyip kullanıcının eriştiği yerde başka adres kullanmak istiyorsanız bu yöntemi kullanabilirsiniz.
Örn: example.com/sayfa/id4444/reklam diye url’iniz mevcut ama TV reklamlarınızda example.com/reklam url’ini kullanıyorsanız ve ikinci url’e giren kişilere 1. url’e geçici yönlendirmek istiyorsanız 302 kullanabilirsiniz.
302 yönlendirme şekli verimsiz bir yönlendirme şeklidir aslında, arama sonuçlarında hiçbir şeyi değiştirmez. Genelde yapılan hata 301 yerine 302 yapılmasıdır. 302 geçici yönlendirme olduğundan yönlendirilen url arama sonuçlarında çıkmaya devam eder.
Sonunda da siz “iyi de biz bu url’i değiştirdik, yönlendirme de oluyor. Neden Google’da sonucum değişmiyor?” diyorsanız yönlendirme kodunuzu mutlaka kontrol edin.
4- 404 Kodu
404 kodunu da mutlaka hepiniz biliyorsunuzdur. 404 kodu da Google Botlarına sayfanın artık var olmadığını bildirir. Böylece Google Botları o sayfayı indexlerinden siler bir daha arama sonuçlarında getirmemeye çalışırlar.
Fakat yine yapılan hatalar birkaçı şöyledir;
1- Sayfayı kapatırsınız çok güzel bir 404 sayfası yaparsınız ama sayfada 404 yazıyor olması demek 404 verdiği anlamına gelmez. Mutlaka durum kodunun doğru olup olmadığını kontrol etmeniz gerekmektedir. Yine yukarıdaki gibi sayfamı kapattım ama Google’dan neden silinmiyor diyebilirsiniz. İşte asıl nedeni sayfanın Google botuna 404 kodunu göndermiyor olmasındandır.
2- Bir sayfayı kapatırsınız direkt 404 vermek yerine 302 ile başka sayfaya yönlendirir ve o sayfa 404 verir. Bu kullanım yanlıştır, mutlaka hatalı olan sayfa direkt 404 kodu vermelidir.
5- 503 Kodu
503 kodu da aslen çok ihtiyaç olan ama kullanılmayan bir kod çeşididir. Sitenizde gece çalışma yaptığınız varsayalım ve komple sitenizi kapattığınızı, hiç kimsenin ulaşamadığını düşünelim. İşte bu durumda Google botlarının sitenize gelip hayal kırıklığı yaşamasını istemezsiniz sanırım.
Bu noktada sayfanızın durum kodu 503 olursa Google botu sitenizde çalışma olduğunu anlayıp geri gider, siteniz açıldığında yine sitenizi indexlemeye devam eder. Bu süreçte hiç kayıp yaşamazsınız.
Peki bu durum kodlarını nasıl sorgulayabilirsiniz ?
Bu araçla da sitenizin bütün url’lerini tarayıp hatalarını çıkartabilirsiniz. Bu kodlar en çok işinize yarayacak olanlar diyebiliriz. Sizin eklemek istediğiniz kodlar olursa ekleyebilirsiniz.