18 Eylül 2026

Next.js App Router 404 Tracking ve Redirect Rehberi

Next.js App Router projelerinde `notFound()`, `redirect()` ve `permanentRedirect()` davranışlarını doğru kullanarak 404 trafiğini izleme ve yönlendirme rehberi.

Next.js App Router 404 Tracking ve Redirect Rehberi

Next.js App Router, bulunamayan içerikler ve yönlendirmeler için yerleşik araçlar sunar. Ancak teknik olarak doğru 404 response üretmek ile gerçek kullanıcıların hangi bozuk URL’lere geldiğini analiz etmek iki ayrı problemdir.

notFound() ne zaman kullanılmalı?

Bir route geçerli olduğu halde istenen içerik bulunamıyorsa notFound() doğal çözümdür. Örneğin /products/[slug] route’u vardır fakat veritabanında o slug’a karşılık ürün yoktur. Bu durumda kullanıcıya not-found.tsx üzerinden uygun hata deneyimi gösterilebilir.

Bu URL’nin gerçekten başka bir içeriğe taşındığını biliyorsanız ise 404 üretmek yerine redirect düşünülmelidir.

redirect() ve permanentRedirect() aynı şey değildir

Next.js dokümantasyonu geçici ve kalıcı yönlendirme ihtiyaçlarını ayrı fonksiyonlarla ele alır. Kaynak URL ileride tekrar kullanılacaksa geçici davranış; içerik kalıcı olarak yeni bir adrese taşındıysa kalıcı yönlendirme mantığı daha uygundur.

Örnek senaryo:

/eski-dokuman → /docs/yeni-dokuman

Taşınma kalıcıysa kullanıcı ve arama motoruna bunun kalıcı bir değişiklik olduğu açıkça anlatılmalıdır.

Dynamic route’larda 404’ler neden önemlidir?

Next.js projelerinde 404 trafiği çoğu zaman şu kaynaklardan gelir:

  • Değişen slug’lar

  • Silinen ürün veya blog içerikleri

  • Eski deploy’lardan kalan bağlantılar

  • Yanlış oluşturulmuş internal linkler

  • Google’daki eski indeks URL’leri

  • Dış backlinkler

Sadece not-found.tsx tasarlamak bu kaynakların hangisinin trafik ürettiğini göstermez.

404 tracking nasıl düşünülmeli?

İdeal akış şudur:

  1. Kullanıcı URL’ye gelir.

  2. Uygulama içeriği çözmeye çalışır.

  3. İçerik bulunamazsa URL ve gerekli request bağlamı analiz katmanına aktarılır.

  4. Bilinen yeni bir hedef varsa redirect uygulanır.

  5. Güvenilir hedef yoksa gerçek 404 response korunur.

Bu yaklaşım, her 404’ü rastgele ana sayfaya göndermekten çok daha güvenlidir.

Server-side yaklaşım neden önemli?

Google Search Central mümkün olduğunda server-side redirect kullanımını önerir. Next.js’in server-side routing araçları bu nedenle yalnızca kullanıcı deneyimi değil arama motoru davranışı açısından da önemlidir. JavaScript ile client-side yönlendirmeyi varsayılan çözüm haline getirmek yerine framework’ün sunucu tarafı yetenekleri kullanılmalıdır.

no404 ile Next.js 404 trafiği

no404, Next.js uygulamasında bozuk URL taleplerini merkezi bir panelde görme ve uygun eşleşmeler için redirect kararları üretme senaryosuna oturabilir.

Örneğin:

/products/old-slug → 404 → /products/new-slug eşleşmesi → redirect

Eşleşme yoksa uygulamanın normal notFound() davranışı devam eder.

Sonuç

Next.js App Router’da 404 yönetiminin üç parçası vardır: doğru HTTP davranışı, iyi kullanıcı deneyimi ve gerçek trafik gözlemi. notFound() doğru olmayan içeriği açıkça sonlandırır; redirect fonksiyonları taşınmış içerikleri yeni hedefe götürür; 404 tracking ise hangi URL’lerin gerçekten sorun oluşturduğunu gösterir.

no404 bu üçüncü katmanı sağlayarak Next.js uygulamalarında bozuk URL’leri gerçek trafik verisine göre önceliklendirmeye yardımcı olabilir.

İlgili yazılar