Come eliminare tutte le immagini INUTILIZZATE dalla directory uploads?

10 giu 2014, 18:26:29
Visualizzazioni: 77.5K
Voti: 24

Sto cercando di ripulire le mie cartelle uploads poiché stanno iniziando a occupare troppo spazio sul mio server.

Ho provato a utilizzare plugin per raggiungere questo obiettivo come DNUI e Cleanup Images, ma questi plugin sono o inutilizzabili o nel caso di DNUI (che è stato aggiornato di recente e funziona) non ottengono esattamente i risultati che cerco. Questo perché il mio sito utilizza WooCommerce e un tema che utilizzano entrambi le immagini in altri luoghi oltre che nei post o nelle pagine, come header, footer e gallerie. Sembra che WC utilizzi il proprio plugin Lightbox integrato chiamato Pretty Photo, da cui vengono richiamate le immagini che DNUI indica come "inutilizzate".

So che è una richiesta un po' impegnativa, ma mi chiedo se qualcuno potrebbe indirizzarmi nella giusta direzione. Non sono uno sviluppatore, quindi probabilmente non dovrei nemmeno pubblicare qui, ma riesco a capire le cose con tempo e determinazione. Ho visto script su questo sito che ottengono gli stessi risultati del plugin DNUI, ma nulla che tenga conto di altri utilizzi delle immagini (se è anche possibile?). Qualsiasi aiuto sarebbe molto apprezzato.

7
Commenti

Volevo fare la stessa cosa, ma ciò che mi preoccupa è come definire non utilizzate. Ad esempio, un autore potrebbe aver caricato immagini in una bozza di articolo, poi aver creato un'altra bozza, incollato il contenuto e pubblicato quest'ultimo. Questo significherebbe che le immagini sono assegnate alla bozza, non all'articolo pubblicato. Forse uno script che analizzi tutti gli articoli e controlli gli URL delle immagini per vedere quali sono state utilizzate e quali no. Speriamo di trovare una buona soluzione.

Christine Cooper Christine Cooper
10 giu 2014 19:14:37

Sfortunatamente, più elaborata è la tua definizione di "non utilizzate", meno è probabile che trovi una soluzione adatta. Di quante immagini stiamo parlando (in numero e dimensioni)?

Rarst Rarst
10 giu 2014 20:48:23

Ciao Rarst, grazie per la risposta. Il sito è attivo da circa 5 anni ed è molto dipendente dalle immagini, con diversi cambi di tema e plugin. Credo ci siano letteralmente migliaia di immagini non utilizzate. E a causa dei numerosi cambiamenti, le dimensioni variano enormemente. Ho già usato Force Regenerate Thumbnails per cercare di ridurre questo numero e ha funzionato in parte, ma spesso questo plugin va in timeout per la quantità. Inoltre fa salire la CPU del mio server a livelli ingestibili se lo lascio attivato.

G-Olly G-Olly
11 giu 2014 11:44:55

Mi rendo conto della complessità del problema e quindi ho utilizzato la libreria multimediale per cercare di individuare ed eliminare queste immagini. Purtroppo ho scoperto che spesso le segnala come utilizzate quando non lo sono e viceversa, quindi è un processo estremamente laborioso, ma ora ho il naso sulla mola.

G-Olly G-Olly
11 giu 2014 12:06:12

Se posso aggiungere la mia opinione, per alcuni tipi di siti web penso che il problema possa essere risolto empiricamente. Per questi siti, i web crawler visitano ogni pagina. Dal log del server ottieni l'elenco degli URL di tutte le pagine visitate. Analizza queste pagine usando DOMDocument e ottieni tutti gli elementi <img> e i loro attributi src. Il problema con questo approccio è se JavaScript genera dinamicamente href e src.

User User
15 ago 2014 15:44:24

Quasi tutti questi plugin non verificano le immagini ACF. Media Cleaner ha una versione pro che controlla ACF.

chiterry27 chiterry27
16 ott 2019 20:43:16

Dovresti provare il plugin Media Hygiene per WordPress. Il plugin Media Hygiene rimuove i file multimediali inutilizzati dalla libreria di WordPress per liberare spazio, ridurre il disordine e migliorare le prestazioni del server. Con funzionalità come l'eliminazione in blocco e la scansione approfondita delle cartelle, è uno strumento essenziale per trovare ed eliminare immagini e file multimediali non utilizzati.

Link al plugin qui https://mediahygiene.com

Deepak Lakhara Deepak Lakhara
21 lug 2023 13:21:18
Mostra i restanti 2 commenti
Tutte le risposte alla domanda 5
2

Eliminare le immagini utilizzando un plugin:

Puoi utilizzare questo plugin, che eseguirà una scansione del tuo database e verificherà se un'immagine è inserita in qualche articolo (nel contenuto, come immagine in evidenza, in qualsiasi campo personalizzato, ovunque...) o come sfondo...

