Webde görselleri optimize etmek: biçimler, duyarlı görseller ve tembel yükleme
Kısaca: Görseller genellikle bir web sayfasının en büyük kısmıdır; modern biçimler (WebP, AVIF), uygun boyutlar (srcset), tembel yükleme ve sabit boyutlar yüklemeyi hızlandırır ve düzen kaymalarını önler.
Biraz daha ayrıntılı: 300 piksellik bir kartta 4 MB’lık bir fotoğraf israftır. Görsel optimizasyonu LCP’yi (en büyük görünür öğe) iyileştirir, veri hacminden tasarruf sağlar ve SEO ile çevre için iyidir.
Ayrıntılı
Doğru biçim
- JPEG: fotoğraflar, her yerde desteklenir.
- PNG: şeffaflıklı, keskin kenarlı grafikler (fotoğraflar için büyük).
- WebP: yaklaşık %25 ila 35 daha küçük, şeffaflık, animasyon.
- AVIF: çoğu zaman daha da küçük (HDR), üretmesi daha yavaş.
- SVG: logolar, simgeler, diyagramlar (vektör, ölçeklenebilir, CSS ile biçimlendirilebilir; bilinmeyen SVG’lerdeki betiklerden kaçın).
- GIF: animasyonlar için daha iyisi MP4/WebM veya animasyonlu WebP.
Kalite 70 ila 85 genellikle yeterlidir; meta verileri (EXIF/GPS) kaldır (gizlilik).
Duyarlı görseller
<img src="photo-800.jpg"
srcset="photo-400.jpg 400w, photo-800.jpg 800w, photo-1600.jpg 1600w"
sizes="(max-width: 600px) 100vw, 50vw"
width="800" height="533" alt="Description" loading="lazy" decoding="async">
<picture>
<source type="image/avif" srcset="photo.avif">
<source type="image/webp" srcset="photo.webp">
<img src="photo.jpg" alt="Description" width="800" height="533">
</picture>srcset/sizes, tarayıcının ekran genişliğine ve piksel yoğunluğuna uygun olanı seçmesini sağlar; <picture> biçimleri ve sanat yönetimini (telefonlarda farklı kırpma) sunar.
Tembel yükleme ve düzen
loading="lazy"görselleri yalnızca yakına kaydırıldığında yükler; en üstteki en önemli görsel (LCP) tembel olmamalı, bunun yerinefetchpriority="high"/preload.widthveheight(veyaaspect-ratio) belirt, böylece düzen kayması (CLS) olmaz.- Erişilebilirlik için
altmetinleri; dekoratif görselleralt="". - Hız izlenimi için yer tutucular (blur hash/baskın renk).
- CSS’te arka plan görselleri:
image-set(); iframe’ler/videolar da tembel.
Araçlar ve teslimat
- Next.js
next/image, Astro, Nuxt Image: boyutları/biçimleri önbellekle otomatik üretir. - Derleme/betikte Sharp, Squoosh,
cwebp,avifenc, ImageMagick. - Görsel CDN’leri (Cloudinary, imgix, Vercel Image Optimization): boyut/biçim URL ile.
- Önbellekleme: dosya adında karma olan uzun
Cache-Control; bir CDN kullan. - Denetleme: Lighthouse, WebPageTest, DevTools ağ (boyut ve görüntü boyutu karşılaştırması).
- Haklar: görsel haklarına/lisansa uy, insan fotoğrafları yalnızca izinle. Wiki/sayfa görselleri: yüklemeden önce sıkıştır.
Ayrıca bak: WebP, Lighthouse ve Core Web Vitals, CDN