Görsel yüklemek kolay, doğru yüklemek önemli
Admin panelden kapak görseli yüklediğimizde iş bitmiş gibi görünür. Ama kullanıcı telefondan 4000 piksel genişliğinde bir fotoğraf yüklerse o görsel siteyi ciddi yavaşlatabilir. Hele blog, galeri ve proje sayfalarında çok görsel varsa performans farkı hemen hissedilir.
İlk adım validasyon
Laravel tarafında önce dosyanın gerçekten görsel olduğundan emin olmak gerekir. Boyut sınırı, mime kontrolü ve izin verilen formatlar burada devreye girer. “Ne gelirse kabul edelim” yaklaşımı hem performans hem güvenlik için iyi değildir.
Sonra ölçü ve format
Çoğu web sitesi için 1920 piksel genişlik fazlasıyla yeterlidir. Daha büyük görselleri küçültmek, ardından WebP formatına çevirmek dosya boyutunu ciddi azaltır. Burada kaliteyi çok düşürmeden 80-85 civarı WebP kalitesi genelde iyi sonuç verir.
Pratik akış
- FormRequest ile görseli doğrula.
- Servis sınıfında görseli oku.
- Genişlik yüksekse orantılı küçült.
- WebP olarak public disk’e kaydet.
- Dosya yolunu veritabanında sakla.
Bu düzenin en güzel tarafı şu: Blog, proje, galeri, hizmet görseli gibi her yerde aynı medya servisini kullanabilirsiniz. Bir kere düzgün yazarsınız, site büyüdükçe size hız olarak geri döner.