Dopo la guida su come eseguire il backup di WordPress ecco la spiegazione su come ripristinare il backup in caso di necessità.
Poter ripristinare WordPress può essere essenziale i seguito a problemi causati da qualche aggiornamento o…. da qualche disastro effettuato sul proprio sito web 🙂
La procedura riportata in seguito spiega come ripristinare file e database MySQL del proprio sito internet WordPress (ma con alcune modifiche dovrebbe essere adattabile a qualsiasi CMS).
Prima di tutto è necessario avere installato e configurato FileZilla (oppure altro client FTP a scelta).
Per la configurazione di FileZilla potete leggere la guida su Come effettuare il backup di WordPress: la procedura è identica e, se dovete ripristinare un backup, molto probabilmente avete già provveduto ad effettuare tale configurazione.
Ripristino file:
E’ la procedura più veloce e semplice dell’intero processo.
Per prima cosa accediamo al nostro spazio FTP: una volta avviato FileZilla clicchiamo sulla freccetta nera a fianco dell’icona del server (posta sotto il menù testuale “file”) apparirà il nome (o più nomi se avete salvato più di un server) del proprio sito web precedentemente salvato.
Basterà cliccare su di questo per avviare la connessione.
Completata la connessione potremmo trovarci difronte a due diverse possibilità variabili da hosting ad hosting:
Nel primo caso (a sinistra nella immagine) l’accesso avverrà direttamente e, nel riquadro a sinistra di FileZilla, avremo direttamente i vile del nostro sito web.
Nella seconda casistica (a sinistra nella immagine) non accederemo direttamente poichè prima dovremmo individuare la sottocartella dove vengono salvati i file: molte volte viene chiamata “public_html” (come nell’esempio) altre “www” oppure “httpdocs”…. fate riferimento alla documentazione fornitavi dal vostro hosting.
Per essere certi di aver aperto il percorso corretto, la directory in cui è installato WordPress contiene sempre le tre cartelle:
- “wp-admin”
- “wp-content”
- “wp-includes”
Cancelliamo tutti i file e cartelle presenti.
Completata la cancellazione apriamo il percorso dove abbiamo avuto l’accortezza di aver salvato il nostro Backup di WordPress e procediamo alla procedura di ripristino dei file.
Abbiamo due possibilità per avviare l’upload:
•Trascinare tutto il contenuto della cartella di backup (ATTENZIONE: sottolineo il tutto il contenuto e NON l’intera cartella!) con il mouse “dentro” alla schermata di FileZilla in stile “drag and drop”.
•Utilizzare la parte sinistra di FileZilla come “esplora risorse” selezionando il percorso nel quale è presente cartella di backup, aprirla, selezionarne tutto il contenuto ed infine avviare la procedura trascinando i file selezionati dalla zona di sinistra (file locali) a quella di destra (file remoti)
Verrà avviata la procedura di upload dei file: una volta completata dovrebbe apparire, su FileZilla, una schermata simile a questa:
Qualora ci fossero degli errori (che vengono segnalati nella scheda “Trasferimenti non completati” come da immagine sotto riportata) si può provvedere nel seguente modo: aprire la scheda “Trasferimenti non completati”, fare click destro sui file e, quindi, scegliere l’opzione “ripristina file e metti in coda”.
Grazie a questa procedura abbiamo provveduto a ripristinare i file del backup, il prossimo passaggio prevede il ripristino del database.
Ripristino Database:
Questa seconda operazione è leggermente più complessa del ripristino dei file.
Prima di procedere si deve verificare la dimensione massima importabile in phpmyadmin (o equivalente: fino ad adesso per la gestione dei database MySQL ho trovato SEMPRE phpMyAdmin in tutti i servizi di hosting testati.): clicchiamo sulla scheda “importa” e guardiamo la dimensione massima (sottolineata in rosso nell’immagine sottostante):
Una volta appurato che la dimensione del file contenente il backup del proprio database non supera le dimensioni sopra indicate si può procedere con la sua importazione non prima di aver cancellato l’attuale contenuto presente online!
Per fare questo bisogna selezionare il database contenente i dati: dovreste già essere stati informati dal vostro webmaster ma, se per qualsiasi motivo non ne siete a conoscenza, potete individuare il database da cancellare attraverso il file wp-config.php di WordPress: aprendo questo file (con blocco note oppure altro editor testuale tipo ConTEXT), che si trova nella cartella radice dell’installazione, potete facilmente individuare la voce “define(‘DB_NAME’ come potete vedere dall’immagine:
Ora che sappiamo il nome del db da cancellare torniamo nella schermata di phpMyAdmin e provvediamo a cliccare sopra a quello di nostro interesse: l’elenco dei database si trova, solitamente, a sinistra (nell’immagine ho sottolineato la posizione: tenete presente che potrebbero esserci più database!)
Una volta cliccato sul nome apparirà l’elenco di tutte le tabelle:
Ed alla fine ci sarà l’opzione per “selezionare tutto”: una volta scelta questa opzione tutte le tabelle diventeranno evidenziate: nel menù a tendina presente a fondo schermata scegliete “Elimina”
Si dovrebbe aprire automaticamente una nuova pagina che vi chiede conferma dell’operazione: ovviamente selezionate “SI”
Dopo una attesa (dipende dal server e dalla dimensione del vostro db) dovrebbe apparirvi una schermata simile alla seguente:
Abbiamo “svuotato” il nostro database!
Non ci resta che importare il nostro db di backup:
Clicchiamo su “importa” ed utilizzando il pulsante “sfoglia” individuiamo la copia del nostro database di backup (se non avete modificato nulla dovrebbe essere un file con estensione .sql.gz ma potrebbe essere anche in formato .zip o direttamente .sql) e clicchiamo sul pulsante “esegui” posizionato solitamente in basso a destra: si avvierà la procedura di importazione:
ATTENZIONE: questa procedura può come pochi secondi ma anche alcuni minuti!
Non chiudete la finestra del browser ed attendete il messaggio rilasciato.
Può capitare, in caso di database di dimensioni abbastanza rilevanti, che il processo si blocchi ed il caricamento avvenga solo parzialmente: molte volte, come avvisa il pannello di phpMyAdmin stesso, basta ripetere più volte la stessa procedura.
Nel caso il database sia di dimensioni talmente grandi da non poterlo importare direttamente avete due soluzioni:
A) dividerlo in più “pezzi” utilizzando appositi software
B) Inviare al vostro servizio di hosting il file contenente il database in maniera tale che potranno caricarlo direttamente da locale.
Completata la procedura dovrebbe apparirvi un avviso simile a questo:
Ovviamente il numero delle query eseguite varia da caso a caso.
Bene, abbiamo completato il ripristino di un backup di WordPress: se avete domande o avete necessità di spiegazioni non vi resta che contattarmi oppure compilare il form sottostante:
Salve, ho seguito tutta la sua guida nei dettagli. Sono rimasto bloccato nella seconda parte riguardo il backup del database. Ho scaricato tutti i file dal server. Ho cancellato i file dal Server. Ho ricaricato tutto in ordine sul server. Adesso non trovo il file del database sql tra i file del backup. Dove lo trovo? AIutoooo
P.s. Non ho ancora cancellato il DB
Non è un file o, più correttamente, è un file che si genera effettuando l’esportazione del database.
Sei entrato in phpmyadmin (o equivalente) ed hai effettuato l’esportazione?
Sono entrato su phpmyadmin ma non ho effettuato l’esportazione del db. Pensavo che il backup del db fosse all’interno dell’FTP. Quindi, dovrei esportare il DB attuale e ricaricarlo? non sarebbe uguale? In sostanza il mio sito wordpress improvvisamente mi dava errore 503 (forse qualche aggiornamento di plugin) e quindi ho pensato di caricare il backup automatico di una settimana fa. Adesso riesco ad accedere al pannello wordpress ma chiaramente non gira il sito credo per via del DB
No, non troverai mai (a meno che non sia stato generato da qualche plugin o funzionalità dell’hosting) il file SQL nello spazio FTP.
Dovresti scaricare, sempre dall’hosting, il backup del DB corretto ed eventualmente importarlo al posto di quello attuale… fermo restando che, in una situazione come quella paventata, mi sembra inutile sperare che un backup possa risolvere!
quindi non ho speranze? puoi aiutarmi?
Contattami che vediamo cosa si può fare 🙂
Ciao, uso un CMS diverso, ho preventivamente eseguito backup di File e DB però vorrei ripristinare il tutto su un dominio diverso, quali sono le modifiche da apportare nei miei file affinché tutto funzioni correttamente? Grazie in anticipo per la cortese risposta.
Salve, è possibile ripristinare un sito wordpress con backup del sito ma senza database (è scaduto e aruba ha definitamente cancellato). grazie
Purtroppo senza database il sito è andato irrimediabilmente distrutto.
L’unica speranza è che il sito avesse qualche plugin che facesse un backup del database stesso salvandolo nello spazio web.
No
Salve, sto seguendo il suo riprostino.
Come faccio ad assicurarmi di avere un backup su php prima di cancellare tutto?
Grazie..sono disperata!
Cosa intende “avere un backup su php”? Il backup di un sito WordPress è formato sia da file .php, da cartelle con al loro interno immagini, file, temi, plugin e poi dal database MySQL
Ciao,
nonostante il rinnovo del database, il mio sito non funziona
Ho avuto modo di verificare il sito in oggetto: se il vostro piano prevede più database state attenti a quale fate riferimento nel file wp-config.php! In questo caso il sito non si visualizzava perché usava il database sbagliato!
Veramente una guida ben fatta e chiara, la prima che non mi abbia dato problemi. Complimenti davvero e grazie!
Ti ringrazio per l’apprezzamento sul mio lavoro.
Ciao Gianluca, ho trasferito il mio dominio da GoDaddy a Tophost.
Ho il backup del sito fatto su wordpress e anche del sql database.
Ho cambiato il wp-config in modo da avere i dati del nuovo database e tutto dovrebbe essere ok.
Ho problemi a caricare lo sql. Mi da una marea di errori quando cerco di caricarlo, che devo fare?
ecco il messaggio di errore:
grazie mille!
Error
SQL query:
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `wp_commentmeta` (
`meta_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`comment_id` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT ‘0’,
`meta_key` VARCHAR( 255 ) COLLATE utf8mb4_unicode_ci DEFAULT NULL ,
`meta_value` LONGTEXT COLLATE utf8mb4_unicode_ci,
PRIMARY KEY ( `meta_id` ) ,
KEY `comment_id` ( `comment_id` ) ,
KEY `meta_key` ( `meta_key` ( 191 ) )
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
MySQL said: Documentation
#1273 – Unknown collation: ‘utf8mb4_unicode_ci’
Direi che c’è qualche errore… come hai esportato il database?
Poi c’è anche un problema relativo al set di caratteri…
Salve, ho seguito la guida in un ambiente di test, installato un template e creato 2 pagine con del testo, giusto per fare delle prove.
Ho scaricato tutta la cartella del sito con filezilla ed effettuato un backup direttamente dal phpmyadmin.
Quindi procedo a cancellare tutti i file all’interno del sito ed a rimuovere tutte le voci del db.
Ora, ricarico tutto il sito con filezilla all’interno del ftp e con phpmyadmin faccio l’importazione del db.
Tutto avviene senza errori e senza problemi ma….. all’apertura del sito vi è una pagina bianca e non riesco a risolvere (mi sto preoccupando per i miei altri siti, cui vorrei fare un backup).
Forse nell’ultima versione di wp (4.4.2) questa procedura non è sufficente?
Grazie
Al pannello di controllo si riesce ad accedere?
Alcune volte bisogna aprire il pannello di controllo > Impostazioni > Permalink e “risalvare” le impostazioni.
Inoltre potrebbero esserci stati degli errori nell’esportazione del database oppure un più semplice sbaglio nell’impostazione dell’url (con o senza “www” ad esempio).
Comunque la guida è perfettamente valida anche per l’attuale versione di WordPress
No, anche dal pannello admin non si accede, pagina bianca.
Visto che è un po che ci sto combattendo, ho esportato 2 volte il database e tutti i file. Il risultato è sempre uguale, una bella pagina bianca.
Tutti i plugin sono stati disattivati?
Si, ho rinominato la cartella plugin in plugin_old e anche quella del template originale
Ora sto provando ad importare prima il db, e successivamente il sito. E’ l’unico tentativo che ancora non ho effettuato. Ma non penso cambi molto la situazione, finisco e vediamo che succede.
Effettivamente è una situazione anomala: verificato il file .htaccess ?
Oppure abilitando la visualizzazione degli errori di WordPress (Wp_Debug) viene “stampato a video” qualcosa?
Attivando il debug e aggiornando il sito, vedo sempre la pagina bianca.
Il file .htaccess risiede nella root principale dello spazio, non sembra aver problemi in quanto altre demo in altre cartelle funzionano correttamente.
Grazie mille per il tuo aiuto, penso che dovrò cercare un altro sistema per fare backup magari con qualche plugin di wp.
Questo è molto strano….
Hai provato ad esportare il database utilizzando il plugin che consiglio nella “Guida al Backup di WordPress“e non phpmyadmin?
Si ho provato, ed al momento dell’importazione sul pannello phpmyadmin mi rilascia una serie di errori, per questo avevo optato ad esportarlo direttamente dal pannello.
Ah ecco!!
Probabilmente c’è qualcosa di corrotto….. credo che il problema sia da cercare più “a monte” 😉
Allora, ho provato a fare questa cosa.
Cancellato tutto.
Ricarico WP vergine e lo installo.
Aggiungo la cartella del TP dal backup.
Cancello le voci del DB appena create.
Importo il DB backuppato in precedenza.
In questo modo mi ha funzionato.
Grazie mille, ho imparato nuove cose 🙂
Come vedi c’era qualcosa di corrotto nei file di installazione 😉
Ho letto la guida e ti ringrazio davvero.
Mi trovo in un pasticcio bello grosso! Ho eseguito un backup di un sito wordpress precedentemente creato in una sottodirectory del sito (nomedelsito.com/test) e del relativo database in formato .sql. Il backup l’ho eseguito copiando i file da ftp FileZilla. Ho successivamente caricato il contenuto copiato da Filezilla nella directory principale. Il problema è che non funziona più nulla!
Cosa posso fare per rimediare?
Esattamente cosa succede? Pagina bianca? altri errori?
Scrivo con più precisione quanto accaduto, o meglio i disastri che ho combinato:
1) Il sito in wordpress è stato installato e completato in http://nomesito.com/test (fino a ieri perfettamente funzionante)
2) Successivamente ho spostato l’intero sito in http://nomesito.com tramite FileZilla, cancellando la precedente cartella “test” dopo avere eseguito un backup e dopo avere epsportato i contenuti attraverso il comando “esporta” presente negli strumenti di wordpress
3) Dalla pagina principale il sito funzionava ma non trovava i contenuti: pagine, articoli…
4) Così ho importato il file esportato precedentemente dagli strumenti di wordpress
5) Probabilmente è nato qualche problema nel database e si sono sovrapposte (se questo è il termine adatto) delle tabelle.
6) Ho cancellato tutte le voci presenti nella tabella “wp_posts” che riportavano la data dell’errore ed ho eseguito il backup sql solo successivamente a questa operazione
7) Ho rimesso il backup del sito (via ftp) nella cartella “test”
8) Ora i risultati sono visibili dalla pagina http://nomesito.com/test/
Chissà se esiste la possibilità di tornare alla situazione precedente, almeno per recuperare i contenuti che non riesco più a trovare ;(
Salve. io non riesco più ad accedere al mio sito wordpress. Cliccando su miodominio.com/wp-admin la pagina rimane bianca. Anche visitando il mio sito (qualsiasi pagina) la pagina rimane bianca. Ora, l’unica cosa in mio possesso è un backup (un file zip.gz). Non so come aprirlo per espanderlo. Oppure via ftp posso caricare il file compresso così com’è?
Beh detta così può essere di tutto!
Come spiegato nella guida i file del database vanno importati tramite phpmyadmin ma questo mi pare un caso diverso…. cioè anche importando il database non credo proprio che risolva!
Salve, ho visto la tua guida per fare il backup e ripristino di un sito con wordpress.
Io devo aprire un sito con altervista. Ora devo prendere e trasferire solo alcuni articoli da un mio sito già creato con altervista. Devo eseguire la procedura di backup e ripristino del database e file? o solo quella del database? Avrei problemi con i banner pubblicitari di google e altervista?
Grazie
Salve
ho avuto un attacco hacker per la seconda volta e vorrei ripristinare il sito da backup, ho letto qui ma non ho capito se da FTP devo cancellare i file presenti nella nuova istallazione e caricare tutti i file del backup nella cartella public_html o solo la cartella WP_contenent
Grazie
Oltre a ripristinare bisogna vedere cosa è successo, come e da dove son “passati”.
Se hanno corrotto dei file è conveniente cancellare tutto ma, ATTENZIONE nella cartella wp-content/uploads vengono caricate le immagini ed eventuali file multimediali (suddivisi in ulteriori sottocartelle).
In questo caso, se sono state fatte molte modifiche, farei comunque prima un backup della situazione attuale quindi cancellerei tutto il contenuto (sia file che database), cambierei tutte le password (FTP, WordPress e database) e proseguirei con il ripristino (ovviamente essendo sicuri che sia perfettamente funzionante!)