Görsel optimizasyonun A'dan Z'ye rehberi
Her kullanıcının kendi tarayıcısında (max-age: 1 yıl)
Cloudflare'ın 300+ lokasyonunda, kullanıcıya en yakın noktadan
Sunucuda, tüm kullanıcılar için ortak (isr: true)
İşlenmiş görseller disk'te saklanır, tekrar resize yapılmaz
<NuxtImg>Standart kullanım, <img> çıktısı
<NuxtPicture>Multi-format fallback, <picture> çıktısı
useImage()Programatik URL oluşturma
bg-image, meta tag, download link// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@nuxt/image'],
image: {
quality: 80,
format: ['avif', 'webp', 'jpeg'],
screens: {
xs: 320, sm: 640, md: 768,
lg: 1024, xl: 1280, xxl: 1536
},
presets: {
avatar: {
modifiers: { width: 100, height: 100, fit: 'cover' }
}
}
},
// Cache ayarları
routeRules: {
'/_ipx/**': {
headers: { 'cache-control': 'public, max-age=31536000, immutable' },
isr: true
}
},
// Cloudflare Pages için
nitro: {
preset: 'cloudflare-pages'
}
})width, height ile boyutlandırma
🔄WebP/AVIF ile %60-80 küçülme
⚙️Kalite vs boyut dengesi
✂️cover, contain, fill modları
📦Tekrar kullanılabilir ayar şablonları
🌫️Blur-up yükleme efekti (LQIP)
📱Responsive srcset oluşturma
💾Browser + CDN + Server cache
📏CLS önleme, Core Web Vitals
⏳lazy/eager + fetchpriority
🔍Retina (2x, 3x) desteği
🚀Kritik resimleri önceden yükle
🎨blur, rotate, grayscale efektleri
IPX: Kendi sunucunda, ücretsiz, çoğu proje için yeterli
SaaS: Yüksek trafik + ekstra özellikler (AI crop, face detection)
width + height = CLS önleme
loading="eager" + fetchpriority="high" + preload
%97 tarayıcı desteği, %70 küçülme
Kod tekrarını önle, tutarlılık sağla
Blur-up efekti = profesyonel UX
Mobilde küçük, desktop'ta büyük resim