Se l'immagine non è utilizzata da nessuna parte, ti darà l'opzione di eliminarla. Riceverai una lista di tutte le immagini sul tuo sito che non sono più utilizzate, così potrai eliminarle in sicurezza.

https://wordpress.org/plugins/dnui-delete-not-used-image-wordpress/

e questo, funziona ancora, anche se è obsoleto

https://wordpress.org/plugins/wordpress-uploaded-files-cleaner/


Eliminare le immagini manualmente:

Puoi anche cercare nella tua libreria multimediale le immagini che non sono collegate ad articoli o pagine.

Vai nella libreria multimediale e clicca su "non collegate" per visualizzare tutte le immagini che potrebbero essere visualizzate in altre parti del tuo sito o non utilizzate.

15 ago 2014 10:32:21
Commenti

Il problema con le immagini che non sono allegate a nessun post è che potrebbero essere utilizzate in qualche altro posto - ad esempio, se hai un campo personalizzato che utilizza un caricatore di immagini basato sul caricatore multimediale nativo di WordPress, a seconda di come è stato codificato il tema, l'immagine caricata lì non è allegata a nessun post (nel tuo database). Rimane comunque un'idea valida.

Bruno Monteiro Bruno Monteiro
18 giu 2015 16:20:49

Confermo quanto detto da @BrunoMonteiro. È del tutto possibile avere immagini che non sono allegate a un post.

BODA82 BODA82
11 ott 2015 04:46:06
0

Cron/Attività pianificate e un'analisi del database sono i tuoi alleati

Sarebbe necessario un plugin, potresti assegnargli anche un intervallo wp_cron, non molto diverso da quello suggerito sopra ma con l'aggiunta di controllare qualsiasi campo simile a 'post_content' (dovrai identificare questi campi, dipendenti dal tuo ambiente WP) per l'URI/URL dell'immagine. Questo ha il potenziale di essere estremamente dispendioso in termini di tempo e oneroso per i processi del sistema - realisticamente questo processo avrebbe bisogno di essere eseguito solo una volta al giorno o alla settimana - assumendo che non ci siano altre ragioni legali/di business per eseguirlo più frequentemente.

Una configurazione master-slave del database sorgente permette a questo processo di essere significativamente meno dannoso per le prestazioni, ma questo va oltre lo scopo di questa domanda credo.

6 dic 2015 16:47:47
0

Ho provato il plugin Image Cleanup ed è il migliore, ma è comunque bene fare prima un backup.

6 dic 2015 17:48:13
2

Dovresti eseguire una scansione della cartella wp-content/uploads per i file caricati, poi del database per i riferimenti a quei file, e infine confrontarli tra loro. Ciò che non può essere abbinato può essere rimosso in sicurezza.

La scansione del database è la parte complessa. La maggior parte dei riferimenti ai file sono memorizzati nella Libreria Multimediale a cui puoi accedere utilizzando le funzioni/API standard di WordPress. Ma cosa succede ai file che vengono rimossi dalla Libreria Multimediale ma sono ancora referenziati dai post? O ai file a cui altri plugin si collegano in modi diversi?

Ho eseguito un numero considerevole di test e da ciò che ho verificato, tutti i riferimenti ai file sono memorizzati in formato testo semplice (cioè una cella di tabella uguale al percorso o URL del file), formato HTML (cioè il contenuto di un post), come dati serializzati, o infine come oggetti JSON. Dovresti scansionare l'intero database e cercare di indovinare quale formato viene utilizzato all'interno di ogni cella. Naturalmente, potrebbero esserci altri modi esotici che alcuni plugin utilizzano per mantenere i riferimenti ai loro file, ma quelli possono essere gestiti solo caso per caso.

Di conseguenza ho scritto un plugin che fa automaticamente tutto ciò, poiché ne avevo bisogno per alcuni siti web dei nostri clienti, e l'ho chiamato Theia Upload Cleaner. Ha funzionato bene per me, ma ovviamente dovresti sempre fare un backup prima di provare qualcosa del genere.

23 mar 2016 20:19:10
Commenti

Approccio interessante... mi chiedo se hai riscontrato problemi con l'aumento di contenuti, plugin o post nel tempo...

red-o-alf red-o-alf
13 giu 2018 11:24:46

Sì, ci sono alcuni problemi. Ad esempio, per alcuni plugin è necessario escludere determinate tabelle che altrimenti potrebbero rallentare notevolmente le operazioni. Cerchiamo di escludere automaticamente in base a determinate parole chiave, come le tabelle "log", ma ovviamente non copre tutti i casi.

liviucmg liviucmg
13 giu 2018 17:21:39
0

Il plugin WordPress Media Cleaner è piuttosto buono - https://wordpress.org/plugins/media-cleaner/

Mi piace perché offre supporto per altri plugin come Advanced Custom Fields (ACF), Divi Builder, Visual Composer e Elementor. (Solo nella versione a pagamento)

21 dic 2019 23:53:50