Kısa cevap: Soft 404 hatasını düzeltmek için Search Console’daki Sayfa dizine ekleme raporunda Soft 404 listesini açın ve her adresin gerçekte ne olması gerektiğine karar verin. Sayfa artık yoksa sunucunun gerçek bir 404 ya da 410 kodu döndürmesini sağlayın. Sayfa taşındıysa en yakın karşılığına 301 ile yönlendirin. Sayfa gerçekse içeriğini güçlendirin, Google’ın sayfayı sorunsuz oluşturabildiğini kontrol edin ve düzeltmeyi doğrulayın.
Soft 404, Search Console’un en çok kafa karıştıran satırlarından biridir, çünkü ortada bozuk görünen bir şey yoktur. Sayfalar açılır, sunucu “başarılı” yanıtı verir, ama Google bu adreslerin aslında hata sayfası olduğuna karar vermiş ve onları dizinine almamıştır. Bazen Google haklıdır: sitenizde içerik gibi davranan yüzlerce boş adres vardır. Bazen de yanılır ve size satış getiren bir ürün sayfasını çöplerle aynı listeye koyar. İki durumun çözümü birbirinden farklıdır; yanlış olanı uygulamak sorunu büyütür. Bu rehberde soft 404’ün ne olduğunu, sitenizdeki tüm örnekleri nasıl bulacağınızı, en sık karşılaştığımız dokuz nedeni ve her birinin çözümünü adım adım anlatıyoruz.
Soft 404 hatası nedir?
Bir web sunucusunun verdiği her yanıt bir durum koduyla başlar. 200 OK, “istediğiniz sayfa burada” demektir. 404 Not Found ise “bu adreste bir sayfa yok” anlamına gelir. Soft 404 bu ikisinin birbirini tutmadığı durumdur: sunucu 200 kodu gönderir, ama gösterdiği sayfa orada bir şey olmadığını söyler ya da bunu açıkça düşündürür.
Google’ın HTTP durum kodları ve ağ hataları belgesi soft 404’ü şöyle tanımlar: kullanıcıya sayfanın bulunmadığını söyleyen bir sayfanın 200 (başarılı) koduyla dönmesi. Belge, bazı durumlarda bunun ana içeriği olmayan ya da boş bir sayfa olabileceğini de ekler. Tanımın ikinci yarısı önemlidir. Hiçbir sunucu “soft 404” diye bir kod göndermez, çünkü böyle bir durum kodu yoktur. Bu, Google’ın sayfayı okuduktan sonra “hata sayfası gibi davranıyor” diyerek verdiği bir etikettir.
Bir olgu değil de bir değerlendirme olduğu için soft 404 iki biçimde karşınıza çıkar:
- Gerçek soft 404. Sayfa sahiden yoktur ya da boştur, sunucu da bunu başarılı koduyla gizlemektedir. Silinmiş bir ürünün “Üzgünüz, bu ürün artık satışta değil” yazısını 200 koduyla göstermesi en bilinen örnektir.
- Yanlış soft 404. Sayfa gerçektir ve işe yarar, ama bir özelliği Google’ı yanıltmıştır: metin çok azdır, sayfanın ortasında büyük bir “stokta yok” uyarısı vardır ya da Google sayfayı oluştururken içerik yüklenmemiştir.
Herhangi bir soft 404 kaydında ilk iş, bu ikisinden hangisiyle karşı karşıya olduğunuzu anlamaktır. Geri kalan her karar buna göre verilir.
Soft 404, 404 ve 410 arasındaki fark
Bu üçü çoğu zaman aynı sorunun dereceleriymiş gibi anlatılır. Öyle değildir. İkisi dürüst birer yanıttır, biri ise kendi içinde çelişir.
| Yanıt | Sunucunun söylediği | Ziyaretçinin gördüğü | Google’ın yaptığı |
|---|---|---|---|
| 404 Not Found | Bu adreste sayfa yok | Hata sayfası | Adresi dizinden çıkarır, zamanla daha seyrek tarar |
| 410 Gone | Sayfa bilerek kaldırıldı | Hata sayfası | 404 ile aynı şekilde işlem yapar |
| Soft 404 | 200 OK, her şey yolunda | Hata mesajı, boş sayfa ya da yok denecek kadar az içerik | Hata olduğunu tahmin eder, dizine almaz ve adresi yoklamayı sürdürür |
| 503 Service Unavailable | Şu an geçici olarak yanıt veremiyorum | Bakım duyurusu | Adresi şimdilik korur, sonra yeniden gelir |
Düz bir 404 utanılacak bir şey değildir. Sağlıklı her sitede sayfalar silinir ve bunu bildirmenin doğru yolu doğru durum kodudur. Asıl ilgilenmeniz gereken soft 404’tür, çünkü arama motorunu tahmin yürütmek zorunda bırakır.
Soft 404 hatası SEO’ya zarar verir mi?
Soft 404 bir ceza değildir ve diğer sayfalarınızın değerini düşürmez. İncelediğimiz sitelerin birçoğunda Soft 404 listesi, zaten dizinde olmaması gereken adreslerden oluşur; bu durumda tek bedel dağınıklıktır. Yine de üç durumda gerçek bir kayba yol açar.
- İhtiyacınız olan bir sayfa dizine girmez. Etiket bir ürün, kategori ya da hizmet sayfasına yapıştıysa o sayfa arama sonuçlarında görünemez. Pahalı olan durum budur; raporu toptan geçiştirmek yerine satır satır okumanız gerekmesinin nedeni de budur.
- Büyük sitelerde tarama boşa harcanır. Google’ın büyük sitelerde tarama bütçesini yönetme rehberi, soft 404 hatalarının giderilmesini önerileri arasında sayar, çünkü bu sayfalar taranmaya devam eder. Gerçek bir 404 giderek daha seyrek ziyaret edilir; 200 yanıtı veren bir sayfa ise hak etmediği ziyaretleri almayı sürdürür. Birkaç yüz sayfalık bir sitede bunun önemi yoktur. Yüz binlerce adresi olan bir katalogda ise yeni sayfaların keşfini geciktirir. Tarama bütçesi rehberimiz bunun hangi ölçekte sorun olmaya başladığını anlatır.
- Ziyaretçi, sayfa gibi görünen bir çıkmaza girer. Başarılı kodu veren boş bir sayfayı kendi izleme araçlarınız da göremez. Kırık link raporları ve erişilebilirlik kontrolleri durum koduna güvenir ve size her şeyin yolunda olduğunu söyler.
Daha sessiz bir etkisi de vardır. Hangi adres istenirse istensin 200 yanıtı veren bir site, Google’a hangi sayfalarının gerçekten var olduğunu ayırt etme imkânı bırakmaz. Deneyimimize göre bu düzeltildiğinde diğer dizine ekleme raporlarını okumak da kolaylaşır, çünkü geriye kalan kayıtlar bir anlam taşımaya başlar.
Sitenizdeki soft 404 hataları nasıl bulunur?
Search Console, Google’ın şimdiye kadar fark ettiği soft 404’leri gösterir. Durum kodu kontrolü ve site taraması ise henüz fark etmediklerini ortaya çıkarır. Üçünü birlikte kullanın; küçük bir sitede hepsi yarım saat kadar sürer.
1. Search Console’da Sayfa dizine ekleme raporunu açın
Search Console’da Dizin oluşturma › Sayfalar bölümüne girin. “Sayfaların dizine eklenmeme nedenleri” tablosuna inin ve Soft 404 satırına tıklayın. Karşınıza etkilenen sayfa sayısının zaman içindeki grafiği ve örnek adreslerin listesi çıkar; listeyi sağ üstteki düğmeyle dışa aktarabilirsiniz. Google’ın Sayfa dizine ekleme raporu yardım sayfası bu nedeni yukarıdaki tanımla aynı biçimde açıklar: sayfa isteği, Google’ın soft 404 olduğunu düşündüğü bir yanıt döndürmüştür.
Eski yazılarda ve ekran görüntülerinde “Gönderilen URL soft 404 gibi görünüyor” mesajına rastlarsınız. Bu ifade raporun önceki sürümüne aittir ve site haritanızda yer alan bir adresin soft 404 olarak değerlendirildiğini anlatırdı. Güncel raporda tek bir Soft 404 satırı bulunur; sayfanın üstündeki filtreyle bilinen tüm sayfalar ile yalnızca gönderilen sayfalar arasında geçiş yapabilirsiniz. Bu ekranlara yeniyseniz Search Console ile SEO ölçümü yazısı her raporun yerini gösterir.
2. Birkaç adresi denetleyin ve Google’ın ne gördüğüne bakın
Listeden farklı şablonları temsil eden üç dört adres seçin ve her birini URL Denetleme aracında açın. Canlı URL’yi test et düğmesine, ardından Test edilen sayfayı görüntüle bağlantısına basın ve iki sekmeye bakın. Ekran görüntüsü sekmesi sayfanın Google tarafından nasıl oluşturulduğunu gösterir. “Daha fazla bilgi” sekmesinde ise yüklenemeyen sayfa kaynakları listelenir.
Gerçek soft 404’ü yanlış olandan ayırmanın en hızlı yolu budur. Ekran görüntüsünde bir hata mesajı ya da boş bir şablon varsa Google haklıdır. İçeriğinizin olması gereken yerde boş bir alan görüyorsanız sorun oluşturma (render) aşamasındadır. Sayfa sizin tarayıcınızdaki hâliyle aynı görünüyorsa zayıf bulunan şey içeriğin kendisidir.
3. Gerçek durum kodunu kontrol edin
Tarayıcı durum kodunu size göstermez; bu yüzden doğrudan bakmanız gerekir. Bir adresi HTTP durum kodu kontrol aracına yapıştırın, aradaki her adımı ve son kodu görün. Ardından bu rehberdeki en yararlı testi yapın: var olması mümkün olmayan bir adres isteyin, örneğin https://ornek.com/boyle-bir-sayfa-yok-73914. Doğru yapılandırılmış bir site buna 404 yanıtı verir. Sizinki 200 veriyorsa ya da ana sayfaya yönlendiriyorsa, sitedeki her yanlış yazılmış link ve her silinmiş sayfa keşfedilmeyi bekleyen bir soft 404’tür.
Komut satırını tercih ediyorsanız aynı bilgiyi tek bir istekle alırsınız:
curl -I https://ornek.com/boyle-bir-sayfa-yok-73914Yanıtın ilk satırında HTTP/2 404 ya da HTTP/1.1 404 Not Found yazmalıdır.
4. Siteyi tarayıp boş ve neredeyse boş sayfaları bulun
Search Console örnek adresler gösterir; etkilenen sayfaların tamamını göstermeyebilir. Kalanını bulmak için siteyi teknik site denetimi ile tarayın ve 200 yanıtı veren sayfaları kelime sayısına göre sıralayın. Birkaç on kelimelik, aynı başlığı taşıyan ya da “sonuç bulunamadı” gibi ifadeler içeren sayfalar adaylarınızdır. Tek bir adresi daha yakından incelemek isterseniz zayıf içerik kontrol aracı sayfanın ne kadarının şablon, ne kadarının ana içerik olduğunu gösterir.
Büyük sitelerde sunucu günlükleri bir bakış açısı daha ekler: hiçbir değeri olmadığı hâlde Googlebot’un dönüp dolaşıp istediği adresler. Bunları nasıl okuyacağınızı SEO için log dosyası analizi yazısında bulabilirsiniz.
Düzeltmeden önce sorun: bu sayfa var olmalı mı?
Her soft 404, durum kodu ile içerik birbirini tutar hâle getirilerek düzeltilir. Bunun yalnızca üç yolu vardır ve aralarındaki seçimi tek bir soru yapar: bu adres bir sayfa olmayı hak ediyor mu?
| Adres gerçekte ne | Doğru çözüm | Kaçınmanız gereken |
|---|---|---|
| Silinmiş ya da hiç var olmamış, yerine geçecek sayfa yok | 404 ya da 410 döndürün | Ana sayfaya yönlendirmek |
| Taşınmış, adı değişmiş ya da başka sayfayla birleştirilmiş | En yakın karşılığına 301 yönlendirmesi | 302 kullanmak ya da ilgisiz bir sayfaya yönlendirmek |
| Doğası gereği boş: sonuçsuz site içi arama, boş filtre | 404 döndürün ya da noindex ile dizin dışında tutun | Dolgu metinle şişirmek |
| Gerçek ama içeriği çok az olan sayfa | Özgün ana içerik ekleyin ya da güçlü bir sayfayla birleştirin | Hiçbir şeyi değiştirmeden yeniden dizine ekleme istemek |
| Gerçek ama Google’ın oluşturamadığı sayfa | Kaynakların engelini kaldırın, oluşturma sorununu giderin | Google’ın zaten göremediği içeriği yeniden yazmak |
| Geçici olarak kullanılamayan sayfa | Kısa kesintilerde 503 döndürün ya da sayfayı tam hâliyle yayında tutun | 200 yanıtı veren boş bir sayfa |
Ortadaki sütunda neyin bulunmadığına dikkat edin: boş bir sayfayı 200 kodunda bırakıp Google’dan kararını gözden geçirmesini istemek diye bir çözüm yoktur. Ya sayfa değişecektir ya da durum kodu.
Soft 404 hatasının 9 nedeni ve çözümleri
Aşağıdaki nedenleri karşılaşma sıklığımıza göre sıraladık. Soft 404 listesi uzun olan sitelerin çoğunda bunlardan iki ya da üçü bir arada bulunur; genellikle her şablonda bir tane.
1. “Sayfa bulunamadı” sayfası 200 kodu veriyor
En bilinen durum budur. Sitenin özenle hazırlanmış bir hata sayfası vardır, ama sunucu onu başarılı koduyla gönderir. Genellikle üç nedenden biri söz konusudur: hata sayfası /404.html adresine yönlendirme olarak tanımlanmıştır, uygulamadaki genel bir kural tanımadığı her adrese aynı şablonla yanıt veriyordur ya da elle yazılmış bir betik durum kodunu ayarlamadan “bulunamadı” yazdırıyordur.
Çözüm: sunucu, hata sayfasını gösterirken istenen adreste 404 kodu göndermelidir. Tarayıcının adres çubuğundaki adres değişmemelidir. Apache, Nginx, IIS ve PHP için gereken ayarları aşağıdaki platform bölümünde bulacaksınız. Ayarı yaptıktan sonra bir önceki bölümdeki uydurma adres testini tekrarlayın.
2. Silinen sayfalar ana sayfaya yönlendiriliyor
Eklentiler ve iyi niyetli geliştiriciler, “link değeri boşa gitmesin” diye var olmayan her adresi ana sayfaya yönlendirir. Bu yöntem işe yaramaz. Google’ın arama ekibi, kaldırılmış bir sayfadan ilgisiz bir sayfaya, özellikle de ana sayfaya yapılan yönlendirmenin soft 404 sayıldığını yıllardır söylüyor. Ziyaretçi açısından da durum iç açıcı değildir: belirli bir çay makinesi için sonuca tıklamış, her şeyin satıldığı bir sayfaya düşmüştür.
Çözüm: toptan yönlendirme kuralını kapatın. Yalnızca gerçek bir karşılığı olan adresleri yönlendirin: ürünün yeni modeli, birleştirdiğiniz yazı ya da benzer ürünleri hâlâ listeleyen üst kategori gibi. Geri kalanların 404 vermesine izin verin. Google’ın yönlendirmeler ve Google Arama sayfası kalıcı yönlendirmelerin nasıl yorumlandığını açıklar; doğru türü seçmek için 301 ve 302 yönlendirmeleri yazısına bakabilirsiniz.
3. Zayıf ya da boş sayfalar
Bir sayfa, içinde tek bir hata mesajı bulunmasa da bu etiketi alabilir. Ana alanda bir cümle, tek bir görsel ya da yalnızca bir başlık varsa sayfanın neredeyse tamamını çevresindeki şablon (üst bölüm, menü, alt bilgi) oluşturur ve Google, sitenin diğer bütün adreslerinde gördüğü kabuğu bir kez daha görür. Hiç yazısı olmayan yazar arşivleri, tek içerikli etiket sayfaları, yalnızca şehir adı değişen hizmet bölgesi sayfaları ve “sonra doldururuz” diye yayına alınan sayfalar bu gruba girer.
Çözüm: sayfanın bir görevi olup olmadığına karar verin. Varsa bu görevi yerine getirecek kadar özgün içerik ekleyin: gerçek bir açıklama, teknik özellikler, insanların satın almadan önce sorduğu soruların yanıtları. Yoksa sayfayı kaldırın ya da daha güçlü bir sayfayla birleştirin. Bu kararı adres adres değil de bütün bir bölüm için düzenli biçimde vermek istiyorsanız içerik denetimi rehberini izleyin.
4. Sonuç vermeyen site içi arama, filtre ve etiket sayfaları
Bir sorguyla üretilen her sayfa boş çıkabilir. Yanlış yazılmış bir kelimeyle yapılan site içi arama, 49 numara kırmızı ayakkabı filtresi, son yazısını da kaybetmiş bir etiket: hepsi 200 kodu veren ve hiçbir şey bulunamadığını söyleyen birer adres üretir. Bu tür adresler sınırsız sayıda oluşturulabildiği için Soft 404 listesinin en büyük bölümünü çoğu zaman bunlar oluşturur.
Çözüm: bir listeleme sayfası sıfır sonuç veriyorsa 404 kodu döndürün. Altyapınız buna izin vermiyorsa boş sonuç sayfalarına noindex yönergesi ekleyin. Daha da iyisi, bu adreslerin hiç üretilmemesini sağlamaktır: içinde ürün olmayan filtre birleşimlerine link vermeyin, site içi arama sonuçlarını da taramanın dışında tutun. Seçenekleri ve yan etkilerini filtreli gezinme (faceted navigation) ile noindex, nofollow ve Disallow yazılarında ayrıntılı olarak ele aldık.
5. Stokta olmayan ve satıştan kalkan ürünler
Yanlış soft 404’ü en çok e-ticaret siteleri üretir. Bir ürün tükendiğinde birçok tema fiyatı ve sepete ekle düğmesini kaldırıp yerine büyük bir “Bu ürün şu anda temin edilememektedir” uyarısı koyar; bazıları ürün açıklamasını da gizler. Hata sayfalarını tanımak üzere eğitilmiş bir algoritma için ortaya çıkan sayfayı bir hata sayfasından ayırmak zordur.
Çözüm: iki durumu birbirinden ayırın.
- Ürün geçici olarak tükendiyse sayfayı eksiksiz bırakın: başlık, görseller, açıklama, özellikler ve yorumlar yerinde kalsın. Stok durumunu sakin bir dille belirtin, “gelince haber ver” seçeneği sunun, benzer ürünleri gösterin ve ürün yapısal verisinde stok durumunu “stokta yok” olarak işaretleyin. Sayfa işe yaramaya devam ettiği için dizinde de kalır.
- Ürün kalıcı olarak satıştan kalktıysa ve yerini alan bir ürün varsa 301 ile ona yönlendirin. Yoksa 404 ya da 410 döndürün, adresi site haritasından ve iç linklerden çıkarın.
Stok değiştiğinde de ayakta kalan ürün sayfalarını nasıl kuracağınızı e-ticaret ürün sayfası SEO’su yazısında anlattık.
6. Google içeriği oluşturamıyor
Sayfalarını JavaScript ile kuran sitelerde sunucunun gönderdiği HTML, betikler çalışana kadar neredeyse boştur. Bu betikler robots.txt ile engellenmişse, hata verip duruyorsa ya da zaman aşımına uğrayan bir API çağrısına bağlıysa Google boş bir kabuk oluşturur ve sayfayı buna göre sınıflandırır. Google’ın soft 404 konusundaki kendi önerileri de, iyi bir sayfa bu etiketi aldığında bakılacak şeyler arasında engellenen ya da yüklenemeyen kaynakları ve yavaş açılan sayfaları sayar.
Çözüm: URL Denetleme aracındaki ekran görüntüsünü kendi tarayıcınızda gördüğünüzle karşılaştırın. CSS, JavaScript ve API yollarının taranabildiğini robots.txt test aracıyla doğrulayın ve yüklenemeyen kaynaklar listesine bakın. Mümkün olan her yerde ana içeriği sunucu tarafında oluşturma ya da ön oluşturma yöntemiyle ilk HTML yanıtının içinde gönderin. Oluşturma sürecinin aşamalarını JavaScript SEO rehberi adım adım açıklar.
7. Her adrese 200 yanıtı veren tek sayfalık uygulamalar
Tek sayfalık bir uygulama (SPA) genellikle tek bir dosyadan sunulur. Sunucu hangi adres istenirse istensin aynı index.html dosyasını gönderir; neyin gösterileceğine, kendi “sayfa bulunamadı” ekranı da dahil, tarayıcıdaki yönlendirici karar verir. Dışarıdan bakıldığında akla gelebilecek her adres vardır ve 200 kodu döndürür.
Çözüm: Google’ın JavaScript SEO temelleri belgesi iki yöntemi kabul eder. Ya JavaScript ile, sunucunun gerçek bir 404 kodu verdiği bir adrese yönlendirirsiniz ya da hata ekranına JavaScript ile <meta name="robots" content="noindex"> etiketini eklersiniz. Uygulama sunucu tarafında oluşturuluyorsa durum kodunu çatının kendi yöntemiyle ayarlayın; üçü arasında en temiz çözüm budur.
8. 200 koduyla sunulan hata ve bakım sayfaları
Veritabanı bağlantısı koptuğunda ya da yeni sürüm yüklenirken bazı uygulamalar düzgün bir özür sayfası gösterir ve bunu başarılı koduyla gönderir. Googlebot tam o sırada gelirse, istediği her adresin içeriğini “Kısa süre sonra yeniden buradayız” olarak okur. Gerçek sayfalar soft 404 etiketi alır ya da daha kötüsü, bu özür metniyle dizine girer.
Çözüm: planlı bakımlar ve geçici arızalar 503 Service Unavailable koduyla, mümkünse Retry-After başlığı eklenerek yanıtlanmalıdır. Google bu durumda elindeki kopyayı korur ve sonra yeniden gelir. Bu süreleri kısa tutun: günlerce süren bir 503 sonunda kalıcı hata gibi değerlendirilir. Sunucunun ne gönderdiğini HTTP başlık kontrol aracıyla doğrulayabilirsiniz.
9. Süresi dolan ilanlar, giriş duvarları ve var olmayan sayfa numaraları
Son grup, kökü aynı olan birkaç küçük durumu bir araya getirir. Yayından kalkmış ama hâlâ “Bu ilan yayında değil” yazan bir kabuk gösteren iş ya da emlak ilanı. Oturum açmamış ziyaretçiye, dolayısıyla Googlebot’a da 200 koduyla giriş formu gösteren üyelere özel sayfa. Yalnızca on iki sayfası olduğu hâlde ?sayfa=250 isteğine boş bir listeyle yanıt veren arşiv.
Çözüm: süresi dolan ilanlar için kural, satıştan kalkan ürünlerdekiyle aynıdır: gerçek bir karşılığı varsa ona yönlendirin, yoksa 404 ya da 410 döndürün. Giriş gerektiren sayfalar ya 401 veya 403 kodu vermeli ya da giriş sayfasına yönlendirmeli; site haritasında da yer almamalıdır. Son sayfadan büyük sayfa numaraları 404 döndürmelidir; ayrıntılar sayfalama (pagination) SEO yazısında.
Platforma göre soft 404 çözümü
İlke her yerde aynıdır: hata sayfası istenen adreste gösterilir ve yanıt 404 kodunu taşır. Değişen yalnızca yazım biçimidir.
Apache
ErrorDocument yönergesini site içi bir yola yöneltin:
ErrorDocument 404 /404.htmlYaygın hata, ErrorDocument 404 https://ornek.com/404.html gibi tam bir adres yazmaktır. Apache’nin ErrorDocument belgesi bu konuda açıkça uyarır: uzak bir adres verildiğinde sunucu yönlendirme gönderir ve ziyaretçiye özgün hata kodu ulaşmaz. Sitedeki bütün eksik sayfaları soft 404’e çevirmek için bu tek satır yeterlidir. Kuralları elle yönetiyorsanız .htaccess dosyasında, tanınmayan yolları ana sayfaya gönderen bir yeniden yazma kuralı da bulunmamalıdır. Temiz yönlendirme kurallarıyla başlamak için .htaccess oluşturucu işinizi görür.
Nginx
Doğru yönerge özgün durum kodunu korur:
error_page 404 /404.html;İki kullanım soft 404’e yol açar. error_page 404 =200 /404.html; satırı, Nginx’in error_page belgesinde anlatıldığı gibi kodu açıkça 200 olarak değiştirir. Tek sayfalık uygulamalar için kullanılan try_files $uri $uri/ /index.html; satırı ise hangi adres istenirse istensin uygulama kabuğunu 200 koduyla döndürür; bu da sizi yedinci nedene geri götürür.
IIS ve ASP.NET
web.config dosyasında hata sayfasını yönlendirerek değil, çalıştırarak sunun:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<error statusCode="404" path="/404.html" responseMode="ExecuteURL" />
</httpErrors>responseMode="Redirect" kullanıldığında ya da eski ASP.NET customErrors ayarı varsayılan yönlendirme kipinde bırakıldığında ziyaretçi, 302 koduyla 200 yanıtı veren bir hata sayfasına gönderilir. Windows sunucularda gördüğümüz soft 404’lerin en sık rastlanan kaynaklarından biri budur.
PHP ve özel yazılımlar
Durum kodunu herhangi bir çıktı gönderilmeden önce ayarlayın, ardından hata şablonunu ekleyin:
http_response_code(404);
include __DIR__ . '/404.php';
exit;Tipik hata şudur: ürün ya da yazı betiği bir kimlik numarasını arar, kayıt bulamaz ve normal sayfa düzeninin içine “bulunamadı” yazdırır. Sonuçsuz kalabilecek her sorgunun, durum kodunu ayarlayan bir dalı olmalıdır.
WordPress
WordPress, tanımadığı adresler için doğru 404 kodunu kendiliğinden gönderir. Bu nedenle buradaki soft 404’ler genellikle başka yerlerden kaynaklanır:
- Yönlendirme eklentisi. “Tüm 404 sayfalarını ana sayfaya yönlendir” türünden bir seçenek açıksa kapatın.
- Sonuçsuz site içi arama sayfaları. Bunlar 200 kodu verir. SEO eklentinizde arama sonuç sayfalarını noindex olarak ayarlayın.
- Yazısı olmayan ya da tek yazılı etiket, kategori ve yazar arşivleri. Kullanmadığınız terimleri silin, bakımını yapmadığınız arşiv türlerini noindex yapın.
- Ek dosya (attachment) sayfaları. Tek bir görsel içerir, metin içermez. Bunları dosyanın kendisine ya da bağlı olduğu yazıya yönlendirin; SEO eklentilerinin çoğunda bunun için bir ayar bulunur.
- Sayfa oluşturucu ya da önbellek. Bir hata sayfasını saklayıp normal sayfa gibi sunmaya devam edebilir. Nedeni giderdikten sonra önbelleği temizleyin.
Hazır e-ticaret altyapıları ve JavaScript çatıları
Hazır e-ticaret altyapılarında sunucu ayarlarına erişemezsiniz; altyapı da silinen ürünler için 404 kodunu zaten kendisi gönderir. Buralarda gördüğümüz soft 404’ler neredeyse her zaman yanlış türdendir: tükenen ürünler, boş kategoriler ve zayıf sayfalar. Üçüncü, dördüncü ve beşinci nedenlerde anlatıldığı gibi içerik ve tema üzerinde çalışmanız gerekir. Tema ayarlarında “stokta olmayan ürünleri gizle” seçeneği açıksa, bu ürünlerin adreslerinin ne yanıt verdiğini ayrıca kontrol edin.
Sunucu tarafında oluşturma yapan JavaScript çatılarında, başarılı bir yanıtın içine “kayıt bulunamadı” bileşeni yerleştirmek yerine çatının eksik kaydı bildirme yöntemini kullanın (örneğin Next.js’te notFound() işlevi). Veriye bağlı sayfalarda bu kontrolü sunucuda, yanıt gönderilmeye başlamadan önce yapın.
404 sayfanızı işe yarar hâle getirin
Doğru durum kodunu göndermek, ziyaretçiyi yüzüstü bırakmak anlamına gelmez. İyi bir hata sayfası sorunu kabul eder ve bir çıkış yolu sunar; bunların ikisini de 404 kodu verirken yapar. Böyle bir sayfada şunlar bulunmalıdır:
- sayfanın bulunamadığını sitenin kendi üslubuyla, açıkça söyleyen bir cümle;
- ziyaretçinin hâlâ sizin sitenizde olduğunu gösteren olağan üst bölüm ve menü;
- bir arama kutusu ile en çok ziyaret edilen bölümlere ya da ürünlere giden linkler.
Bulunmaması gereken tek şey, birkaç saniye sonra devreye giren otomatik yönlendirmedir; bu, aynı sorunu yalnızca gecikmeli olarak yeniden üretir.
Ardından bu sayfanın ne sıklıkla görüldüğünü azaltın. Kaldırılmış adreslere giden iç linkler tümüyle sizin elinizdedir ve kırık link kontrol aracı bunları sayfa sayfa listeler. Temizliğin tamamını kırık linkleri bulma ve düzeltme rehberinde anlattık.
Düzeltmeyi doğrulayın: ne kadar sürer?
Bir şablonu onardıktan sonra Google’a haber verin, sonra da sonucu kontrol edin. Doğrulama atlandığında, beş adreste işe yarayan bir düzeltmenin beş bin adreste de işe yaradığı varsayılır.
- Durum kodunu yeniden test edin. Etkilenen adreslerden bir örneklemi HTTP durum kodu kontrol aracından geçirin. Her biri artık hedeflediğiniz kodu göstermelidir: 404, 410, doğru hedefe giden tek bir 301 ya da gerçek içerik kazanmış bir sayfa için 200.
- Canlı test yapın. URL Denetleme aracında, onardığınız bir sayfa için Canlı URL’yi test et düğmesine basın ve ekran görüntüsüne yeniden bakın. Dizine girmesi gereken sayfalar için dizine ekleme isteğinde bulunun.
- Site haritasını temizleyin. Site haritasında yalnızca 200 kodu veren ve dizine eklenebilen adresler bulunmalıdır. 404’e ya da yönlendirmeye çevirdiğiniz her adresi çıkarın ve sonucu site haritası doğrulayıcı ile kontrol edin. Bunun rapor açısından neden önemli olduğunu XML site haritası rehberi açıklar.
- Düzeltmeyi Doğrula düğmesine basın. Sayfa dizine ekleme raporunda Soft 404 satırını açın ve doğrulamayı başlatın. Google bildiği adresleri yeniden kontrol eder ve ilerlemeyi raporda gösterir.
- Sonucu doğru okuyun. Artık 404 veren adresler “Bulunamadı (404)” satırına, yönlendirdikleriniz “Yönlendirmeli sayfa” satırına geçer. Bu adresler dizin dışında kalmaya devam eder; istediğiniz de zaten buydu. İçeriğini geliştirdiğiniz sayfalar ise dizine eklenenler arasına geçmelidir.
Peki ne kadar sürer? Google’ın yardım sayfasına göre doğrulama genellikle iki haftaya kadar sürer, bazı durumlarda daha da uzayabilir. Aşağıdaki süreler küçük ve orta ölçekli sitelerde gözlemlediğimiz aralıklardır, Google’ın yayımladığı rakamlar değildir. Seyrek taranan adresler bu aralıkların üst ucunda yer alır.
| Yaptığınız değişiklik | Rapora yansıması için geçen olağan süre |
|---|---|
| Durum kodunun 404 ya da 410 yapılması | Birkaç gün ile üç hafta arası |
| Eşdeğer sayfaya 301 yönlendirmesi | Bir ile üç hafta arası |
| Gerçek bir sayfaya içerik eklenmesi | İki ile altı hafta arası; Google sayfayı yeniden tarayıp değerlendirmelidir |
| Oluşturma ya da engellenen kaynak sorununun giderilmesi | Bir ile dört hafta arası |
Geliştirdiğiniz sayfalar Soft 404 grubundan çıkıp başka bir dizin dışı nedenin altında görünürse sıradaki durak “Tarandı – şu anda dizine eklenmedi” sorununun çözümü yazısıdır. O yazı, Google’ın okuyabildiği ama dizinde tutmamayı seçtiği sayfaları ele alır.
Gerçekçi bir örnek: bir ilan sitesinde 2.300 soft 404
Aşağıdaki senaryo sık karşılaştığımız durumlardan derlenmiştir; işletme ve rakamlar örnek amaçlıdır. İzmir merkezli bir emlak ilan sitesi, yaklaşık 9.000 yayındaki ilanıyla çalışıyor. Site sahibi, yeni eklenen ilanların Google’da görünmesinin eskiden bir iki gün sürerken artık bir haftayı bulduğunu fark ediyor. Sayfa dizine ekleme raporunda Soft 404 satırı 2.300 adres gösteriyor; bir yıl önce bu sayı yüzün altındaymış.
Dışa aktarılan liste adres kalıbına göre sıralandığında dört gruba ayrılıyor:
| Grup | Adres sayısı | Sorun | Çözüm |
|---|---|---|---|
| Yayından kalkan ilanlar | 1.450 | İlan kapandığında sayfa 200 koduyla “Bu ilan yayında değil” yazısı gösteriyordu | Kapanan ilanlar 410 döndürüyor; hata sayfasında aynı mahalledeki güncel ilanlar öneriliyor |
| Sonuçsuz arama sayfaları | 520 | İlan bulunmayan ilçe ve oda sayısı birleşimleri 200 veriyor, alt bilgideki link bloğundan da link alıyordu | Sıfır sonuçta 404; boş birleşimlere giden linkler kaldırıldı |
| Tek fotoğraflı, açıklamasız ilanlar | 250 | Ana alanda yalnızca bir fotoğraf ve fiyat vardı | İlan formunda açıklama için alt sınır ve en az üç fotoğraf koşulu getirildi; mevcut ilanların sahiplerine hatırlatma gönderildi |
| Üyelere özel sayfalar | 80 | Favoriler ve mesaj sayfaları oturum açmamış ziyaretçiye 200 koduyla giriş formu gösteriyordu | Giriş sayfasına yönlendirme; adresler site haritasından çıkarıldı |
Siteye asıl zararı veren ilk gruptu. Her gün onlarca ilan kapanıyor, kapanan her ilan da Google’ın gözünde “hâlâ var olan” ve yeniden yoklanması gereken bir sayfa olarak kalıyordu. Tarama, yeni ilanlar yerine ölü adreslere gidiyordu. Üçüncü gruptaki 250 ilan ise gerçek sayfalardı; yalnızca sayfa sayılacak kadar içerikleri yoktu.
Doğrulama başlatıldıktan beş hafta sonra Soft 404 sayısı 150’nin altına inmişti. Kapanan ilanlar ve boş arama sayfaları Bulunamadı satırına taşınmış, açıklaması tamamlanan ilanların çoğu dizine girmişti. Site sahibinin en başta şikâyet ettiği gecikme de kısalmıştı: yeni ilanlar yeniden birkaç gün içinde dizine eklenmeye başlamıştı. Bu temizlikte teknik olarak zor bir adım yoktu. İşin zor kısmı, dört ayrı soruna tek bir çözüm uygulama kolaycılığına kapılmamaktı.
Soft 404 düzeltirken sık yapılan hatalar
- Her şeyi ana sayfaya yönlendirmek. 404 raporunu boşaltır, Soft 404 raporunu doldurur.
- Var olmaması gereken sayfalara dolgu metin eklemek. Boş bir arama sayfasına eklenen iki yüz kelime onu sayfa yapmaz. Doğru durum kodunu döndürün.
- Adresleri robots.txt ile engellemek. Google bu adresleri artık tarayamaz, düzelttiğiniz durum kodunu da göremez; adresler aylarca listede kalabilir. Dizinden düşene kadar taranmalarına izin verin. Bu dosyanın ne işe yarayıp ne işe yaramadığını robots.txt rehberi anlatır.
- Hiçbir şey değişmeden Düzeltmeyi Doğrula düğmesine basmak. Doğrulama, Google’ın yeniden kontrol ettiği ilk adreste başarısız olur; siz de birkaç hafta kaybedersiniz.
- Her soft 404’ü yok edilmesi gereken bir hata saymak. Soft 404 satırından Bulunamadı (404) satırına geçen bir adres yeni bir sorun değil, başarılı bir düzeltmedir.
- Hâlâ link ya da ziyaret alan sayfaları silmek. Bir adres için 404 döndürmeden önce Performans raporuna ve backlinklerine bakın. Değerli adresler, gerçek bir karşılığa yönlendirilmeyi hak eder.
- Şablonu değil adresi düzeltmek. Listede bin kayıt varsa arkasında büyük olasılıkla üç dört neden vardır. Şablonu onardığınızda bin kayıt da kendiliğinden düzelir.
- Kalıcı taşınma için 302 kullanmak. Geçici yönlendirme Google’a eski adresi korumasını söyler; oysa kurtulmak istediğiniz adres odur.
- Yeniden tasarım ya da taşınmadan sonra testi tekrarlamamak. Yeni temalar ve yeni sunucular hata yönetimini sıfırlar. Uydurma adres testini yayına alma listenize ekleyin; site taşıma SEO kontrol listesi bu listenin geri kalanını verir.
Sıkça sorulan sorular
Search Console’da soft 404 ne anlama gelir?
Google adresi istemiş, sunucudan 200 başarılı kodunu almış ve içeriğe bakarak sayfanın aslında bir hata sayfası olduğu sonucuna varmıştır: sayfa bir şeyin bulunamadığını söylüyordur, boştur ya da neredeyse boştur. Google bu sayfaları dizinine eklemez. Soft 404 sunucunuzun gönderdiği bir kod değil, Google’ın değerlendirmesidir.
404 ile soft 404 arasındaki fark nedir?
404 dürüst bir yanıttır: sunucu o adreste sayfa olmadığını bildirir. Soft 404 ise bir çelişkidir: sunucu isteğin başarılı olduğunu söylerken sayfa hata gösterir ya da gerçek bir içerik taşımaz. Google 404 kodunu sorunsuz işler; soft 404’te tahmin yürütmek zorunda kalır ve adresi yoklamayı sürdürür.
Soft 404 hataları sıralamamı düşürür mü?
Sitenin geneline ceza getirmez. Zarar yereldir: soft 404 olarak etiketlenen gerçek bir sayfa dizine girmez ve sıralanamaz. Çok büyük sitelerde binlerce soft 404, yeni ve güncellenen sayfalara ayrılması gereken taramanın bir bölümünü de tüketir.
Soft 404 hatasının Search Console’dan kalkması ne kadar sürer?
Düzeltmeden sonra Google’ın adresi yeniden taraması gerekir. Google, doğrulamanın genellikle iki haftaya kadar sürdüğünü, bazen daha uzun sürebildiğini belirtir. Gözlemlerimize göre durum kodu değişiklikleri birkaç gün ile üç hafta arasında rapora yansır; içeriği geliştirilen sayfaların yeniden değerlendirilmesi ise iki ile altı hafta alır.
Soft 404 veren sayfaları ana sayfaya yönlendirmeli miyim?
Hayır. Google, kaldırılmış bir sayfadan ilgisiz bir sayfaya, özellikle ana sayfaya yapılan yönlendirmeyi soft 404 olarak değerlendirir; yani bir kazancınız olmaz. Yalnızca aynı ihtiyacı karşılayan bir sayfaya, örneğin ürünün yeni modeline ya da birleştirdiğiniz yazıya yönlendirin. Geri kalanlar için 404 ya da 410 döndürün.
İçeriği olan bir sayfa neden soft 404 olarak işaretlenir?
En sık rastlanan nedenler şunlardır: ana içeriğin çok az olması, “mevcut değil” ya da “sonuç bulunamadı” gibi hata mesajını andıran ifadeler ve betikler engellendiği ya da hata verdiği için içeriğin Google’ın oluşturduğu sayfada yüklenmemesi. Hangisinin geçerli olduğunu URL Denetleme aracındaki ekran görüntüsünden anlayabilirsiniz.
Stokta olmayan ürün sayfası soft 404 sayılır mı?
Sayfada “temin edilemiyor” uyarısından başka pek bir şey kalmıyorsa sayılabilir. Açıklamayı, görselleri ve yorumları eksiksiz bırakın, stok durumunu açıkça belirtin ve benzer ürünler önerin. Ürün kalıcı olarak satıştan kalktıysa yerini alan ürüne yönlendirin ya da 404 veya 410 döndürün.
Sitemin soft 404 üretip üretmediğini nasıl test ederim?
Var olması mümkün olmayan bir adres isteyin, örneğin alan adınızın sonuna rastgele bir dizi ekleyin ve durum kodunu bir HTTP durum kodu kontrol aracıyla ya da curl -I komutuyla görün. Doğru yapılandırılmış bir site 404 yanıtı verir. 200 kodu ya da ana sayfaya yönlendirme alıyorsanız siteniz her eksik sayfa için soft 404 üretiyordur.
Adresi değil, şablonu düzeltin
Soft 404 hataları tek bir kurala dayanır: durum kodu ile içerik aynı şeyi söylemelidir. Artık var olmayan bir sayfa bunu 404 ya da 410 koduyla bildirmelidir. Taşınan bir sayfa 301 ile gerçek karşılığını göstermelidir. Sıralanmayı hak eden bir sayfa ise sayfa sayılacak kadar içerik taşımalı ve Google onu oluşturabilmelidir. Search Console’dan aldığınız listeyi adres kalıbına göre sıralayın, arkasındaki üç dört nedeni bulun, her birini şablon düzeyinde onarın ve doğrulamanın tamamlanmasını bekleyin.
Başlamak için beş dakikanız yeterli. Kendi alan adınızda uydurma bir adresi HTTP durum kodu kontrol aracına yazın ve yanıtın 404 olup olmadığına bakın. Ardından teknik site denetimi ile 200 kodu verdiği hâlde içinde neredeyse hiçbir şey bulunmayan sayfaları listeleyin. Tek bir adresin durum kodunu, dizine eklenebilirliğini ve içerik kontrollerini aynı raporda görmek isterseniz hepsi bir arada SEO denetimi aracını kullanın. Soft 404 satırını kontrol altına aldıktan sonra teknik SEO denetimi kontrol listesi ile devam edin; böylece yayında bıraktığınız sayfaların sıralanması için gereken koşulları da tamamlamış olursunuz.