Membro di PiperitaLab
Home » Cms e developing » Wordpress » WordPress: spostare il sito dalla cartella alla root

WordPress: spostare il sito dalla cartella alla root

Scritto da il 11 aprile 2011 in Wordpress - 52 Commenti - 3074 visite

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.

Immagine 12 Wordpress: spostare il sito dalla cartella alla root

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:

pannello2 Wordpress: spostare il sito dalla cartella alla root

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 icon wink Wordpress: spostare il sito dalla cartella alla root

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! icon biggrin Wordpress: spostare il sito dalla cartella alla root

Per ulteriori dettagli: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

L'Autore

Laura Gargiulo, webdesigner freelance. Web architect senior, esperta xhtml, css, usabilità, design, cms, webmarketing e Seo, Wordpress specialist. Membro del progetto Piperita Lab e dell'IWA Italy Visita il mio sito personale Lauryn.it e contattami pure per un preventivo gratuito.

homeSito personale|archiveArchivio autore

52 Commenti

  1. Emanuele (11 comments)
    Scritto il 11 aprile 2011 alle 11:42

    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?

  2. Lauryn (4284 comments)
    Scritto il 11 aprile 2011 alle 11:50

    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.

  3. Emanuele (11 comments)
    Scritto il 11 aprile 2011 alle 12:07

    capito grazie :)

  4. Manuxxon N (86 comments)
    Scritto il 11 aprile 2011 alle 14:08

    Articolo utile.

    A me è capitato di dover spostare l’intero wordpress sulla root ma in quel caso occorrono due database. Così è sicuramente più semplice :)

  5. Lauryn (4284 comments)
    Scritto il 11 aprile 2011 alle 14:32

    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…

  6. Manuxxon N (86 comments)
    Scritto il 11 aprile 2011 alle 15:37

    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 :)

  7. helen (98 comments)
    Scritto il 12 aprile 2011 alle 12:04

    :)

  8. scienzedellevanghe (6 comments)
    Scritto il 28 aprile 2011 alle 14:54

    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()

  9. valentina (14 comments)
    Scritto il 4 giugno 2011 alle 13:14

    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..

  10. scienzedellevanghe (6 comments)
    Scritto il 5 giugno 2011 alle 09:58

    @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’);

  11. ila (5 comments)
    Scritto il 25 luglio 2011 alle 10:05

    Fatto tutto ma non funziona.
    Per curiosità ho aperto il file .htaccess dopo l’operazione e risulta vuoto.
    Che fare secondo voi? (desperation)

  12. Lauryn (4284 comments)
    Scritto il 25 luglio 2011 alle 10:25

    è proprio lì il problema. scrivici questa roba: http://www.wordpress-it.it/forum/topic.php?id=1236 ;)

  13. Nike (1 comments)
    Scritto il 20 novembre 2011 alle 20:23

    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?

  14. Lauryn (4284 comments)
    Scritto il 20 novembre 2011 alle 21:05

    il file .htaccess deve stare dove sta la index, per cui devi cancellarne uno ;)

  15. Antonio Lupo (5 comments)
    Scritto il 24 dicembre 2011 alle 23:51

    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.

  16. Lauryn (4284 comments)
    Scritto il 26 dicembre 2011 alle 11:32

    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?

  17. Antonio Lupo (5 comments)
    Scritto il 27 dicembre 2011 alle 12:57

    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!

  18. Lauryn (4284 comments)
    Scritto il 27 dicembre 2011 alle 13:11

    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 :D

  19. Antonio Lupo (5 comments)
    Scritto il 27 dicembre 2011 alle 13:16

    Si questo lo so :P 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 :-(

  20. Antonio Lupo (5 comments)
    Scritto il 27 dicembre 2011 alle 13:28

    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 ;-)

  21. Lauryn (4284 comments)
    Scritto il 27 dicembre 2011 alle 14:18

    di niente, figurati, sapevo che prima o poi avresti risolto.
    ps grazie!! :)

  22. Mario (20 comments)
    Scritto il 6 gennaio 2012 alle 13:01

    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”.

  23. Lauryn (4284 comments)
    Scritto il 6 gennaio 2012 alle 16:52

    giusto, un ottimo consiglio. grazie Mario!

  24. scienzedellevanghe (6 comments)
    Scritto il 6 gennaio 2012 alle 19:20

    @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

  25. Mario (20 comments)
    Scritto il 6 gennaio 2012 alle 19:37

    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.

  26. Cristina (1 comments)
    Scritto il 12 gennaio 2012 alle 16:48

    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?

  27. scienzedellevanghe (6 comments)
    Scritto il 12 gennaio 2012 alle 21:11

    Forse sarebbe meglio usare un client ftp
    http://vademecum.aruba.it/cgi-bin/cerca/search.pl?q=filezilla

  28. roberto (41 comments)
    Scritto il 14 gennaio 2012 alle 01:31

    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!!

  29. manuele (4 comments)
    Scritto il 19 gennaio 2012 alle 16:14

    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!

  30. Lauryn (4284 comments)
    Scritto il 19 gennaio 2012 alle 16:25

    non hai spostato anche l’htaccess se ti fa così :)

  31. manuele (4 comments)
    Scritto il 19 gennaio 2012 alle 16:28

    I file .htaccess e index.php vanno copiati non spostati

  32. Lauryn (4284 comments)
    Scritto il 19 gennaio 2012 alle 16:59

    no, vanno spostati :) prova e svelerai il mistero :)

  33. irene (6 comments)
    Scritto il 31 gennaio 2012 alle 12:33

    aiuto, non mi viene permesso di modificare: Sito Web (URL)….ma perchè????
    e inoltre dove vanno spostati i 2 file?

  34. Lauryn (4284 comments)
    Scritto il 31 gennaio 2012 alle 15:18

    nella root principale…

  35. drugo (1 comments)
    Scritto il 31 gennaio 2012 alle 16:00

    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?

  36. irene (6 comments)
    Scritto il 31 gennaio 2012 alle 18:13

    ok nella root principale, ma se non mi viene permesso di modificare l’ indirizzo come faccio??

  37. Lauryn (4284 comments)
    Scritto il 31 gennaio 2012 alle 18:47

    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 :)

  38. irene (6 comments)
    Scritto il 31 gennaio 2012 alle 21:53

    ho top host..

  39. irene (6 comments)
    Scritto il 31 gennaio 2012 alle 22:26

    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!

  40. irene (6 comments)
    Scritto il 31 gennaio 2012 alle 22:28

    mi correggo…è il contrario!!

  41. daniela (8 comments)
    Scritto il 3 febbraio 2012 alle 18:22

    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….

  42. Lauryn (4284 comments)
    Scritto il 3 febbraio 2012 alle 19:04

    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 :D
    leggi piano :D ce la puoi fare!

  43. daniela (8 comments)
    Scritto il 3 febbraio 2012 alle 19:15

    fatto!!! grazie mille per il sostegno! :D

  44. Lauryn (4284 comments)
    Scritto il 3 febbraio 2012 alle 19:17

    figurati, ci sono passata anche io e all’inizio ti manda in panico, ma una volta che capisci il meccanismo è una pacchia. buon lavoro!

  45. TheJoe (3 comments)
    Scritto il 25 febbraio 2012 alle 15:47

    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?

  46. Antonio Lupo (5 comments)
    Scritto il 25 febbraio 2012 alle 16:10

    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

  47. TheJoe (3 comments)
    Scritto il 25 febbraio 2012 alle 17:16

    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?

  48. Emanuele (11 comments)
    Scritto il 25 febbraio 2012 alle 17:55

    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?

  49. Emanuele (11 comments)
    Scritto il 25 febbraio 2012 alle 17:56

    Come faccio ora ad entrare nel pannello di controllo di amministrazione?

  50. mirko (5 comments)
    Scritto il 27 febbraio 2012 alle 18:05

    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???

  51. Caterina (3 comments)
    Scritto il 26 aprile 2012 alle 21:39

    Grazie tantissimo!

  52. Emanurele (1 comments)
    Scritto il 28 aprile 2012 alle 20:53

    Avevo gia risolto Grazie comunque Lauryn

Scrivi un commento!

© 2012 Italian webdesign. Diritti riservati. Ideato da Laura Gargiulo - Icone di Komodo Media - Logo di W3B.