{"id":166966,"date":"2025-11-10T09:00:00","date_gmt":"2025-11-10T09:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/immagini-responsive-wordpress-srcset-sizes\/"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"immagini-responsive-wordpress-srcset-sizes","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/immagini-responsive-wordpress-srcset-sizes\/","title":{"rendered":"Immagini Responsive in WordPress: srcset, sizes e Ottimizzazione"},"content":{"rendered":"<article>\n<h1>Immagini Responsive in WordPress: srcset, sizes e Ottimizzazione<\/h1>\n<p>In un mondo dove il traffico web proviene da una moltitudine di dispositivi &mdash; smartphone con schermi da 5 pollici, tablet da 10 pollici, laptop da 14 pollici e monitor desktop da 27 pollici &mdash; servire un&#8217;unica versione di ogni immagine &#232; un compromesso inaccettabile. Un&#8217;immagine ottimizzata per un monitor desktop 4K &#232; enormemente sovradimensionata per uno smartphone; un&#8217;immagine ottimizzata per mobile &#232; sgranata e poco professionale su un grande schermo. Le <strong>immagini responsive<\/strong> risolvono questo problema servendo automaticamente la versione dell&#8217;immagine pi&#249; adatta al dispositivo del visitatore.<\/p>\n<p>In questa guida completa vedremo come funzionano le immagini responsive in WordPress, il ruolo degli attributi <code>srcset<\/code> e <code>sizes<\/code>, e come Smush ottimizza ogni variante per garantire le migliori prestazioni su ogni dispositivo.<\/p>\n<h2>Il Problema: Un&#8217;Immagine Non Va Bene per Tutti<\/h2>\n<p>Consideriamo un esempio concreto. Hai un&#8217;immagine hero larga 1920 pixel, perfetta per un monitor desktop. Su uno smartphone con viewport di 375 pixel, il browser scarica comunque l&#8217;immagine da 1920 pixel (che pesa, diciamo, 400 KB) e la mostra a 375 pixel &mdash; sprecando l&#8217;80% della banda. Se la stessa immagine fosse servita a 400 pixel di larghezza per lo smartphone, peserebbe solo 50-80 KB.<\/p>\n<p>Questo spreco non &#232; solo teorico. Con il 60% del traffico web proveniente da dispositivi mobili, la maggior parte dei visitatori del tuo sito riceve immagini sovradimensionate. Il risultato &#232; un sito lento su mobile, un consumo eccessivo dei dati dell&#8217;utente e punteggi Core Web Vitals penalizzanti.<\/p>\n<p>Le immagini responsive risolvono questo problema elegantemente, permettendo al browser di scegliere la versione dell&#8217;immagine pi&#249; appropriata in base alla dimensione della viewport, alla densit&#224; di pixel dello schermo e alla velocit&#224; della connessione.<\/p>\n<h2>Come Funziona srcset in WordPress<\/h2>\n<p>L&#8217;attributo <code>srcset<\/code> &#232; il cuore del sistema di immagini responsive in HTML. Introdotto in HTML5, permette di specificare pi&#249; versioni della stessa immagine con dimensioni diverse, lasciando al browser la scelta di quale scaricare.<\/p>\n<p>WordPress supporta nativamente <code>srcset<\/code> dalla versione 4.4, generandolo automaticamente per tutte le immagini inserite nell&#8217;editor. Quando carichi un&#8217;immagine, WordPress genera diverse miniature (thumbnail, medium, medium_large, large, full) e inserisce automaticamente queste varianti nell&#8217;attributo <code>srcset<\/code> del tag <code>&lt;img&gt;<\/code>.<\/p>\n<p>Ecco un esempio di come appare un tag immagine con <code>srcset<\/code> generato da WordPress. Il tag include l&#8217;URL dell&#8217;immagine principale nell&#8217;attributo <code>src<\/code>, poi un <code>srcset<\/code> con diverse versioni accompagnate dal loro descrittore di larghezza (ad esempio <code>300w<\/code>, <code>768w<\/code>, <code>1024w<\/code>, <code>1920w<\/code>). Il browser confronta queste larghezze con la larghezza effettiva dello slot in cui l&#8217;immagine verr&#224; mostrata e sceglie la versione pi&#249; appropriata.<\/p>\n<p>Il descrittore <code>w<\/code> indica la larghezza in pixel dell&#8217;immagine sorgente. Un&#8217;immagine con <code>800w<\/code> nel srcset &#232; larga 800 pixel. Il browser confronta questo valore con la larghezza dello slot (determinata da CSS e layout) moltiplicata per la densit&#224; di pixel dello schermo. Su un dispositivo Retina 2x con uno slot di 400 pixel CSS, il browser cercher&#224; un&#8217;immagine di almeno 800 pixel reali.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/sm-04-lazyload.png\" alt=\"Schema del funzionamento di srcset con diverse dimensioni di immagine per dispositivi differenti\" \/><\/p>\n<h2>L&#8217;Attributo sizes: Guidare la Scelta del Browser<\/h2>\n<p>Mentre <code>srcset<\/code> fornisce le opzioni disponibili, l&#8217;attributo <code>sizes<\/code> dice al browser quanto sar&#224; grande lo slot dell&#8217;immagine in diverse condizioni di layout. Questo &#232; fondamentale perch&#233; il browser deve decidere quale immagine scaricare <strong>prima<\/strong> di aver completato il rendering del layout, quindi non conosce ancora la dimensione effettiva dello slot.<\/p>\n<p>L&#8217;attributo <code>sizes<\/code> utilizza media query CSS per specificare la larghezza dello slot in diverse viewport. Ad esempio, un valore come <code>(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw<\/code> dice al browser che su schermi fino a 768 pixel l&#8217;immagine occupa il 100% della viewport, su schermi fino a 1200 pixel occupa il 50% e su schermi pi&#249; grandi occupa il 33%.<\/p>\n<p>WordPress genera automaticamente un attributo <code>sizes<\/code> di base, ma spesso non &#232; preciso per il layout specifico del tuo tema. Il valore predefinito di WordPress &#232; generalmente <code>(max-width: [larghezza-immagine]px) 100vw, [larghezza-immagine]px<\/code>, che funziona ma non &#232; ottimale per layout multi-colonna o design complessi.<\/p>\n<p>Per ottenere risultati ottimali, dovresti personalizzare l&#8217;attributo <code>sizes<\/code> in base al layout effettivo del tuo tema. Alcuni temi avanzati lo fanno automaticamente; in caso contrario, puoi utilizzare un plugin o un filtro WordPress per generare valori <code>sizes<\/code> pi&#249; precisi.<\/p>\n<h2>Le Dimensioni delle Miniature di WordPress<\/h2>\n<p>La qualit&#224; delle immagini responsive dipende direttamente dalla variet&#224; di miniature disponibili. WordPress genera per default le seguenti dimensioni: Miniatura (150&#215;150, ritagliata), Media (max 300&#215;300), Media Large (max 768px di larghezza), Grande (max 1024&#215;1024). L&#8217;immagine originale (full size) &#232; sempre disponibile come opzione aggiuntiva.<\/p>\n<p>Queste dimensioni predefinite coprono una gamma ragionevole di dispositivi, ma potrebbero non essere ottimali per il tuo layout specifico. Se il tuo contenuto &#232; largo 800 pixel, avere miniature a 300, 768 e 1024 pixel lascia un &ldquo;buco&rdquo; tra 300 e 768 dove il browser deve scegliere un&#8217;immagine pi&#249; grande del necessario.<\/p>\n<p>Puoi aggiungere dimensioni personalizzate tramite la funzione <code>add_image_size()<\/code> nel file <code>functions.php<\/code> del tuo tema. Ad esempio, aggiungere una dimensione a 600 pixel e una a 1200 pixel copre meglio la gamma di dispositivi comuni. Tieni presente che ogni dimensione aggiuntiva aumenta lo spazio su disco e il tempo di caricamento nella Libreria Media.<\/p>\n<h2>Il Ruolo di Smush nelle Immagini Responsive<\/h2>\n<p>Smush gioca un ruolo fondamentale nell&#8217;ottimizzazione delle immagini responsive, perch&#233; comprime <strong>tutte le varianti<\/strong> generate da WordPress, non solo l&#8217;immagine originale. Quando carichi un&#8217;immagine e WordPress genera 6-10 miniature, Smush le comprime tutte, garantendo che ogni versione servita al browser sia la pi&#249; leggera possibile.<\/p>\n<p>Senza Smush, le miniature generate da WordPress vengono salvate con il livello di qualit&#224; predefinito di WordPress (82 per i JPEG, configurabile tramite filtro). Questo livello &#232; un buon compromesso ma lascia margine per un&#8217;ulteriore ottimizzazione. Smush applica la compressione aggiuntiva (lossless, lossy o Super-Smush) su ogni miniatura, riducendo il peso di un ulteriore 20-60%.<\/p>\n<p>Il CDN di Smush Pro aggiunge un ulteriore livello di ottimizzazione. Quando &#232; attivo, il CDN pu&#242; servire immagini ridimensionate dinamicamente in base al dispositivo del visitatore, senza dipendere dalle miniature pregenerate da WordPress. Questo significa che ogni dispositivo riceve un&#8217;immagine con la dimensione esatta necessaria, non la miniatura preimpostata pi&#249; vicina.<\/p>\n<h2>Il Tag picture per il Controllo Avanzato<\/h2>\n<p>Per scenari pi&#249; complessi, HTML offre l&#8217;elemento <code>&lt;picture&gt;<\/code>, che fornisce un controllo superiore rispetto a <code>srcset<\/code>. L&#8217;elemento <code>&lt;picture&gt;<\/code> permette di specificare immagini completamente diverse (non solo dimensioni diverse della stessa immagine) in base a media query specifiche.<\/p>\n<p>I casi d&#8217;uso pi&#249; comuni per <code>&lt;picture&gt;<\/code> sono l&#8217;art direction (mostrare un ritaglio diverso dell&#8217;immagine su mobile rispetto a desktop), il fallback di formato (servire WebP con fallback JPEG) e la sostituzione completa dell&#8217;immagine in base al dispositivo.<\/p>\n<p>Smush utilizza il tag <code>&lt;picture&gt;<\/code> come metodo opzionale per servire immagini WebP con fallback al formato originale. Quando questa opzione &#232; attiva, Smush avvolge ogni tag <code>&lt;img&gt;<\/code> in un elemento <code>&lt;picture&gt;<\/code> che include sia la versione WebP che quella originale. Il browser sceglie automaticamente la versione WebP se supportata.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/sm-03-cdn.png\" alt=\"CDN Smush con servizio adattivo delle immagini in base al dispositivo del visitatore\" \/><\/p>\n<h2>Densit&#224; di Pixel e Schermi Retina<\/h2>\n<p>Gli schermi ad alta densit&#224; di pixel (Retina, AMOLED) complicano il calcolo della dimensione ottimale delle immagini. Uno schermo Retina 2x ha il doppio dei pixel fisici rispetto alla risoluzione logica, quindi un&#8217;immagine mostrata a 400 pixel CSS necessita di 800 pixel reali per risultare nitida. Uno schermo 3x richiede 1200 pixel reali per lo stesso slot da 400 pixel.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/sm-03-cdn.png\" alt=\"Screenshot del plugin nella dashboard WordPress\" \/><\/p>\n<p>Il sistema <code>srcset<\/code> gestisce automaticamente questo calcolo. Quando il browser valuta quale immagine scaricare, moltiplica la larghezza dello slot per la densit&#224; di pixel del dispositivo (device pixel ratio, DPR). Su un dispositivo 2x con uno slot di 400 pixel, cercher&#224; un&#8217;immagine di almeno 800 pixel nel <code>srcset<\/code>.<\/p>\n<p>Questo meccanismo &#232; importante per capire perch&#233; le immagini originali devono avere una risoluzione sufficientemente alta. Se la dimensione massima di ridimensionamento di Smush &#232; impostata a 1200 pixel, un dispositivo 3x con uno slot di 500 pixel richiederebbe 1500 pixel &mdash; che non sono disponibili. Il browser sceglierebbe l&#8217;immagine pi&#249; grande disponibile (1200 pixel), che potrebbe risultare leggermente meno nitida del possibile.<\/p>\n<p>In pratica, la maggior parte degli utenti non nota la differenza tra un&#8217;immagine 2x e una 3x. Impostare il ridimensionamento massimo di Smush a 2048 pixel copre adeguatamente la maggior parte degli scenari, inclusi gli schermi Retina 2x con layout a tutta larghezza.<\/p>\n<h2>Ottimizzazione delle Immagini di Sfondo CSS<\/h2>\n<p>Un limite del sistema <code>srcset<\/code> &#232; che funziona solo con le immagini inserite tramite tag <code>&lt;img&gt;<\/code> nell&#8217;HTML. Le immagini di sfondo CSS (definite con <code>background-image<\/code>) non beneficiano di <code>srcset<\/code> e vengono sempre caricate nella loro dimensione originale, indipendentemente dal dispositivo.<\/p>\n<p>Per le immagini di sfondo responsive, la soluzione &#232; utilizzare le media query CSS per specificare immagini diverse in base alla dimensione della viewport. Puoi definire un&#8217;immagine di sfondo piccola per mobile, una media per tablet e una grande per desktop, ciascuna ottimizzata per la sua dimensione target.<\/p>\n<p>Smush comprime tutte queste varianti di sfondo come qualsiasi altra immagine nella Libreria Media. Il CDN di Smush Pro, inoltre, pu&#242; servire automaticamente la versione ottimizzata in base al dispositivo, anche per le immagini di sfondo, tramite riscrittura URL.<\/p>\n<h2>Problemi Comuni e Soluzioni<\/h2>\n<p>L&#8217;implementazione delle immagini responsive in WordPress non &#232; sempre priva di problemi. Ecco i pi&#249; comuni e le relative soluzioni.<\/p>\n<p><strong>srcset non generato<\/strong>: se le tue immagini non hanno l&#8217;attributo <code>srcset<\/code>, le cause pi&#249; comuni sono miniature non generate (rigenerale con un plugin come Regenerate Thumbnails), immagini troppo piccole (WordPress non genera <code>srcset<\/code> per immagini con larghezza inferiore a 300 pixel) o un tema che sovrascrive l&#8217;output standard delle immagini.<\/p>\n<p><strong>Immagine sbagliata selezionata<\/strong>: se il browser seleziona sistematicamente un&#8217;immagine troppo grande o troppo piccola, il problema &#232; probabilmente nell&#8217;attributo <code>sizes<\/code>. Verifica che i valori corrispondano al layout effettivo del tuo tema e personalizzali se necessario.<\/p>\n<p><strong>Immagini sfocate su Retina<\/strong>: se le immagini appaiono sfocate su schermi Retina, le miniature disponibili sono probabilmente troppo piccole. Aumenta la dimensione massima di ridimensionamento di Smush o aggiungi dimensioni di miniature intermedie nel tema.<\/p>\n<h2>Testare le Immagini Responsive<\/h2>\n<p>Per verificare che le immagini responsive funzionino correttamente, utilizza Chrome DevTools. Apri il pannello Network, seleziona il filtro &ldquo;Img&rdquo; e attiva il Responsive Mode (l&#8217;icona del dispositivo mobile nella barra strumenti). Cambia la dimensione della viewport e ricarica la pagina: dovresti vedere che il browser scarica immagini di dimensioni diverse in base alla viewport selezionata.<\/p>\n<p>Puoi anche ispezionare il codice HTML dell&#8217;immagine per verificare che gli attributi <code>srcset<\/code> e <code>sizes<\/code> siano presenti e corretti. Un&#8217;immagine responsive ben configurata dovrebbe avere 3-6 varianti nel <code>srcset<\/code> e un attributo <code>sizes<\/code> che riflette il layout della pagina.<\/p>\n<h2>Conclusioni<\/h2>\n<p>Le immagini responsive sono una tecnologia fondamentale per i siti WordPress moderni. Permettono di servire la versione ottimale di ogni immagine a ogni dispositivo, risparmiando banda, migliorando i tempi di caricamento e garantendo un&#8217;esperienza visiva di qualit&#224; su ogni schermo. WordPress supporta nativamente <code>srcset<\/code> e <code>sizes<\/code>, e Smush ottimizza ogni variante per il massimo risparmio di peso.<\/p>\n<p>Se hai bisogno di assistenza per configurare le immagini responsive o per ottimizzare le prestazioni del tuo sito su tutti i dispositivi, <a href=\"https:\/\/gtechgroup.it\/contatti\/\">contattaci<\/a> per una consulenza personalizzata.<\/p>\n<div style=\"background:#f9f9f9;border:1px solid #e0e0e0;padding:20px;margin-top:30px;border-radius:8px;\">\n<h3>Migliora il Tuo Sito WordPress<\/h3>\n<p>Scopri le nostre altre guide per ottimizzare ogni aspetto del tuo sito:<\/p>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/elementor\/\">Elementor: Guide e Tutorial<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/wp-rocket\/\">WP Rocket: Velocizzare WordPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/seopress\/\">SEOPress: Ottimizzazione SEO<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/updraftplus\/\">UpdraftPlus: Backup e Ripristino<\/a><\/li>\n<\/ul>\n<p>Hai bisogno di un <a href=\"https:\/\/gtechgroup.it\/hosting-wordpress\/\">hosting WordPress professionale<\/a>? <a href=\"https:\/\/gtechgroup.it\/contatti\/\">Contattaci<\/a> per una consulenza gratuita.<\/p>\n<\/div>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>Immagini Responsive in WordPress: srcset, sizes e Ottimizzazione In un mondo dove il traffico web proviene da una moltitudine di dispositivi &mdash; smartphone con schermi&hellip;<\/p>\n","protected":false},"author":0,"featured_media":166917,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"Immagini Responsive WordPress: srcset e sizes | Guida","_seopress_titles_desc":"Come funzionano le immagini responsive in WordPress. Attributi srcset e sizes, dimensioni generate, Smush e ottimizzazione per mobile.","_seopress_robots_index":"","footnotes":""},"categories":[1],"tags":[3367,3370,1775,3369,3368,492],"class_list":["post-166966","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-senza-categoria","tag-immagini-responsive","tag-mobile","tag-performance","tag-sizes","tag-srcset","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/166966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=166966"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/166966\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/166917"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=166966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=166966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=166966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}