Web Sitesinde 404 Sayfası Nasıl Yapılır? Özel 404 Hata Sayfası Rehberi
Web sitesinde 404 sayfası, ziyaretçi var olmayan veya artık erişilemeyen bir URL'yi açtığında gösterilen hata sayfasıdır. Doğru hazırlanmış bir 404 sayfası kullanıcıya aradığı içeriğin bulunamadığını açıkça anlatmalı, site içerisinde devam edebileceği bağlantılar sunmalı ve sunucu tarafında gerçek bir HTTP 404 Not Found durum kodu döndürmelidir.
Yalnızca ekrana "Sayfa bulunamadı" yazmak yeterli değildir. Teknik olarak da doğru HTTP durum kodunun gönderilmesi önemlidir.
404 Not Found nedir?
HTTP
404 Not Found, sunucunun istenen kaynağı bulamadığını belirten durum kodudur.Örneğin sitenizde:
/rehberlersayfası bulunuyor ancak kullanıcı:
/rehberler/olmayan-sayfaadresine giriyorsa bu URL için 404 yanıtı verilmesi beklenebilir.
404 hataları internet sitelerinde tamamen ortadan kaldırılması gereken bir durum değildir. Kullanıcı yanlış URL yazabilir veya daha önce bulunan bir içerik kaldırılmış olabilir.
Önemli olan 404 durumlarının doğru yönetilmesidir.
Basit bir 404 HTML sayfası nasıl hazırlanır?
Örneğin temel bir 404 sayfasında şu içerikler bulunabilir:
404 - Sayfa BulunamadıAradığınız sayfa kaldırılmış, taşınmış veya hiç var olmamış olabilir.Ardından kullanıcıya:
- Ana sayfaya dön
- Arama yap
- Kategorilere göz at
gibi seçenekler sunulabilir.
404 sayfasının tasarımının sitenin genel görünümüyle uyumlu olması kullanıcı deneyimini iyileştirir.
404 sayfasında neler bulunmalı?
İyi bir 404 sayfasında genellikle:
- Açık bir "Sayfa bulunamadı" mesajı
- Ana sayfa bağlantısı
- Site içi arama
- Önemli kategorilere bağlantılar
- Normal site menüsü
bulunabilir.
Kullanıcıyı çıkmaz bir sayfada bırakmak yerine site içerisinde devam etmesini sağlayacak seçenekler sunmak daha kullanışlıdır.
404 sayfası HTTP 200 dönmemeli
En önemli teknik hatalardan biri budur.
Kullanıcı olmayan bir URL'ye giriyor ve ekranda 404 sayfasını görüyor olabilir. Ancak sunucu:
200 OKdöndürüyorsa teknik olarak sayfanın başarılı şekilde bulunduğu bildirilmiş olur.
Bu durum genellikle soft 404 problemleriyle ilişkilendirilebilir.
Olmayan bir URL için sunucunun uygun durumda:
404 Not Founddöndürmesi gerekir.
Yani tasarımın 404 görünmesi ile HTTP durum kodunun gerçekten 404 olması farklı şeylerdir.
404 durum kodu nasıl kontrol edilir?
Tarayıcı Developer Tools → Network bölümünü açın.
Olmayan bir URL'ye gidin ve ana document isteğinin durum kodunu kontrol edin.
Beklenen:
404olmalıdır.
Eğer:
200görüyorsanız uygulamanız 404 tasarımını gösteriyor ancak HTTP yanıtını yanlış gönderiyor olabilir.
Node.js ve Express'te 404 nasıl yapılır?
Express kullanılan basit bir uygulamada bütün geçerli route'lar tanımlandıktan sonra en sonda 404 handler kullanılabilir.
Örneğin:
app.use((req, res) => { res.status(404).sendFile(...);});Buradaki önemli nokta:
res.status(404)ile HTTP durum kodunun gerçekten 404 olarak ayarlanmasıdır.
404 handler'ın route sıralamasında doğru yerde bulunması da önemlidir.
Nginx ile özel 404 sayfası
Statik veya Nginx tarafından yönetilen bir web sitesinde özel hata sayfası yapılandırılabilir.
Örneğin:
error_page 404 /404.html;gibi bir yapı kullanılabilir.
Ancak Nginx yapılandırması sitenin mimarisine göre değişebilir.
Node.js, PHP veya başka bir backend arkasında reverse proxy kullanılıyorsa 404 yanıtının hangi katmanda üretildiğini ayrıca değerlendirmek gerekir.
SPA sitelerde 404 problemi
React, Vue veya benzeri Single Page Application yapılarında bütün bilinmeyen URL'leri:
index.htmldosyasına yönlendiren fallback yapılandırmaları kullanılabilir.
Bu durumda tarayıcıya
200 OK dönerken uygulama içerisinde "Sayfa bulunamadı" gösterilebilir.Bu davranış teknik SEO açısından dikkatle ele alınmalıdır.
Özellikle indekslenebilir public sayfalara sahip uygulamalarda gerçek olmayan URL'lerin doğru HTTP durumuyla yönetilmesi önemlidir.
Kullanılan framework'ün routing ve server-side rendering özelliklerine göre çözüm değişebilir.
404 sayfaları sitemap'e eklenmeli mi?
Hayır. Sitemap içerisinde indekslenmesini istediğiniz geçerli URL'lerin bulunması gerekir.
404 dönen URL'lerin sitemap içerisinde tutulması gereksizdir.
Bir sayfayı sildiyseniz sitemap'i de güncelleyin.
Silinen her sayfa ana sayfaya yönlendirilmeli mi?
Genellikle hayır.
Örneğin artık bulunmayan yüzlerce eski URL'nin tamamını:
/ana sayfasına 301 ile yönlendirmek kullanıcı açısından anlamlı olmayabilir.
Eğer eski içeriğin gerçekten karşılığı olan yeni bir URL varsa ilgili sayfaya 301 yönlendirme yapılabilir.
Ancak eşdeğer bir içerik yoksa 404 yanıtı vermek çoğu durumda daha anlamlıdır.
404 mü 301 mi kullanılmalı?
Eski URL'nin içeriği kalıcı olarak yeni bir adrese taşındıysa:
301 yönlendirme
kullanılabilir.
İçerik tamamen kaldırılmış ve yerine geçebilecek anlamlı bir sayfa bulunmuyorsa:
404
uygun olabilir.
Bu iki durum birbirinden farklıdır.
404 ile 410 arasındaki fark nedir?
404 Not Found, kaynağın bulunamadığını belirtir.410 Gone ise kaynağın kaldırıldığını ve artık mevcut olmadığını daha açık biçimde ifade eder.Her silinen sayfa için 410 kullanmak zorunlu değildir. Çoğu web sitesinde standart 404 yönetimi yeterlidir.
404 sayfası noindex olmalı mı?
Gerçek bir 404 yanıtı veren hata sayfasının arama motorlarına başarılı bir içerik sayfası gibi sunulmaması gerekir.
Buradaki temel nokta, URL'nin gerçekten
404 durum kodu döndürmesidir.Yalnızca
noindex ekleyip HTTP yanıtını 200 OK bırakmak doğru 404 yönetiminin yerine geçmez.404 sayfasında reklam gösterilmeli mi?
Teknik olarak tasarıma bağlıdır ancak 404 sayfasının temel amacı kullanıcıya aradığı içeriğin bulunamadığını açık şekilde anlatmak ve doğru yönlendirmeler sunmaktır.
Aşırı reklam, popup veya karmaşık içerik kullanıcıyı daha fazla şaşırtabilir.
404 sayfasını mümkün olduğunca sade ve kullanışlı tutmak genellikle daha iyi bir deneyim sağlar.
404 sayfası SEO'ya zarar verir mi?
Bir web sitesinde bazı 404 URL'lerinin bulunması tek başına olağan dışı değildir.
Asıl incelenmesi gereken durumlar şunlardır:
- Önemli sayfaların yanlışlıkla 404 olması
- Site içi bağlantıların sürekli 404 URL'lerine gitmesi
- Sitemap içerisinde 404 URL'lerinin bulunması
- Silinen içeriklerin yanlış yönetilmesi
- Gerçek 404 yerine 200 dönen soft 404 sayfaları
Bu nedenle amaç "sitede hiçbir zaman 404 olmasın" değil, 404 durumlarını doğru yönetmektir.
Kırık iç bağlantıları düzeltin
Sitenizdeki bir bağlantı artık var olmayan bir sayfaya gidiyorsa kullanıcı sürekli 404 ile karşılaşabilir.
Bu durumda:
1. Kırık bağlantıyı bulun.
2. Yeni doğru URL varsa bağlantıyı güncelleyin.
3. İçerik taşındıysa uygun yönlendirmeyi değerlendirin.
4. İçerik tamamen kaldırıldıysa gereksiz bağlantıyı kaldırın.
Özellikle büyük forum ve içerik sitelerinde düzenli olarak kırık bağlantıları kontrol etmek faydalıdır.
404 sayfası tasarlarken yapılan yaygın hatalar
Kaçınılması gereken bazı durumlar:
- 404 ekranı gösterip
200 OK döndürmek- Kullanıcıyı açıklama olmadan ana sayfaya yönlendirmek
- Bütün eski URL'leri ana sayfaya 301 yapmak
- 404 URL'lerini sitemap içerisinde tutmak
- Site menüsünü tamamen kaldırmak
- Kullanıcıya geri dönüş yolu vermemek
- Hata sayfasını normal içerik gibi indekslenebilir hale getirmek
İyi bir 404 sayfası için kontrol listesi
404 sistemini hazırladıktan sonra:
1. Rastgele olmayan bir URL açın.
2. Özel 404 tasarımının geldiğini doğrulayın.
3. Network bölümünde
404 durum kodunu kontrol edin.4. Ana sayfa bağlantısını test edin.
5. Arama özelliği varsa çalıştığını doğrulayın.
6. Mobil görünümü kontrol edin.
7. Sitemap içerisinde 404 URL'leri olmadığından emin olun.
8. Site içindeki kırık bağlantıları düzeltin.
9. Taşınmış içeriklerde gerekli 301 yönlendirmelerini uygulayın.
Özetle, iyi bir 404 sayfası yalnızca güzel görünen bir hata ekranı değildir. Olmayan URL için sunucunun doğru şekilde
404 Not Found yanıtı vermesi, kullanıcıya ne olduğunu açıkça anlatması ve site içerisinde devam edebileceği seçenekler sunması gerekir.Özellikle SEO açısından en önemli noktalardan biri, 404 görünümü gösteren fakat gerçekte 200 OK döndüren sayfalar oluşturmamaktır.
