WordPress: spostare il sito dalla cartella alla root
Capita spesso di lavorare alla creazione di un nuovo sito creato con WordPress, usando una directory (o cartella) secondaria per comodità.
Le istruzioni sono presenti già nel pannello di amministrazione, ma per chi è pigro o si trova in difficoltà, vi riporto i semplici passi da seguire (nè uno più nè uno meno), per spostare il sito. Innanzitutto: NON SPOSTATE NIENTE, non spostate intere directory sulla root pensando che magicamente poi tutto funzioni come per un sito statico, perchè NON LO E’, ma seguite quello che vi sto per scrivere.

Questo è il pannello Impostazioni > Generale così come vi si presenterà se avete lavorato in una cartella diversa dalla root del sito. Il primo passo da fare è quello di modificare l’indirizzo del sito. ATTENZIONE: SOLO L’INDIRIZZO DEL SITO e non di WordPress, pertanto:

e confermate. Dopodichè non spaventatevi se vedete error 500: è perfettamente normale, perchè in questo momento avete modificato il file .htaccess, che dovrete spostare, insieme al file index.php, nella root principale. Solo questi due files pertanto, e non tutto il sito
Fatto ciò, editate il file index.php e modificate la seguente riga:
require('./wp-blog-header.php');
trasformandola in:
require('./directory/wp-blog-header.php');
Tutto qui.
NON toccate assolutamente l’htaccess…e vedi che ti mangi!
Per ulteriori dettagli: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory














Aggiungi a Google

