Questo è un post tecnico di 7 anni fa. Le istruzioni potrebbero non essere più valide. Publicato: Marzo 22, 2018
Con questa guida ti mostrerò le procedure che devi utilizzare per spostare WordPress da una sottocartella alla cartella principale senza errori e sopratutto senza seccature.
Non è raro che molti blogger decidano di installare WordPress in una sottocartella (es. https://miodominio.it/wordpress) del proprio dominio principale (https://miodominio.it/).
Questa scelta viene fatta, di solito, per:
- nascondere il sito web durante il periodo di sviluppo e/o per condividere le modifiche in corso con i clienti;
- oscurare la posizione dei file e delle cartelle di WordPress aumentando in questo modo la sicurezza del proprio sito web contro attacchi hacker.
- mantenere pulita la directory principale per l’installazione di eventuali altre applicazioni.
Di solito la maggior parte dei blogger preferisce una cartella diversa da quella principale per sviluppare il sito web prima della messa online definitiva.
Una volta completato il lavoro, diventa necessario spostare il sito web dalla sottocartella (es. wordpress) alla cartella principale del dominio (https://miodominio.it/).
Non spaventarti!
Se anche tu ti trovi in questa situazione, sei capitato nel posto giusto.
Ecco le procedure per spostare WordPress (anche nella versione multi-site) da una sottocartella alla cartella principale senza errori.
Trasferire (senza spostare) WordPress da una sottocartella alla cartella principale
Con questo metodo (non valido nel caso di installazioni WordPress multi-site) non sarà necessario spostare fisicamente tutti i file e le cartelle di WordPress nel dominio principale. Sposteremo solo il file index.php opportunamente modificato e il file .htaccess.
A questo punto con una semplice modifica nelle impostazioni generali di WordPress saremo pronti a trasferire il sito web dalla sottocartella alla cartella principale del nostro dominio.
Segui questa procedura che in pochi e semplici passaggi ti permetterà di spostare WordPress da una sottocartella alla cartella principale del tuo dominio.
## Elimina tutti i file e le cartelle
Elimina tutti i file e le cartelle WordPress presenti nella cartella principale compreso il database facendo attenzione solo a non eliminare la sottocartella dove stai sviluppando il nuovo sito web (in questo esempio la cartella wordpress).
Ovviamente fai sempre prima una copia di backup dell’intero sito web nel caso qualcosa non dovesse andare per il verso giusto.
Per eliminare il database puoi usare PhpMyAdmin, disponibile, se come me usi Siteground, su tutti i piani hosting o, se previsto, nell’account cPanel del tuo hosting web.
## modifica il campo “Indirizzo sito (URL)”
Accedi alla bacheca di WordPress del sito web nella sottocartella.
Da qui vai su Impostazioni e poi su Generale ed infine modifica il campo “Indirizzo sito (URL)” cancellando il nome della sottocartella come mostrato in figura. Non modificare in nessun caso il campo “Indirizzo WordPress (URL)”.
## Copia (senza eliminare) il file index.php
Copia (senza eliminare e/o spostare) e Incolla il file index.php della sottocartella nella cartella principale del dominio. Per fare la copia del file index.php puoi usare un qualsiasi programma FTP (es. Filezilla) o il plugin FTP WordPress WP File Manager.
A questo punto modifica il file index.php cambiando la stringa di codice relativa al percorso del file wp-blog-header.php come mostrato di seguito:
Sostituisci questa riga di codice:
Con quest’altra riga di codice:
Fatto!
Il tuo sito in questo momento è stato spostato dalla sottocartella alla cartella principale del tuo dominio.
Adesso, se come me, sei come San Tommaso, per verificare che tutto sia andato a buon fine, digita nel tuo browser l’URL del dominio principale è noterai che anche se il sito continua a risiedere nella sottocartella viene però visualizzato all’indirizzo del dominio principale.
## Nel caso di problemi di collegamento
- Aggiorna i Permalink e salva le modifiche (Opzionale).
- Sposta il file .htaccess della sottocartella nella cartella principale del dominio (Opzionale).
Il sito web ora è accessibile all’url del domino principale (https://miodominio.it) ma per fare il login devi sempre digitare il percorso della sottocartella (https://miodominio.it/wordpress/wp-login.php o https://miodominio.it/wordpress/wp-admin )
Se, invece, ti interessa fisicamente spostare WordPress da una sottocartella alla cartella principale del dominio e quindi effettuare anche il login direttamente dall’URL del dominio principale, segui il secondo metodo.
Spostare WordPress da una sottocartella alla cartella principale (fisicamente)
In questo caso, con l’utilizzo di un semplice plugin WordPress sarà possibile generare un apposito file di backup del sito web installato nella sottocartella che può essere ripristinato in una nuova installazione di WordPress ottenendo come risultato la copia esatta del sito della sottocartella nella cartella del dominio principale.
## Installa ed attiva un plugin per il backup
In questa guida utilizzerò il plugin “All in One WP Migration” avendolo trattato in un’apposita guida, ma per lo scopo da raggiungere, è possibile utilizzare anche altri plugin per il backup come Updraftplus, Backwpup etc.
Installa ed attiva il plugin “All in One WP Migration” nel sito web che si trova nella sottocartella ed avvia una prima copia di backup. Il risultato che otterrai sarà un file con estensione .wpress che corrisponde ad un copia esatta del tuo sito web nella sottocartella e che si trova in questo percorso “https://tuodominio.com/wordpress/wp-content/ai1wm-backups”
## Elimina la vecchia installazione di WordPress nella cartella principale
Elimina tutto quello che trovi nella root del domino principale facendo attenzione solo a non eliminare la sottocartella che contiene il sito web che vuoi spostare.
## Procedi con una nuova installazione di WordPress nella cartella principale
Per lavorare su una installazione pulita di WordPress scarica e installa nel percorso del tuo dominio principale, la versione più aggiornata da qui.
## Installa ed attiva il Plugin “All in One Wp- Migration”
Installa ed attiva il plugin di backup nella nuova installazione di WordPress e genera un primo backup. In questo modo il plugin creerà la cartella (ai1wm-backups) che conterrà questo backup e quelli futuri che farai in questo percorso: “https://tuodominio.com/wp-content/ai1wm-backups“
## Copia il file di backup dalla sottocartella alla cartella del dominio principale
Copia il file di backup dalla sottocartella che si trova in questo percorso “https://tuodominio.com/wordpress/wp-content/ai1wm-backups” alla cartella del dominio principale che si trova in quest’altro percorso “https://tuodominio.com/wp-content/ai1wm-backups“.
Per fare la copia del file di backup puoi usare un qualsiasi programma FTP (es. Filezilla) o il plugin FTP WordPress WP File Manager.
## Utilizza la funzione “Ripristinare” del plugin di backup
La funzione “Ripristinare” crea un clone esatto del tuo sito web (database e file) e personalmente, posso dire che ogni volta che l’ho usata, non ha mai fallito un colpo!
Unico neo della versione gratuita del plugin “All in One Wp Migration” è il limite a 512MB. Se il tuo sito è più pesante, devi acquistare la versione commerciale che arriva fino a 5GB.
Nella nuova installazione di WordPress della cartella principale, vai su All in One Wp Migration > Backups e poi clicca su “RIPRISTINARE” in corrispondenza del precedente file di backup che hai copiato dalla sottocartella (wordpress).
Infine, aggiorna i permalink ed assicurati che tutto sia andato per il verso giusto testando le pagine e i post del nuovo sito web ora presente nella cartella principale.
Fatto ciò, puoi tranquillamente eliminare la sottocartella con tutti i suoi file.
E questo è tutto!
WP multisite: spostare WordPress da una sottocartella alla cartella principale
Per la versione multi-sito di WordPress la procedura per trasferire (senza spostare) WordPress da una sottocartella alla cartella principale è leggermente differente e richiede alcune modifiche al database e ad alcuni file.
In particolare, per modificare il dominio principale di un’installazione WordPress multisite, è necessario innanzitutto aggiornare cinque valori nel database del sito web.
Fai sempre un backup del database prima di qualsiasi modifica.
Modifica le tabelle WordPress
Iniziamo le modifiche dalle seguenti tabelle del database:
- wp_options: linee chiamate “siteurl” e “home”
- wp_site
- wp_sitemeta: la voce denominata “siteurl”
- wp_blogs: qualsiasi voce nella colonna “domini” che ha il vecchio nome di dominio
- wp_#_options: Poiché ogni sotto-sito avrà una serie di tabelle che corrispondono a blog_id nella tabella wp_blogs, devi passare alla tabella delle opzioni wp _ # _, dove # corrisponde al blog_id e aggiornare i valori “siteurl” e “home” nella tabella.
Per modificare le tabelle, è possibile utilizzare lo strumento PhpMyAdmin, disponibile, se come me usi Siteground, su tutti i piani hosting.
Negli esempi seguenti la => indica la parte che devi sostituire/modificare.
Assicurati di modificare le URL, esattamente come sono. Ad esempio, se il valore del dominio nel database include HTTP, è necessario mantenere questo formato:
http://miodominio.it/wordpress => http://miodominio.it
Queste sono le modifiche che devi apportare alle tabelle. In pratica le modifiche consistono nella cancellazione del nome della sottocartella “wordpress”.
Nella tabella wp_options si trovano le colonne option_name e option_value.
Cerca la voce siteurl e home sotto option_name. Nella voce a fianco, option_value, modifica come indicato di seguito:
https://www.miodominio.it/wordpress => https://www.miodominio.it
localhost /wordpress/ => localhost /
localhost /wordpress/sottosito1/ => localhost /sottosito1/
siteurl https://miodominio.it/wordpress/sottosito1 => siteurl https://miodominio.it/sottosito1
home https://miodominio.it/wordpress/sottosito1 => home https://miodominio.it/sottosito1
Fai molta attenzione alle modifiche perché WordPress ha regole molto severe per ogni campo, a seconda della tabella.
Le tabelle wp_site e wp_blogs NON possono includere https:// o uno slash alla fine del nome di dominio. Dall’altra parte, la tabella wp_options, DEVE includere http:// all’inizio. Nella tabella wp_sitemeta è necessario avere http:// all’inizio e un trailing slash alla fine.
Se il tuo sito Web utilizza un SSL o è configurato per funzionare con www, è necessario mantenere questa configurazione. Ad esempio, se hai sia SSL che www, devi mantenerlo come nell’esempio seguente:
https://www.miodominio.it/wordpress => https://www.miodominio.it
Modifica i file WordPress
Adesso, passiamo alle modifiche che devi effettuare ai file.
Il file che devi modificare è il file wp-config.php (che si trova all’interno della cartella wordpress). Modifica il file come nell’esempio seguente, ovvero cancellando il nome della sottocartella wordpress:
Poi devi copiare (NON spostare) il file index.php (che si trova sempre dentro la cartella wordpress) nella cartella principale e devi modificarlo aggiungendo “wordpress” prima di “/wp-blog-header.php” in questo modo:
Infine, devi creare un file .htaccess e copiarlo sempre nella cartella principale del dominio:
Fai attenzione ai nomi delle sottocartelle (sotto-siti) che possono cambiare. In questo esempio il nome della sottocartella è “wordpress”.
Ok fatto! Adesso, con questo è davvero tutto!
Spero che con questa guida sei riuscito finalmente a spostare WordPress da una sottocartella alla cartella principale senza problemi e soprattutto senza seccature.
Ti piace?
Se hai trovato utili le informazioni che ho condiviso, iscriviti subito al mio gruppo chiuso Facebook [WordPress primi passi] o al mio canale Telegram per ricevere in anticipo nuove chicche e nuovi trucchi per il successo del tuo Blog WordPress.
Se ti piace quello che scrivo, fai una donazione per contribuire a sostenere il mio blog! Fai Ora una donazione con PayPal 😉
Mi puoi trovare anche su questi social: Twitter, Facebook, YouTube, Linkedin, e Instagram.
Lascia un commento