1. Server Components'i client'a kaymak için 'use client' direktifini cömertçe kullanmak
App Router'ın değer önerisi server-side rendering ile RSC'lerin payload'ı küçültmesidir. Tüm sayfayı 'use client' ile sarmak bu kazanımı sıfırlar. Önce data fetch ve compose'u server'da yapın, sadece etkileşim isteyen yaprakları client'a taşıyın.
2. fetch() cache stratejisini netleştirmemek
Default cache davranışı versiyondan versiyona değişti. Her fetch çağrısında { cache: 'force-cache' | 'no-store' } veya { next: { revalidate: 60 } } değerini bilinçli verin. 'şimdilik default' yaklaşımı production'da sürpriz hatalara yol açar.
3. metadata'yı sayfa başına generate etmemek
OG images, dynamic title, canonical URL — bunların her biri SEO ve sosyal paylaşımı doğrudan etkiler. generateMetadata fonksiyonu bedava — kullanın.
4. Image bileşenini kullanmadan PNG/JPG koymak
next/image ile WebP/AVIF, lazy load, responsive srcset hepsi hazır. Standart <img> ile bunlardan vazgeçiyorsunuz; LCP %30-50 daha kötü.
5. Bundle analyzer'ı çalıştırmamak
Yılda iki kez @next/bundle-analyzer ile JS payload'ı kontrol edin. Tek bir markdown lib veya date-fns full import gigayı kapatır.
6. ISR yerine SSR'ı varsayılan yapmak
Landing, blog, marketing sayfaları için ISR (revalidate) yeterli; SSR'ın her isteğe maliyeti var. Sayfanın sıklığına göre seçin.
7. Suspense boundary'leri yanlış yerleştirmek
Yanlış granülarite: tüm sayfayı tek Suspense ile sarmak veya hiç sarmamak. İdeal: bağımsız fetch yapan her bölgeyi kendi Suspense'i ile sarın.
Siyarsoft Ekibi
Stüdyodan — mühendislik, tasarım, pazarlama disiplinlerinden