# Diciannove anni di articoli portati su un sito nuovo.

> Un'associazione nazionale del settore della mobilità pubblica sul proprio sito notizie, studi e atti di convegni dal 2007. Per il sito nuovo l'archivio doveva arrivare intero: date, autori, categorie, dati SEO, immagini e i documenti linkati nel testo.

- Settore: Associazioni
- Ambito: Siti web
- Stato: In corso
- URL: https://cloudfactory.it/progetti/migrazione-archivio-articoli-wordpress/

## In breve

Stiamo costruendo il nuovo sito di un'associazione nazionale del settore della mobilità, in WordPress con Divi, su un nostro server AWS. Abbiamo migrato l'archivio degli articoli dal 2007 a oggi con WP-CLI: date, autori, categorie, tag e dati SEO. Il primo import ha perso molte immagini in evidenza; lo abbiamo rifatto con un export completo, ricollegato le immagini e recuperato i 217 documenti inseriti nel testo, quasi tutti PDF.

- **2.036** articoli importati, tra pubblicati, bozze e privati
- **867** articoli con l'immagine in evidenza ricollegata
- **217** documenti nel testo recuperati, quasi tutti PDF
- **776** file della libreria media importati

## Contesto

Sul sito attuale ci sono quasi duemila articoli, dal 2007 a oggi, con studi, report e atti di convegni allegati. Il sito nuovo è in WordPress con Divi e un child theme dedicato, su un nostro server AWS, in un utente isolato. Lo raggiungiamo dalla console AWS, e da lì passano anche i file.

## Il problema

Un archivio di questa dimensione non si importa dal pannello di WordPress: va in timeout a metà. E il primo import, fatto partendo dall'export dei soli articoli, ha lasciato più di mille articoli pubblicati senza immagine in evidenza: in quel modo WordPress include solo le immagini caricate dentro ogni articolo, non quelle riusate da altri articoli o caricate dalla libreria.

## Cosa abbiamo fatto

1. **Import da riga di comando.** Abbiamo caricato l'export su S3, scaricato il file sul server con un link temporaneo e lanciato l'import con WP-CLI in background, controllando il log a ogni passo invece di aspettare la fine.
2. **Rifatto, non rattoppato.** Rilanciare l'import non bastava: gli articoli già presenti vengono saltati e le immagini non si ricollegano. Abbiamo cancellato solo i contenuti del primo import, individuati per ID, e rifatto tutto da un export completo.
3. **Immagini in evidenza.** Abbiamo ricollegato l'immagine in evidenza a tutti gli 867 articoli che ce l'avevano sul sito attuale. Gli articoli più vecchi non ne hanno, e restano così.
4. **Documenti nel testo.** Nel testo degli articoli c'erano 217 documenti, quasi tutti PDF, che l'importer non porta perché non stanno nella libreria. Li abbiamo copiati sul sito nuovo, aggiornato i link e verificato che nessun articolo punti più a file sul vecchio dominio.
5. **Categorie e tag da ripensare.** I tag della nuvola in barra laterale sono 32, assegnati a una cinquantina di articoli: la classificazione vera sta nelle categorie, molte con nomi ripetuti. Abbiamo proposto di riorganizzarle sul sito nuovo, trasformandone alcune in tag.

## Com'è andata

Gli articoli sono sul sito nuovo, in ambiente di sviluppo, con immagini, documenti e dati SEO. Restano da migrare pagine, eventi del calendario e area riservata ai soci.

## Strumenti

WordPress, Divi, WP-CLI, WordPress Importer, Amazon S3, AWS EC2, Yoast SEO

## Domande frequenti

### Si possono migrare migliaia di articoli WordPress senza perdere le immagini?

Sì, esportando tutti i contenuti e non solo gli articoli, e verificando dopo l'import quanti articoli hanno l'immagine in evidenza rispetto al sito di partenza.

### Perché WP-CLI invece del pannello di WordPress?

Perché dal pannello un import di migliaia di articoli che scarica le immagini dal sito di origine va quasi sempre in timeout. WP-CLI non ha limiti di tempo e si può seguire dal log.

### Che fine fanno i PDF inseriti negli articoli?

Vanno recuperati a parte: l'importer porta solo la libreria media. Si scaricano dal vecchio sito, si caricano sul nuovo e si sostituiscono i link nel testo.

---

Cloudfactory S.r.l., Roma. Contatti: hello@cloudfactory.it
