Soft 404, bir sayfanın kullanıcıya "içerik bulunamadı" demesine rağmen sunucunun 200 (başarılı) durum kodu döndürmesidir. İnsan hatayı görür, makine görmez.
Neden sorun?
Arama motoru durum koduna güvenir. 200 gelince "bu sayfa var ve geçerli" varsayar; sayfayı dizine almaya çalışır, düzenli olarak yeniden tarar, tarama bütçesini harcar.
Google bunu genelde fark eder ve Search Console'da "Soft 404" olarak raporlar — ama sayfayı fark edene kadar boşa iş yapmıştır. Fark etmediğinde ise arama sonuçlarında içi boş bir sayfa görünür.
Nereden çıkar?
- Silinen ürün/yazı için "bu içerik kaldırıldı" sayfası göstermek
- Boş arama ya da filtre sonucu sayfaları
- Hatalı adresi ana sayfaya yönlendirmek yerine ana sayfa içeriğini basmak
- İçeriği JavaScript ile yüklerken hata durumunu kod olarak bildirmemek
Doğru çözüm
Duruma göre üç yol var:
- İçerik gerçekten yoksa:
404döndürün. Kalıcı olarak kaldırıldıysa410daha nettir. - İçerik taşındıysa:
301ile gerçek karşılığına yönlendirin — ana sayfaya değil. Alakasız yönlendirme de soft 404 sayılır. - Geçici boşsa: stokta olmayan ürün gibi durumlarda sayfayı 200 ile tutun ama ne zaman döneceğini yazın; sayfa boş kalmasın.
Google'ın kendi kararı
Google, 200 dönen bir sayfayı içeriğine bakarak da soft 404 sayabilir. Sayfada "bulunamadı", "ürün mevcut değil", "sonuç yok" gibi ifadeler geçiyorsa ve gövde neredeyse boşsa, durum kodu doğru olsa bile sayfa soft 404 olarak işaretlenebilir.
Bu, doğru kurulmuş sitelerde bile şaşırtıcı biçimde sık görülür: stokta olmayan ürünler, sonuç vermeyen filtreler, arşivden kalkmış kampanya sayfaları. Search Console → Sayfalar raporunda "Soft 404" satırını düzenli kontrol edin.
Kontrol için tarayıcının ağ sekmesine bakın: "bulunamadı" diyen bir sayfada dönen kod 200 ise soft 404'ünüz var.