Tutto quello che vorresti sapere prima di installare.
Uno sguardo dettagliato su come funziona DataFirefly Image Optimizer — WebP, AVIF, compressione e CDN per Shopware 6, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.
Il problema delle immagini su Shopware 6 di default
Shopware comprime i JPEG via il ThumbnailService nativo e genera vari formati di miniature, ma non produce né WebP né AVIF. Eppure WebP risparmia in media tra il 25 e il 35 percento rispetto al JPEG, e AVIF scende ancora più in basso — tra il 50 e il 60 percento di guadagno sul JPEG nella maggior parte dei casi. Senza questi formati il vostro Largest Contentful Paint resta pesante, e il vostro punteggio Core Web Vitals stagna. Senza integrazione CDN nativa nemmeno, ogni immagine viene servita dal vostro server applicazione, aumentando carico e latenza per visitatori distanti.
La pipeline completa che questo plugin installa
Al caricamento di un media, il subscriber ascolta media.written e rileva tipi JPEG, PNG e GIF. La ricompressione in-place dell'originale viene applicata se attivata — JPEG progressivo con sottocampionamento 2x2/1x1/1x1 e qualità configurabile, PNG con livello di compressione e filtri tarati. I metadati EXIF e ICC vengono rimossi se l'opzione è selezionata — guadagno di peso non trascurabile su foto direttamente dalla fotocamera. Poi il sibling WebP viene generato accanto con un'estensione cumulativa — foo.jpg.webp — alla qualità configurata, modalità lossless opzionale per i PNG. Poi il sibling AVIF viene generato con la sua propria qualità, indipendente, e una salvaguardia di larghezza massima per evitare di saturare la CPU su immagini molto grandi. Infine le miniature Shopware ricevono lo stesso trattamento.
Riscrittura CDN con ambito a grana fine
L'integrazione CDN non si limita a riscrivere ciecamente tutti gli URL. Tre ambiti disponibili: solo media, che tocca solo gli URL che iniziano per /media; media più miniature, che aggiunge /thumbnail; e tutti gli asset statici, che include anche /theme, /bundles e /assets. L'ambito di default, solo media, è il più sicuro e copre il 95 percento dei casi d'uso. Il filtro Twig df_cdn permette inoltre agli sviluppatori di temi di applicare la riscrittura manualmente su qualsiasi URL. Quando il CDN è attivo, il plugin inietta automaticamente dns-prefetch e preconnect nell'head, risparmiando da 50 a 200 ms sulla prima richiesta CDN a seconda della latenza.
Rendering picture allineato alle best practice
Il componente storefront/component/image/thumbnail.html.twig viene esteso via sw_extends. Il blocco component_thumbnail_picture avvolge il tag img padre in un picture con sorgenti AVIF poi WebP, seguite dal fallback originale. L'ordine è cruciale — AVIF per primo perché i browser moderni lo preferiscono e risparmiano così più banda, WebP come rete di sicurezza per Safari datato, e il fallback JPEG/PNG per tutto il resto. Gli attributi loading lazy, decoding async, width e height per prevenire CLS vengono aggiunti secondo la configurazione.
Task pianificato per immagini già memorizzate
Attivare il plugin su un negozio con già migliaia di immagini in libreria non innesca l'ottimizzazione retroattiva automaticamente — sarebbe pericoloso. Invece, un task pianificato Shopware gira ogni 15 minuti di default, identifica media non ancora ottimizzati via un LEFT JOIN su df_image_optimizer, e processa un batch configurabile — 50 di default. Questo permette a un grande negozio di recuperare in poche ore senza bloccare la coda o saturare il server. Un pulsante nel dashboard admin permette anche di lanciare un batch manuale in qualsiasi momento.
Rilevamento server trasparente
Prima ancora della prima ottimizzazione, il dashboard mostra in tempo reale cosa è disponibile lato server: versione PHP, presenza Imagick con formati supportati, presenza GD con formati, supporto effettivo WebP e AVIF, motore raccomandato. Imagick è prioritizzato quando disponibile perché offre migliore qualità di codifica e supporto AVIF nativo via libheif. GD prende il relevo altrimenti — supporta WebP da molto tempo e AVIF dal PHP 8.1. Nessuna sorpresa — se AVIF non è disponibile lato server, il plugin salta semplicemente quello step e continua con WebP.
Sicurezza e pulizia
Le conversioni sono atomiche — il plugin stage l'immagine in un file temporaneo locale per i converter che necessitano un percorso reale, poi pulisce sistematicamente via un blocco finally. Gli errori vengono loggati via PSR Logger senza mai interrompere la transazione di scrittura del media. La disinstallazione propone di preservare o no i dati utente — le tabelle df_image_optimizer vengono rimosse solo se deselezionate l'opzione. I file WebP e AVIF generati sul filesystem restano per sicurezza.
Per chi è questo plugin?
Per qualsiasi negozio Shopware 6 in cui le immagini rappresentano un collo di bottiglia su LCP o banda. Per negozi B2C con cataloghi foto ricchi — moda, decoro, mobili, alimentare. Per negozi internazionali che consegnano lontano dal server di origine e vogliono scaricare su un CDN. Per sviluppatori di temi che vogliono un filtro e una funzione Twig puliti invece di patchare i tag img a mano. Per team SEO che seguono Core Web Vitals e vogliono guadagnare facilmente da 20 a 40 punti di PageSpeed.
Ancora non ci sono recensioni.