WordPress: migrazione delle immagini, verifica URL, pulizia

| |

WordpressHackSourceCodeQuando ho deciso di creare un piccolo spazio personale su WordPress.com le idee erano ancora poco chiare, fino ad allora non avevo sentito la necessità di un blog personale, ne gestivo e scrivevo su generici già da anni, eppure volevo qualcosa di mio. In previsione di un futuro fatto di dominio di primo livello e hosting dedicato, avevo ben pensato di caricare tutte le immagini all’esterno dell’installazione WordPress. Un piccolo trucco che sicuramente rallentava (un po’) il caricamento della pagina, ma che mi ha permesso in seguito di migrare il blog molto più rapidamente.

Dopo anni ho deciso di migrare quei contenuti a bordo di WordPress. Vuoi per velocità di accesso, vuoi perché lo spazio non manca e vuoi anche perché così in caso di down del sito dove conservo le immagini questo può continuare a lavorare correttamente (c’è sempre la cache attiva eh, ma in ogni caso è meglio che le immagini siano raggiungibili), ho effettuato la migrazione. Con l’occasione ho rimesso a posto i puntamenti nei post, nei link verso l’esterno e rimosso ogni immagine inutilizzata all’interno dei post. Vi spiego cosa ho fatto, il tutto adattato a chi non sa mettere mano al proprio database SQL così da evitare ogni danno, solo plugin e un po’ di pazienza :-)

Plugin necessari

Ho usato 3 plugin differenti, ve ne parlerò nello specifico qui di seguito: Attach Unattached Images (Media Tools Hack)Image Cleanup e Velvet Blues Update URLs. Se gli ultimi due sono facilmente rintracciabili e installabili tramite Wodpress stesso, il primo è il risultato di un hack di un diverso plugin (Media Tools, ndr) e che vi toccherà installare manualmente.

Per vostra comodità ho raccolto tutti e 3 i plugin in un unico archivio che potrete scaricare da app.box.com/s/m3lk84mtlqngzeyenn2j. Scompattatelo sul vostro disco e collegatevi in FTP al vostro blog, quindi caricate il contenuto nella cartella wp-content/plugins del vostro WordPress. Ricordatevi poi di andare nell’area di amministrazione ad abilitare i 3 plugin (nel caso in cui ci siano aggiornamenti, installateli).

1- Caricare i contenuti in WordPress

Indubbiamente la cosa più semplice. Prendete tutte le immagini che avete fino ad oggi caricato nella diversa posizione rispetto al blog, sul vostro WordPress accedete alla Media Library e aggiungete i file in blocco, a questo punto pazientate perché ovviamente il tutto dipende dalla quantità di immagini da caricare e dalla velocità della vostra linea.

Il risultato? Tutte le immagini saranno presenti ora sullo stesso spazio web di WordPress, bisognerà a questo punto ripuntare ogni immagine, ogni collegamento e fare attach delle immagini per capire quali vi servono e quali no, ma soprattutto a che articoli appartengono.

Wordpress: migrazione delle immagini, verifica URL, pulizia 1ATTENZIONE: Da ora in poi verranno effettuate delle operazioni sul vostro database. Consiglio caldamente di effettuare un backup prima di procedere. Esistono miriadi di tool in grado di farlo automaticamente oppure potete scegliere di passare da phpMyAdmin e fare tutto a mano. Posso consigliarvi l’utilizzo di BackupWordpress?

2- Puntare al nuovo URL

Contrariamente a prima ora le immagini si trovano nello stesso spazio del blog, in una cartella differente che -nel 90% dei casi- sarà wp-content/uploads. Qui ci torna utile “Velvet Blues Update URLs” che tramite la sua comoda e intuitiva interfaccia ci permetterà di modificare i puntamenti alle immagini. Da Tools / Update URLs accederete al pannello del plugin dove sarà necessario specificare l’URL di partenza (da ricercare) e quello di destinazione (da sostituire).

velvet-update-urls

Sia chiaro: nel mio caso è stato “semplice“. Partivo da un concentratore all’interno del quale c’erano tutte le immagini seppur conservate in cartelle differenti, al contrario della destinazione (nuova) che invece puntava tutto nella cartella uploads di WordPress. Ho solo dovuto cambiare più volte il parametro “Old URL” (nella pagina del plugin, come in immagine sopra, ndr) e lanciare il processo di aggiornamenti dei collegamenti, il tutto selezionando solo la prima opzione (URLs in page content) perché avevo già fatto un primo lavoro di ricerca e sostituzione collegamenti tramite il sempre fidato Redirection. Avrei potuto utilizzare invece questo plugin anche per aggiornare i collegamenti negli articoli (sarebbe bastato selezionare anche la voce URLs in links).

Il processo è pressoché immediato, lancia una query MySQL sul database.

3- Riassegnare le immagini agli articoli

Ci avete fatto caso? Andando nella Media Library del vostro WordPress noterete che tutte le immagini caricate risultano “Unattached” (si lo so, ho WordPress in inglese e lo preferisco così), quindi non assegnate ad alcun articolo contenuto nel database. Giusto? Sbagliato. La risposta era ovvia, quello che è meno ovvio anche perdendo molto tempo sul web per cercare una soluzione è come porre rimedio. Vi facilito la vita: una modifica di un plugin già esistente (Media Tools, ndr) permette di fare uno scan pressoché automatico di tutti gli articoli del blog e passare in rassegna ogni immagine attaccandola a ciascuno di questi senza ulteriore vostro intervento.