52 Commenti
Ciao
domanda: vale solo per spostare un blog già esistente o è preferibile (per uìqualche motivo… sicurezza?) usare questa impostazione (wp in una sottocartella) a prescindere?
no, non cambia niente a livello di sicurezza, anche perchè i permessi sulle cartelle sono gli stessi. non so se può valere magari per quei server che non ti permettono di cambiare i permessi sulla root principale e quindi sei costretto a caricare i files di wordpress in una cartella. penso che in quel caso questa soluzione sia di aiuto.
capito grazie
Articolo utile.
A me è capitato di dover spostare l’intero wordpress sulla root ma in quel caso occorrono due database. Così è sicuramente più semplice
due database? sei sicuro? non vorrei dire cavolate, una volta l’ho fatto, ed è sufficiente cambiare anche l’indirizzo del sito e fare la stessa identica operazione spostando però stavolta tutta la cartella sulla root. se cambi invece anche il dominio è un altro discorso…
Io in quel caso uso un database di appoggio per precauzione, lavoro sulla directory e sul database Y, poi procedo ad installare ex-novo il wordpress nella root sul dabase X.
Poi copio le singole tabelle da Y a X ad eccezione di wp-options (e credo anche un’altra, ora non ricordo). In quel caso poi bisogna settare di nuovo le opzioni.
Comunque è una cosa che ho fatto per precauzione, probabilmente funziona anche come dici tu o comunque c’è un metodo più veloce, io ho fatto in quel modo perchè ho dovuto migrare parecchi contenuti da un altro sito verso wordpress e sai com’è… la prudenza non è mai troppa
Manuxxon N, ti assicuro che basta cambiare da Impostazioni > Generale sia l’indirizzo di wordpress che del sito prima di effettuare lo spostamento. Male che va, se sposti prima di cambiarle, queste due voci fanno riferimento a due campi della tabella wp_options (dovrebbero essere “home” e “siteurl”).
Piccolo appunto: nella tabella wp_post c’è un campo per l’url del post (guid) che andrebbe aggiornato quando si fanno questi spostamenti (http://www.papasoft.com/2008/12/30/updating-guid-in-your-wordpress-database/). Pena non poter usare “guid” all’interno dei loop (porterebbe ad un url sbagliato). Comunque è difficile farci caso perché per ottenere l’url usano tutti permalink/get_permalink()
Devo spostare un sito wordpress nella root , ho provato , ma mi sposta regolarmente la home page
ma i collegamenti alle PAGINE no .
uso i permalink
/%page-name%
potete darmi una mano??
quando clicco sulle pagine interne il link
mi porta alla dir e non alla directory e quindi mi dice pagina inesistente..
@valentina potrebbe essere una questione di database mysql, prova a controllare i valori GUID nella tabella WP_POST
il comando mysql per aggiornare sarà una cosa del genere
update wp_posts set guid=replace(guid,’http://www.dominio.com/test’,’http://www.dominio.com’);
Fatto tutto ma non funziona.
Per curiosità ho aperto il file .htaccess dopo l’operazione e risulta vuoto.
Che fare secondo voi? (desperation)
è proprio lì il problema. scrivici questa roba: http://www.wordpress-it.it/forum/topic.php?id=1236
Io ho installato wordpress su Aruba Linux tramite un applicativo di Aruba che permette l’installazione automatica. Ho spostato l’index.php fuori dalla cartella wordpress e l’ho modificato. Il blog viene visualizzato correttamente, ma non vengono indicati gli autori dei post, nonostante siano impostati, compare solo se entro nel post specifico e uso il tema Twenty Eleven. Nella bacheca tutto viene visualizzato sotto http://www.miodominio.it/wordpress/wp-admin…..
Forse può dipendere dal .htaccess che non ho spostato? Il fatto è che io tramite il file manager di Aruba vedo un .htaccess dentro wordpress e uno fuori, nella root. Che faccio?
il file .htaccess deve stare dove sta la index, per cui devi cancellarne uno
Ciao, Innanzi tutto ti ringrazio della tua semplice ed efficacissima guida per lo spostamento della cartella del sito.
Mi sono cimentato per due siti (entrambi ospitati su Aruba Linux) e mentre per il primo non ci sono stati grossi problemi (se non la modifica di alcune url di link che avevo impostato in maniera completa e non in permalink), nel secondo caso mi dà il problema che se provo a cliccare sul logo o sul link “Home” del menu mi dà un errore di “Forbidden” dicendo che non posso accedere alla cartella /wordpress.
Di cosa potrebbe trattarsi?
Grazie ancora e complimenti per il sito.
ciao! felice che ti sia stato di aiuto. in genere l’errore 403 forbidden viene dato quando si tenta di accedere ad una cartella. i problemi potrebbero essere: 1. cosa hai scritto su home? conviene mettere la url completa, altrimenti 2. hai impostato i permalink? o 3. hai una cartella con un nome particolare fisicamente risiedente sul tuo server?
Grazie per la risposta!
.
dunque… Ho installato wordpress nella sua cartella “wordpress”, e lì i link alla home del menu e del logo funzionavano bene. Poi ho seguito la tua guida e, cliccando sia sul link home che sul logo, cerca di portarmi alla cartella “wordpress”, che ora dopo la modifica è inaccessibile (inoltre il file index.php) è nella root.
Ho impostato i permalink nella configurazione standard.
Il tema in uso è “custom community”.
Mi sto spulciando i codici dei vari componenti php per vedere se da qualche parte si può impostare l’indirizzo della home magari anche in maniera statica, ma non trovo niente
Quello che mi suona strano è che su un altro sito ho eseguito la stessa procedura e funziona alla perfezione, ma utilizza un altro tema, chiamato “Boldy”. Sarà questo il problema?
Grazie ancora per l’attenzione, e complimenti ancora!
ma se hai spostato tutto nella root il tasto home deve indirizzare a: “/” e non più a “/wordpress”
per forza ti dice forbidden, non puoi assolutamente entrare nella cartella wordpress
Si questo lo so
infatti non mi spiego come fare a cambiare la home predefinita del blog, che risulta ancora /wordpress/… In pratica sul logo non ho toccato niente, ma non si è aggiornato automaticamente il link alla “nuova” home dopo il passaggio (e lo stesso capita al link “home” del menu). Ho controllato sul sito del produttore del tema ma questo problema non è menzionato
Scusami, evidentemente era un problema momentaneo… Ho rifatto i passi a ritroso e poi ho di nuovo seguito la guida ed ora funziona tutto alla perfezione! Grazie mille per l’attenzione, e scusa ancora per il disturbo.
PS mi sa che prenderò il tuo ebook
di niente, figurati, sapevo che prima o poi avresti risolto.
ps grazie!!
E’ una soluzione che propone ufficialmente anche il team di WordPress ma tecnicamente non è molto convincente. Wp, infatti, ha il brutto vizio di memorizzare ogni link assoluto di articoli, pagine e revisioni all’interno del database, per cui effettuando solo queste operazioni visuali il core in un primo momento chiama in causa la pagina “tuosito.it/directory” effettuando in un secondo momento un redirect a “tuosito.it”. Quindi, se permettete un consiglio per completare il tutto in maniera pulita e precisa: appena spostate il web sotto la directory definitiva perdete 10 minuti in più per effettuare il dump del database più un find & replace massivo di tutte le stringhe da “tuosito.it/directory” a “tuosito.it”.
giusto, un ottimo consiglio. grazie Mario!
@Mario, quello di cui tu parli è il campo GUID. Anche in origine pensavo (vedi commenti sopra) che andasse aggiornato, poi ho letto questo http://codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
e per i non aglofoni
http://www.wordpress-it.it/forum/topic.php?id=13482
Non serve aggiornarlo perché non serve per il routing e non va usato nel template per ricavare l’url: ha un senso differente. Credo sia indifferente per un sito ancora da pubblicare, ma è assolutamente sbagliato modificarlo se si sta spostando un progetto già avviato.
La ricerca sul database può essere utile solo se ci sono link interni nei contenuti dei post e/o nei widget
Oltre al GUID ci sono parecchi plugin, oppure widget che utilizzano all’interno della loro gestione stringhe all’indirizzo assoluto.
Spesso mi capita spostare l’applicativo da locale (quindi localhost/sito) a web (www.sito.it), cosi facendo ho un database pieno zeppo di riferimenti a localhost (guid compreso), cambiarli non sarebbe male a mio modo di vedere.
Ciao a tutti,
domanda banale, se entro nel pannello di controllo di Aruba vedo la struttura del sito e ho trovato il file “.htaccess” e “index.php” ma come faccio a spostare i due file nella root principale? Io ho provato a trascinare con il mouse nella root principale ma non funziona, potreste aiutarmi?
Forse sarebbe meglio usare un client ftp
http://vademecum.aruba.it/cgi-bin/cerca/search.pl?q=filezilla
ciao, ho un domanda: seguendo la tua guida dopo il permalink cambierà anche per le categorie, i tag, i commenti, i feed, ecc. o solo per la home?
mi interessa sapere questa cosa perché non riesco ad inserire il robots.txt al sito, perchè il bot non entra nelle sottodirectory ma solo nella radice. Ho l’esigenza di bloccare determinati file per evitare il contenuto duplicato….. Grazie Mille!!
Ciao ho fatto la procedura che dici ma funziona solo la home page per il resto da 500 Internal Server Error
sapreste darmi una mano grazie!
non hai spostato anche l’htaccess se ti fa così
I file .htaccess e index.php vanno copiati non spostati
no, vanno spostati
prova e svelerai il mistero
aiuto, non mi viene permesso di modificare: Sito Web (URL)….ma perchè????
e inoltre dove vanno spostati i 2 file?
nella root principale…
Salve a tutti, sono 4 giorni che sto cercando di capire come fare a spostare il sito dalla cartella alla root e ho letto di tutto e di più nonostante ciò non ci sto capendo niente ( sono completamente ignorante per tutto quello che riguarda script, codici, index, htaccess, BUBBLES ecc.).
Con questo articolo diciamo che mi sto avvicinando all’illuminazione informatica e mi si stanno chiarendo un po’ le cose… quindi intanto grazie ma….
. Ho installato WP attraverso un applicazione su Aruba, ora entro dal pannello di controllo su “filemanager” e mi trovo questo
lnx.nomesito.it
cartella “cgi-bin”
cartella “wordpress”
Posso agire da qui per spostare WP e se si come faccio?
ok nella root principale, ma se non mi viene permesso di modificare l’ indirizzo come faccio??
non mi è mai successo irene, che hosting hai?
drugo: la cartella wordpress contiene wordpress, se vuoi spostare tutto nella root principale devi seguire i semplici passi che ho evidenziato sopra
ho top host..
sono riuscita a modificare l’ URL ma non funziona!! sul http://www.miodominio.com non è cambiato nulla, e se provo ad aprire http://www.miodominio.com/wordpress mi compare questo:
Warning: require(./directory/wp-blog-header.php) [function.require]: failed to open stream: No such file or directory in /home/mhd-01/www.comprendiamoilcane.com/htdocs/wordpress/index.php on line 17
Fatal error: require() [function.require]: Failed opening required ‘./directory/wp-blog-header.php’ (include_path=’./:/usr/share/php/’) in /home/mhd-01/www.comprendiamoilcane.com/htdocs/wordpress/index.php on line 17
Help me!
mi correggo…è il contrario!!
Oddio ragazzi….ho fatto un casino…. in “modalità ignorante” ho spostato la cartella in cui avevo istallato wordpress e messa nella root principale del sito…. realizzando di aver fatto un casino ho fatto ricerche sul web…. e ho trovato questo articolo. Mi morderei le mani…. ora non si vede più nulla e sono in panico…. cosa faccio?!!!
root principale: http://www.studionois.it
cartella che volevo spostare: http://www.studionois.it/wordpress
grazie per chi mi sa dare una mano….
daniela è giusto che non si veda niente, devi spostare il file htaccess e index.php nella root. eppure c’è scritto di non spaventarsi per l’errore 500
ce la puoi fare!
leggi piano
fatto!!! grazie mille per il sostegno!
figurati, ci sono passata anche io e all’inizio ti manda in panico, ma una volta che capisci il meccanismo è una pacchia. buon lavoro!
E se invece avessi già il tuo sito in una directory e lo volessi trasferire nella directory radice conservando il ranking e impostando dei redirect in modo che l’articolo in “www.sito.it/blog/articolo1″ vada automaticamente a “www.sito.it/articolo1″?
Bella domanda, eh?
Per questo scopo esiste il metodo di redirect “301″. Non so se posso postare questo link ad un altro blog, nel caso non fosse possibile mi scuso e chiedo di cancellarlo: http://www.regole-seo.com/redirect-301
Sembra facile, ma se avessi un blog wordpress con centinaia di articoli nella directory “blog”, e volessi spostarmi nella root dir, come dovrei impostare un 301 redirect?
Salve io o fatto esattamente il contrario.
Era inpostato cosi ed andava tutto bene
Indirizzo wordpress (URL) http://www.affitti-case-arredate-brevi-periodi.it
indirizzo del sito (URL) http://www.affitti-case-arredate-brevi-periodi.it
Ho fatto cosi ed ora non riesco ad entrare nel pannello di controllo admin
Indirizzo wordpress (URL) http://www.affitti-case-arredate-brevi-periodi.it/directory
indirizzo del sito (URL) http://www.affitti-case-arredate-brevi-periodi.it
Potresti aiutarmi ad uscire da questa situazione e ripristinare tutto comera?
Come faccio ora ad entrare nel pannello di controllo di amministrazione?
ciao, ho seguito la tua guida, è ottima, cè molta confusione sul web, compresi articoli che consigliano di spostare l’intera installazione di wordpress. Cosa Assolutamente ERRATA.
Seguite questo Post // Ricordando che il file .htacces nei server FTP sono nascosti, quindi bisogna abilitare la visualizzazione file nascosti per poter lo vedere.
Comunque a me ha funzionato alla perfezione, soltanto che ho un problema, il pannello admin è rimasto sotto la vecchia cartella (../2012/wp-admin) io ho fatto il passaggio alla root principale. Che devo fare?? devo modificare qualche file della cartella wp-admin???
Grazie tantissimo!
Avevo gia risolto Grazie comunque Lauryn