404 Not Found Hatası ve Çözümü
HTTP durum yanıt kodları, genel bir hataya işaret ettiği zaman, bu hatanın izini sürmek oldukça zor olabilir. 404 not found hatası; herhangi bir sunucusundan (uzak masaüstü) gelen bir istek üzerine, sunucunun istemci (web tarayıcısı) tarafından istenen adresi, linki, vs. bulamadığını ve dolayısıyla bir 404 not found hatası döndürdüğünü belirten bir HTTP durum yanıt kodudur.
Bu makalede; 404 not found ne demek? Ardında bulunan olası nedenleri ve nasıl düzeltilebileceği ile ilgili çözüm olasılıklarını irdeleyeceğiz. Ama önce 404 not found ne demek? sorusunun çözümünü açıklayalım.
İçindekiler Tablosu
404 Not Found Ne Demek?
Makalenin başlığında da belirttiğimiz üzere; bir istemci (web tarayıcısı) tarafından istenen sayfa veya URL’den bir kaynak istendiğinde 404 not found mesajı görüntülenir. Sunucu (uzak masaüstü) istenen konumda geçerli bir kaynak bulamıyor ise bu hata alınır.
Bu genel olarak, sunucu tarafından istemcinin belirttiği URL’yi geçerli olarak tanımadığında gerçekleşir. Bir URL’nin sunucu tarafından geçersiz olarak kabul edilmesinin birkaç nedeni vardır.
İstemcinin gitmek istediği kaynak, sunucu tarafından bulunamaz ise kaynağın beklendiği gibi yüklediğinin sinyalini veriyor ve sunucu istemciyi, kişiselleştirilmiş (custom 404 pages) özel bir 404 not found sayfasına yönlendiriliyordur.
SEO açısından bakıldığında bu durum; standart bir 404 not found sayfasının işlememesi açısından kötü bir uygulama olarak düşünülür.
404 not found hatası ne demek? konusuna değindikten sonra bu hatanın hem sunucu hem de istemci tarafından çözümünü irdeleyelim.
404 Not Found Hatası Çözümü
4xx kategorisindeki HTTP durum yanıt kodları 502 Bad Gateway hatası veya 500 Internal Server hatası gibi sunucu kaynaklı hatalar değildir. Aksine bu kategoride oluşan hatalar istemci taraflı hatalardır.
Bir istemci tarafı hatası olarak kabul edilmesine rağmen bir 404 not found hatasında sunucunun durumu tamamen göz ardı edilemez. Bu nedenle 404 not found hatası çözümü için hem istemci tarafını hem de sunucu tarafının nedenlerini araştıracağız. Şimdi her iki taraf için hatanın nedenlerine ve çözümlerine göz atalım.
404 not found hatası: İstemci tarafında çözümler
İstemci tarafından başlamamızın ana nedeni; 404 not found hatası, en çok istemci tarafından kaynaklanan sorunlar olduğu içindir.
İstenen URL’yi doğrulamak
Girilen URL’nin herhangi bir yerinde bulunan yazım hatası (ggoogle.com gibi) ya da Türkçe’ye özgü karakterlerin (ş,ğ,ü,ı,ç) kullanımıı gibi durumlardan dolayı 404 not found hatası alınabilmektedir.
Alan adı yazımında büyük küçük harf yazımının etki ettiği söylenemez. Yalnız burada bir istisna söz konusudur. Etki alan adından sonra gelen (…/blog) bölümler büyük küçük harf duyarlılığına sahiptir.
Çerezleri (Cookies) temizlemek
404 not found hatasının çözümüne yönelik bir diğer durum ise web tarayıcısının çerezlerini temizlemektir. Geçersiz ya da bozulmuş çerezler istemci kimliği ile ilgili karmaşa yaratabilir ya da sunucunun, istemci isteğinin var olmayan bir kaynağa ulaşmaya çalıştığını düşünmesine neden olabilir. Bu da 404 not found hatası oluşmasına sebep olur.
Kullanılan web tarayıcısının (Chrome, Firefox, Safari, vs.) ayarları ya da geçmiş sekmesinden çerezler temizlenerek sorunun çözüme ulaşması sağlanabilir.
Çıkış yapma ve tekrar giriş yapma
Bu çözüm, sunucu bir tür kimlik doğrulama sistemi kullanıyorsa oluşabilir. Bu gibi durumlarda sunucu oturumu tanımlayamıyor olabilir. Bu da 404 not found hatası oluşmasına neden olur. Çıkış yapıp tekrar giriş yapmak çözüm sağlayacaktır.
404 Not Found Hatası: Sunucu tarafında çözümler
404 not found hatasını sunucu taraflı olmasa da sunucu tarafında da alınabileceğini makalenin başlarında belirtmiştik. Şimdi sunucu tarafında ortaya çıkabilecek birkaç sorun ve bu sorunların çözümünün neler olabileceğine göz atalım.
Web sunucu yapılandırması
Uygulamanın üzerinde çalıştığı sunucunun türüne (Nginx, Apache, IIS, vs.) bağlı olarak, sunucu, istenecek belirli URL’lere veya dizinlere gelecek istekleri reddedecek ve bir 404 not found hatası oluşturacak şekilde yapılandırılmış olabilir. Sunucunun konfigürasyonu, sunucu için verilen konfigürasyon ayarları dosyası aracılığı ile düzeltilebilmektedir.
Özel Kod (Custom Code)
Soruna neden olabilecek bir başka durumda sunucuda ki uygulamaya yazılan özel bir kod olabilir. Bu sorunun 404 not found hatası çözümü için manuel hata ayıklama ve günlükleri ayrıştırma işlemleri yapılarak böylece soruna neyin sebep olduğunu açıklayabilir ve 404 not found hatası çözümü için nokta atışı bir çözüm sağlanabilir.
Geçersiz bağlantıları (linkleri) bulmak
Geçersiz bağlantılar için belirli URL’leri veya kaynakları tespit etmek üzere kullanılabilecek otomatik birkaç araç bulunmaktadır. Bunun en iyi örneği; Googlebot’un (google’ın siteleri indeksleme botu) web sitesini tararken bulduğu diğer sorunların yanı sıra geçersiz bağlantıları tespit eden Google Search Console aracıdır. Alternatif olarak belirli kaynakların kontrolü için bu konuda internette birçok (örn. W3C Link Checker) araç bulunabilmektedir.
Görüldüğü üzere 404 not found hatası için birçok farklı neden bulunmaktadır. Çoğu sorun hızlı bir şekilde tanımlanabilmekte ve bu sorunların çözümü sağlanabilmektedir. Kullanılan içerik yönetim sistemi (Wordpress, Drupal, Joomla, vs.) kılavuzlarında, destek forumlarında ve Google’da 404 not found hatası hakkında bir arama yaparsanız sizin gibi başka kullanıcıların spesifik sorunlara nasıl çözümler bulduğunu kolaylıkla öğrenebilirsiniz.