Ho ritoccato ancora un po’ il plugin e ho rimosso le opzioni non utili ai fini di questa attività. Una volta caricato nel vostro spazio FTP e attivato potete trovare la voce “Media Tools” sotto “Tools“. Una volta dentro avrete a disposizione una sola opzione (Attach Unattached Images), voi dovrete scegliere “All Contents” per passare in rassegna ogni contenuto del blog oppure “Posts” per specificare ulteriori dettagli. Vi consiglio di selezionare proprio l’ultima voce citata. Per evitare sovraccarichi di CPU / RAM del vostro hosting condiviso e per non affaticare troppo il database (per query a ripetizione) è più corretto scegliere Posts, selezionare una categoria alla volta (in Categories, ndr) e addirittura un intervallo di date nel caso in cui gli articoli superino i 100 nella categoria indicata.

Messe a posto le necessarie opzioni potrete lanciare il processo tramite il pulsante in fondo alla pagina (Attach Unattached Images, sempre lui ;-)).

attach unattached images

La durata del processo dipende ovviamente dalla quantità di articoli presenti sul database e dalle capacità del server che vi ospita. Come già detto (meglio ribadirlo) è meglio ripetere l’operazione suddividendola in categorie e intervalli di data piuttosto che mandare “in palla” il tutto lanciando un processo su ogni contenuto presente sul vostro blog ;-)

media-tools-attach-unattached

4- Pulizie di primavera

Ancora un ultimo sforzo, ormai ci siamo. Questo è un passaggio non fondamentale ma credo tutto sommato utile per tutti. Quando si caricano le immagini nel proprio WordPress, lo stesso effettua dei ridimensionamenti e tiene più versioni della stessa immagine così da poterle fornire rapidamente all’autore (o agli autori) degli articoli. Se lo storico pubblicato fino ad oggi però contiene immagini dalle dimensioni ben precise, avere a bordo delle ulteriori versioni delle stesse non fa altro che occupare spazio inutile sul disco.

Può quindi essere utile fare pulizia eliminando ciò che non è necessario? Parbleu, ma certamente! ;-)

In casi come questo può tornare molto utile un plugin che ho trovato abbastanza ben fatto e performante dopo averne provati diversi. Si tratta di Image Cleanup. Una volta installato e attivato si potrà richiamare dal menu Tools della dashboard di WordPress (fa parte anche lui del pacchetto che vi ho preparato e condiviso ad inizio articolo, ndr). Dalla sua schermata principale potrete lanciare un’indicizzazione completa delle immagini presenti in archivio (pulsante Index Images vicino al titolo del plugin) la quale al termine genererà due voci specifiche: Unreferenced Unused Images e Obsolete Referenced Images.

Image Cleanup WordPress

Selezionando ciascuna delle due voci verranno caricati gli elenchi di immagini non utilizzate rilevati. Dal menu di Bulk Actions potrete scegliere di cancellare tutti i file semplicemente selezionando la voce Delete e confermando con Apply. Ripetendo l’operazione per tutte le pagine dell’elenco si arriverà ad avere (manco a dirlo) zero entry in lista (in realtà la lista sarà comunque popolata ma con un “Deleted” in corrispondenza di ciascuna immagine). Fate attenzione nel caso in cui abbiate temi personalizzati o modifiche al feed RSS che magari vanno ad utilizzare le immagini in dimensioni differenti, queste potrebbero risultare inutilizzate “agli occhi di WordPress” nonostante non lo siano per tema o chissà cos’altro (servizi esterni / pagine statiche / ecc.), mi è successo un errore simile con Fuorigio.co e ho dovuto poi rimediare ripristinando qualche immagine che ho per errore incluso in quelle da cancellare, occhio! ;-)

In conclusione

Spero di avervi dato ogni riferimento possibile nel caso in cui dobbiate replicare questo tipo di operazione sul vostro CMS. Il processo non è complesso ma è necessario fare attenzione a dove si mettono le mani e -come sempre- avere un backup a portata di mano per ripristinare ogni cosa nel caso in cui facciate (involontariamente o non) dei danni alla struttura. L’operazione può richiedere qualche ora di lavoro (dipende dalla quantità di dati e dalle risorse messe a disposizione dal vostro hosting provider) ma di sicuro alla fine vi porterà al risultato desiderato, permettendovi così di dare maggiore velocità all’intero sito web, che male non fa mai secondo le analisi di Google & Co.

In caso di dubbi come sempre l’area commenti è a vostra disposizione. Vale anche per lasciare un vostro consiglio, magari un domani (oppure oggi stesso) è possibile sostituire qualche passaggio con informazioni e istruzioni più semplici da capire e portare a termine, io ho utilizzato una strada che ho ritenuto affrontabile con uno sforzo non minimo ma neanche insopportabile, capisco che per alcuni utenti potrebbe non essere così e per questo vi invito a dire la vostra! :-)

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

3 Commenti
Oldest
Newest Most Voted
Inline Feedbacks
View all comments