Perché ottimizzare automaticamente le immagini di WordPress migliora velocità e SEO
In questo articolo della sezione “Script Utili“, presentiamo uno script PHP per l’Ottimizzazione Automatica delle Immagini sul tuo sito WordPress. L’ottimizzazione delle immagini è essenziale per migliorare le prestazioni del sito e ridurre i tempi di caricamento delle pagine. Automatizzare questo processo può risparmiare tempo e garantire che tutte le immagini siano ottimizzate in modo efficiente.
Codice dello Script
<?php
// Script per l'Ottimizzazione Automatica delle Immagini
// Creato da Evo Sistemi di Cirone Simone
// Contatti: info@evosistemi.com, www.evosistemi.com, +39 3662025885
$directory = 'wp-content/uploads/';
$quality = 75;
function optimize_image($image_path, $quality) {
$info = getimagesize($image_path);
if ($info['mime'] == 'image/jpeg') {
$image = imagecreatefromjpeg($image_path);
imagejpeg($image, $image_path, $quality);
} elseif ($info['mime'] == 'image/png') {
$image = imagecreatefrompng($image_path);
imagepng($image, $image_path, round($quality / 10));
}
imagedestroy($image);
}
function scan_directory($directory, $quality) {
$files = scandir($directory);
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
$path = $directory . $file;
if (is_dir($path)) {
scan_directory($path, $quality);
} elseif (is_file($path)) {
optimize_image($path, $quality);
}
}
}
}
scan_directory($directory, $quality);
?>
Disclaimer: Questo codice è stato creato da Evo Sistemi di Cirone Simone. Per qualsiasi problema o personalizzazione, contattaci a info@evosistemi.com o visita www.evosistemi.com. Telefono: +39 3662025885.
Come funziona lo script di ottimizzazione immagini, riga per riga
Analizziamo lo script riga per riga per comprendere come funziona:
- $directory: Questa variabile specifica la directory delle immagini da ottimizzare. Di default è impostata su ‘wp-content/uploads/’.
- $quality: Questa variabile definisce la qualità delle immagini ottimizzate (75% di default). Può essere personalizzata a seconda delle esigenze.
- optimize_image: Questa funzione prende il percorso dell’immagine e la qualità desiderata come parametri e ottimizza l’immagine in base al suo formato (JPEG o PNG).
- scan_directory: Questa funzione scansiona ricorsivamente la directory specificata e ottimizza tutte le immagini trovate.
- scan_directory($directory, $quality): Questa riga avvia la scansione e l’ottimizzazione delle immagini nella directory specificata.
Le variabili $directory e $quality possono essere modificate per adattarsi alle tue esigenze specifiche.
Guida Passo-Passo per l’Esecuzione dello Script
- Crea un file PHP: Crea un nuovo file PHP sul tuo server, ad esempio
optimize_images.php. - Copia e incolla il codice: Inserisci il codice fornito all’interno del file.
- Modifica le variabili: Se necessario, modifica le variabili
$directorye$qualitycon i valori desiderati. - Carica il file: Carica il file sul tuo server, all’interno della cartella di WordPress.
- Esegui lo script: Accedi al file tramite il tuo browser (es.
http://tuosito.com/optimize_images.php) per eseguire lo script e ottimizzare le immagini. - Elimina il file: Una volta eseguito, ti consigliamo di eliminare il file per motivi di sicurezza.
In caso di dubbi o difficoltà, non esitare a contattare Evo Sistemi di Cirone Simone. Siamo qui per supportarti nel miglioramento delle prestazioni del tuo sito web.
FAQ
1. Posso usare questo script per ottimizzare immagini al di fuori di WordPress?
Sì, puoi modificare la variabile $directory per puntare a qualsiasi cartella di immagini sul tuo server.
2. Qual è la qualità ideale per le immagini?
La qualità ideale dipende dall’uso specifico. Generalmente, una qualità del 75% offre un buon equilibrio tra compressione e qualità visiva.
3. Lo script supporta altri formati di immagine?
Attualmente, lo script supporta i formati JPEG e PNG. Se hai bisogno di supportare altri formati, contatta Evo Sistemi per una personalizzazione.
4. Devo fare un backup prima di eseguire lo script?
Sì, è fortemente consigliato. Lo script riscrive i file originali in wp-content/uploads/ con la versione compressa, quindi la qualità persa non è recuperabile. Prima di lanciarlo copia l’intera cartella uploads (ad esempio con tar -czf uploads_backup.tar.gz wp-content/uploads) o esegui un backup completo del sito, così puoi sempre tornare indietro se il livello di compressione non ti soddisfa.
5. Posso generare anche versioni WebP o AVIF?
Lo script di base lavora sui formati originali, ma puoi estenderlo per produrre copie in WebP con imagewebp() (o AVIF con imageavif() su PHP recente). Questi formati pesano in media il 25–35% in meno rispetto al JPEG a parità di qualità percepita; servendoli con il fallback corretto migliori i Core Web Vitals senza perdere compatibilità con i browser più vecchi.
6. L’ottimizzazione si combina con cache e CDN?
Sì, e sono complementari. Lo script riduce il peso del file alla sorgente; cache delle pagine e CDN riducono il numero e la distanza dei trasferimenti. Dopo aver ottimizzato le immagini ricordati di svuotare la cache (plugin e CDN) perché la copia precedente, più pesante, può restare in distribuzione.
7. Ogni quanto va eseguito lo script?
Dipende da quante immagini carichi. Per un sito che pubblica spesso conviene un’esecuzione periodica (ad esempio settimanale via cron) o, meglio, integrare l’ottimizzazione al momento dell’upload così ogni nuova immagine nasce già compressa, evitando di rielaborare ogni volta l’intera libreria.